|

楼主 |
发表于 2020-11-26 17:45:27
|
显示全部楼层
本帖最后由 小伤口 于 2020-11-26 23:12 编辑
import random as r
class Wugui:
def __init__(self):
self.nengliang=100
def move1(self):
self.x=r.randint(0,10)
self.y=r.randint(0,10)
x1=self.x+r.choice([1,-1,2,-2])
y1=self.y+r.choice([1,-1,2,-2])
if x1<0:
self.x=-x1
elif x1>10:
self.x=10-(x1-self.x)
else:
self.x=x1
if y1<0:
self.y=-y1
elif y1>10:
self.y=10-(y1-self.y)
else:
self.y=y1
self.nengliang=self.nengliang-1
return(self.x,self.y)
def tili(self):
self.nengliang+=20
if self.nengliang>100:
self.nengliang=100
class Fish:
def leave(self):
self.a=r.randint(0,10)
self.b=r.randint(0,10)
a1=self.a+r.choice([1,-1])
b1=self.b+r.choice([1,-1])
if a1<0:
self.a=-a1
elif a1>10:
self.a=10-(a1-self.a)
else:
self.a=a1
if b1<0:
self.b=-b1
elif b1>10:
self.b=10-(b1-self.b)
else:
self.b=b1
return(self.a,self.b)
c=Wugui()
d=[]
for i in range(0,10):
e=Fish()
d.append(e)
while True:
f=len(d)
if f==0:
print('鱼儿被吃光了')
break
if c.nengliang==0:
print('龟龟被累死了')
break
pos=c.move1()
for i in d[:]:
if i.leave()==pos:
c.tili()
d.remove(i)
print('有一条鱼儿被吃了')
这样好像还是不行 |
|