乌龟吃鱼
自己写了大部分,就差吃鱼的没写好。参照了鱼兄的。import random as r
class Turtle:
def __init__(self):
self.live=100
self.x=r.randint(0,10)
self.y=r.randint(0,10)
def move(self):
new_x=self.x+r.choice([-2,-1,1,2])
new_y=self.y+r.choice([-2,-1,1,2])
if new_x>10 :
self.x=10-(new_x-10)
elif new_x<0:
self.x=abs(new_x)
else:
self.x=new_x
if new_y>10:
self.y=10-(new_y-10)
elif new_y<0:
self.y=abs(new_y)
else:
self.y=new_y
self.live-=1
return self.x,self.y
def eat(self):
self.live+=20
if self.live>100:
self.live=100
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>10 :
self.x=10-(new_x-10)
elif new_x<0:
self.x=abs(new_x)
else:
self.x=new_x
if new_y>10:
self.y=10-(new_y-10)
elif new_y<0:
self.y=abs(new_y)
else:
self.y=new_y
return self.x,self.y
def gamestart():
while True:
if turtle.live==0:
print("乌龟饿死了,游戏结束")
break
if len(fishs)==0:
print("鱼被吃光了,游戏结束")
break
turtle_pos=turtle.move()
for each_fish in fishs:
if each_fish.move()==turtle_pos:
turtle.eat()
fishs.remove(each_fish)
print("吃掉了一条鱼,剩下%d条" % len(fishs))
fishs=[]
turtle=Turtle()
for i in range(20):
new_fish=Fish()
fishs.append(new_fish)
gamestart()
页:
[1]