乌龟吃小鱼游戏

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

 

posted @ 2017-02-25 09:49  道高一尺  阅读(416)  评论(0)    收藏  举报