1 import random as r 2 3 class Turtle: 4 def __init__(self): 5 self.power = 100 #初始化体力 6 self.tx = r.randint(0,10) 7 self.ty = r.randint(0,10)#随机出场位置 8 9 def move(self): 10 t_dir = r.choice([-2,-1,1,2]) 11 newtx = self.tx + t_dir 12 newty = self.ty + t_dir 13 14 if newtx < 0: 15 self.tx = 0 - newtx 16 elif newtx > 10: 17 self.tx = 10 - (newtx - 10) 18 elif newty < 0: 19 self.ty = 0 - newty 20 elif newty > 10: 21 self.ty = 10 - (newty - 10) 22 elif 0<= newtx <= 10: 23 self.tx = newtx 24 elif 0 <= newty <= 10: 25 self.ty = newty #以上判断x轴、y轴是否出界 26 27 return(self.tx,self.ty) 28 self.power -= 1#每移动一次体力-1 29 30 def eat(self): 31 self.power += 20 32 if self.power > 100: 33 self.power = 100 34 35 36 37 class Fish: 38 def __init__(self): 39 self.fx = r.randint(0,10) 40 self.fy = r.randint(0,10) 41 42 def move(self): 43 f_dir = r.choice([-1,1]) 44 newfx = self.fx + f_dir 45 newfy = self.fy + f_dir 46 47 if newfx < 0: 48 self.fx = 0 - newfx 49 elif newfx > 10: 50 self.fx = 10 - (newfx - 10) 51 elif newfy < 0: 52 self.fy = 0 - newfy 53 elif newfy > 10: 54 self.fy = 10 - (newfy - 10) 55 elif 0<= newfx <= 10: 56 self.fx = newfx 57 elif 0 <= newfy <= 10: 58 self.fy = newfy #以上判断x轴、y轴是否出界 59 60 return(self.fx,self.fy) 61 62 63 t = Turtle() 64 fish = [] 65 66 for i in range(10): 67 newfish = Fish() 68 fish.append(newfish)#随机产生十条鱼 69 70 while True: 71 if not len(fish): 72 print('鱼都被吃光了!') 73 break 74 if t.power == 0: 75 print('小乌龟游尽了最后的气力!') 76 break 77 pos = t.move() 78 79 for each_fish in fish[:]: 80 if each_fish.move() == pos: 81 #鱼被干掉 82 t.eat() 83 fish.remove(each_fish) 84 print('有一条鱼被吃掉了!') 85 print('小乌龟:嘻嘻~!')