|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
自己写了大部分,就差吃鱼的没写好。参照了鱼兄的。
- 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()
复制代码 |
|