机器人编程挑战python

时间:2023-03-08 23:40:21
机器人编程挑战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中运行的下列代码之一的注释