|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import random as r
- class Turtle:
- def __init__(self):
- #初始体力
- self.power=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])
- #检查是否超过X边界
- if new_x<0:
- self.x=-new_x
- elif new_x>10:
- self.x=20-new_x
- else:
- self.x=new_x
- #检查是否超过Y边界
- if new_y<0:
- self.y=-new_y
- elif new_y>10:
- self.y=20-new_y
- else:
- self.y=new_y
- #体力消耗
- self.power-=1
- [color=Red][b] return self.x,self.y[/b][/color]
- def eat(self):
- self.power+=20
- if self.power>100:
- self.power=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])
- #检查是否超过X边界
- if new_x<0:
- self.x=-new_x
- elif new_x>10:
- self.x=20-new_x
- else:
- self.x=new_x
- #检查是否超过Y边界
- if new_y<0:
- self.y=-new_y
- elif new_y>10:
- self.y=20-new_y
- else:
- self.y=new_y
- [color=Red][b]return self.x,self.y[/b][/color]
- tt=Turtle()
- fish=[]
- for each in range(10):
- newfish=Fish()
- fish.append(newfish)
- while True:
- if len(fish)==0:
- print("鱼儿被吃光了,游戏结束!")
- break
- if not tt.power:
- print("爬不动了,游戏结束!")
- break
- pos=tt.move()
- for each_fish in fish:
- if each_fish.move()==pos:
- tt.eat()
- fish.remove(each_fish)
- print("有一条鱼儿挂了!")
-
-
- print("Game is over!")
复制代码
弄不懂为什么必须设置返回self.x和self.y,不然会有问题。而self.power没设置返回却没有问题,记得小甲鱼讲过函数如果没有retrun,则返回None
|
|