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('小乌龟:嘻嘻~!')