python火柴人打架代码?

python火柴人打架代码?,第1张

# 定拆手义一个火柴人类

class MatchstickMan:

# 初始化函数,用于设置火柴人的初始值

def __init__(self, name, health, attack):

self.name = name

self.health = health

self.attack = attack

# 定义一个函数,用于旅羡嫌让火柴人攻派念击其他火柴人

def attack_other(self, other):

# 如果对方的血量大于攻击力,则扣除对方的血量,否则将对方的血量设为 0

if other.health >self.attack:

other.health -= self.attack

else:

other.health = 0

# 创建两个火柴人对象

player1 = MatchstickMan("player1", 10, 3)

player2 = MatchstickMan("player2", 10, 3)

# 让 player1 攻击 player2,打击 player2 的血量

player1.attack_other(player2)

# 打印 player2 的剩余血量

print(player2.health) # 输出:7

刚好我也遇到这个问题,题主情况是否是当小人跳上平台后,小人就静止不动了?

如果是这种情况则可以解决。

题主应该是直接用的书上的代码昌游消,但是我后面检查发现有一个错误:

for sprite in self.game.sprites:

if sprite==self:

continue

sprite_co=sprite.coords()

if top and self.y<0 and collided_top(co,sprite_co):

self.y=-self.y

top=False

if bottom and self.y>0 and collided_bottom(self.y,\

co,sprite_co):

self.y=sprite_co.y1-co.y2#使火柴人刚好落到平台上

if self.y<0:

self.y=0

bottom=False

top=False

if bottom and falling and self.y==0 \

and co.y2<self.game.canvas_height\

and collided_bottom(1,co,sprite_co):

falling=False

if left and self.x<0 and collided_left(co,sprite_co):

self.x=-2 #此处原本为self.x=0

left=False

if right and self.x>0 and collided_right(co,sprite_co):

self.x=2 #此处原本为self.x=0

right=False

错误之处就在上面标注的地方,原因就是书上将小人跳上平台后的磨空移动速度设置为0了,所以会导致小人站在平台上不动。

改了之后游戏可以运行,直接关闭游戏窗口会出现耐知题主发出的错误,但没关系了,游戏已经可以跑了。。。。

希望对你有用。

A: 你可以使用用 JavaScript、HTML 和 CSS 可以来构建一个火柴人大战大作战的游戏。

首先,你需要创建一个 HTML 网页,这网页应该包含两个玩家的位置和一堆火柴人。

然后你需要编写举橘 JavaScript 代码,这仿指些代码将用来响应用户输入,并让火柴人动起来。

最后,你可以使用 CSS 代码来给网页加上美化—它将是一堆正大团线条,很可能使用不同的颜色来区分 if 两位玩家。

由于这是一个复杂的游戏,因此你也可以使用 JavaScript 模块管理程序,例如 require.js 或 browserify。这将使你能够使代码变得更易于维护和编写。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12426453.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存