|
|
10鱼币
请大家帮我看看,我把小甲鱼老师的稍微改动了一下,不知道为什么运行不了
import random as r
class Turtle():
def _init_ (self):
self.x = r.randint(0,10)
self.y = r.randint(0,10)
self.power=100
def move(self):
new_x = self.x + r.choice([1,2,-1,-2])
new_y = self.y + r.choice([1,2,-1,-2])
if new_x<0:
self.x = -new_x
elif new_x>10:
self.x = 20-new_x
else:
self.x = new_x
if new_y<0:
self.y = -new_y
elif new_y>10:
self.y = 20-new_y
else:
self.y = new_y
return self.x,self.y
def eat(self):
self.power+=20
class Fish:
def _init_ (self):
self.x=r.randint(0,10)
self.y=r.randint(0,10)
def move(self):
new_x = self.x+r.choice([1,-1,])
new_y = self.y+r.choice([1,-1,])
if new_x<0:
self.x = -new_x
elif new_x>10:
self.x = 20-new_x
else:
self.x = new_x
if new_y<0:
self.y = -new_y
elif new_y>10:
self.y = 20-new_y
else:
self.y = new_y
return self.x,self.y
turtle=Turtle()
fish=[]
new_fish=Fish()
for i in range(10):
fish.append(new_fish)
while True:
if len(fish)==0:
print('鱼被吃光了,游戏结束!')
break
if turtle.power==0:
print('老甲鱼没力气了,游戏结束!')
break
pos=turtle.move()
for each_fish in fish:
if new_fish.move==pos:
fish.remove(each_fish)
print('有一条鱼被吃掉了!')
turtle.eat()
问题1,你所有魔法方法都是单下划线,应该用双下划线
|
最佳答案
查看完整内容
问题1,你所有魔法方法都是单下划线,应该用双下划线
|