|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
问题:小甲鱼课后习题,小甲鱼吃鱼的小游戏,出现了问题:
代码:
import random
fish_g = []
for i in range(0,10):
fish_g += [i]
#定义鱼类,龟类
class Fish():
def __init__(self,name):
self.name = name
self.x = random.randint(0,10)
self.y = random.randint(0,10)
def generate(self):
return self.x,self.y
def move(self):
direct = random.randint(1,4)
#判断鱼的种类,用随机函数,确定移动步伐
if self.name == "Fish":
step = 0
else:
step = 1
#判断鱼的移动方向
if direct == 1:
self.x =self.x + 1 + step*random.randint(0,1)
if direct == 2:
self.x =self.x - 1 - step*random.randint(0,1)
if direct == 1:
self.y =self.y + 1 + step*random.randint(0,1)
if direct == 1:
self.y =self.y - 1 - step*random.randint(0,1)
#判断是否出界
if self.x > 10:
self.x = 10 - (self.x - 10)
if self.y>10:
self.y = 10 -(self.y -10)
if self.x < 0:
self.x = 0 - (0 - self.x)
if self.y < 0:
self.y = 0 - (0 - self.y)
return self.x,self.y
class Turtle(Fish):
def __init__(self,phy_consumption=100):
super().__init__(Fish)
self.phy_consumption = phy_consumption
def spirit(self):
if self.phy_consumption >0:
self.phy_consumption -= 1
else:
self.phy_consumption=0
return self.phy_consumption
def eat(self):
self.phy_consumption += 20
return self.phy_consumption
def main_fish_turtle():
count=0
#随机产生鱼和乌龟
for i in range(0,10):
c1 = Fish("Fish")
fish_g[i] = c1.generate()
c2 = Turtle("Turtle")
turtle_g = c2.generate()
print(fish_g)
print(turtle_g)
for i in range(10):
if fish_g[i] == turtle_g:
del fish_g[i]
turtle_eat = c2.eat()
count +=1
print("我操,刚开始就死了%d只鱼,小乌龟去死吧!"%count)
while c2.spirit()>0:
for i in range(10-count):
fish_g[i] = c1.move()
turtle_g = c2.move()
c2.spirit()
for i in range(10-count):
if fish_g[i] == turtle_g:
del fish_g[i]
turtle_eat = c2.eat()
print("吃鱼了,吃鱼了")
count +=1
main_fish_turtle()
出现的问题是:
[(7, 5), (10, 3), (8, 9), (2, 0), (8, 4), (5, 1), (8, 9), (7, 5), (5, 2), (10, 10)]
(1, 3)
我操,刚开始就死了0只鱼,小乌龟去死吧!
Traceback (most recent call last):
File "C:\python\2.模块\Turtleeatfish.py", line 99, in <module>
main_fish_turtle()
File "C:\python\2.模块\Turtleeatfish.py", line 87, in main_fish_turtle
while c2.spirit()>0:
File "C:\python\2.模块\Turtleeatfish.py", line 54, in spirit
if self.phy_consumption >0:
TypeError: '>' not supported between instances of 'str' and 'int'
我单独拿出Turtle进行,c2.spirit()>0是可以判断的,我完全晕了,各位大哥帮下忙!
|
|