类和对象课后作业
import random
class Turtle:
def creat(self):
return
def moving(self,pos_x,pos_y):
self.pos_x=pos_x
self.pos_y=pos_y
step_x=random.randint(-2,2)
step_y=random.randint(-2,2)
new_pos_x=self.pos_x+step_x
if new_pos_x>10:
new_pos_x-=10
if new_pos_x<0:
new_pos_x*=-1
new_pos_y=self.pos_y+step_y
if new_pos_y>10:
new_pos_y-=10
if new_pos_y<0:
new_pos_y*=-1
return
class Fish:
def __init__(self):
self.step=random.randint(-1,1)
self.pos_x=random.randint(0,11)
self.pos_y=random.randint(0,11)
def creat(self):
return
def moving(self,pos_x,pos_y):
self.pos_x=pos_x
self.pos_y=pos_y
step_x=random.randint(-1,1)
step_y=random.randint(-1,1)
new_pos_x=self.pos_x+step_x
if new_pos_x>10:
new_pos_x-=10
if new_pos_x<0:
new_pos_x*=-1
new_pos_y=self.pos_y+step_y
if new_pos_y>10:
new_pos_y-=10
if new_pos_y<0:
new_pos_y*=-1
return
t=Turtle()
tt=t.creat()
f=Fish()
mylist=[]
for i in range(1,11):
ff=f.creat()
mylist.append(ff)
count=101
while count>0:
if mylist!=[]:
if tt in mylist:
print('恭喜你吃了一条鱼,体力加20!')
mylist.remove(tt)
count+=20
else:
count-=1
print(tt,'\n',mylist)
else:
print('恭喜您,victory')
break
t=Turtle()
tt=t.moving(tt,tt)
for i in range(len(mylist)-1):
a=Fish()
b=a.moving(mylist,mylist)
mylist.remove(mylist)
mylist.insert(i,b)
else:
print('体力为0,游戏结束')
达不到要求啊,咋改改 你想要的效果? 这几个步子数错了,因为这样的话会选到 0 ,你应该弄一个列表比如 turtle_move=[-2,-1,1,2] 然后用 choice 来随机选择
step_x=random.randint(-2,2)
step_y=random.randint(-2,2)
self.step=random.randint(-1,1)
后面的没怎么看了,头晕哈哈 看一大串程序,真的晕,哈哈哈 Twilight6 发表于 2020-6-8 18:36
这几个步子数错了,因为这样的话会选到 0 ,你应该弄一个列表比如 turtle_move=[-2,-1,1,2] 然后用 choice...
我要的选择里也有不动也就是0,我想写自己要的效果 Twilight6 发表于 2020-6-8 18:36
这几个步子数错了,因为这样的话会选到 0 ,你应该弄一个列表比如 turtle_move=[-2,-1,1,2] 然后用 choice...
确实挺长的,我还很意外才改了2次代码就没报错了,就是跑出来的结果有点迷 Twilight6 发表于 2020-6-8 18:36
这几个步子数错了,因为这样的话会选到 0 ,你应该弄一个列表比如 turtle_move=[-2,-1,1,2] 然后用 choice...
朋友,最佳在向你招手,干了它 加油{:10_245:}
页:
[1]