機器人編程挑戰python


機器人編程挑戰

要使用pip安裝模擬器,請運行pip install zombiedice(在Windows上)或pip3 install zombiedice(在macOS和Linux上)。要使用一些預先制作好的機器人運行一個演示程序,可以運行python -m zombiedice(在Windows上)或python3 -m zombiedice(在macOS和Linux上),以查看模擬器的web gui示例:

模擬器可以快速運行數百個游戲,記錄每個機器人獲得多少勝利和平局。

您將通過使用turn()方法編寫類來創建bot,當http://www.hiry.cn特產專賣網站輪到機器人時,模擬器會調用該方法。在這個turn()方法中,特產專賣網站您將盡可能頻繁地調用zombiedice.roll()函數(當然,在您的回合中至少應該調用一次)。類超出了本文的范圍,但是您可以簡單地更改myzombie.py中的turn()代碼:

進口zombiedice

類MyZombie:

def __init__(自我、名稱):

self.name =名字

def轉(自我,gameState):

# gameState是一個帶有關於游戲當前狀態信息的字典。

您可以選擇在代碼中忽略它。

第一個卷

# roll()返回一個字典,其中有鍵“brains”、“shotgun”和

#“腳步聲”,每個類型有多少卷。

# 'rolls'鍵是一個包含(顏色、圖標)元組的列表

准確的滾動結果信息。

滾動()返回值的例子:

#{‘大腦’:1,‘腳步’:1,‘獵槍’:1,

#“卷”:[(“黃色”,“大腦”)(“紅”、“腳步”),

#(“綠色”、“獵槍”)]}

你的僵屍程序的代碼邏輯在這里:

大腦= 0

而diceRollResults並不是沒有:

大腦+ = diceRollResults(“大腦”)

如果大腦小於2:

diceRollResults = zombiedice.roll() # roll再一次

其他:

打破

類AlwaysRollsTwicePerTurn:

def __init__(自我、名稱):

self.name =名字

def轉(自我,gameState):

zombiedice.roll()

zombiedice.roll()

僵屍=(

zombiedice.examples.RandomCoinFlipZombie(name =“隨機”),

zombiedice.examples。RollsUntilInTheLeadZombie(name =“直到領先”),

zombiedice.examples。MinNumShotgunsThenStopsZombie(名字='停在2槍',minShotguns=2),

zombiedice.examples。MinNumShotgunsThenStopsZombie(名字='停在1槍',minShotguns=1),

MyZombie(name =“我的僵屍機器人”),

AlwaysRollsTwicePerTurn(name = '滾兩次'),

添加其他僵屍玩家。

)

取消在CLI或Web GUI中運行的下列代碼之一的注釋


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM