|  | 
 
| 
#乌龟和鱼游戏190202 完美版
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  import random
 import matplotlib.pyplot as plt
 class Fish:
 def __init__(self):
 self.posx = random.randint(0,10)
 self.posy = random.randint(0,10)
 self.speed = [0,0]
 print('鱼的初始化位置:{},{}'.format(self.posx,self.posy))
 #plt.plot(self.posx,self.posy,'go')
 
 def move(self):
 xs = [self.posx,0]
 ys = [self.posy,0]
 self.speed = [random.randint(-1,1),random.randint(-1,1)]
 self.posx = self.posx + self.speed[0]
 self.posy = self.posy + self.speed[1]
 xs[1] = self.posx
 ys[1] = self.posy
 if self.posx < 0:
 self.posx = -self.posx
 if self.posy < 0:
 self.posy = -self.posy
 if self.posx > 10:
 self.posx = 10 - (self.posx - 10)
 if self.posy > 10:
 self.posy = 10 - (self.posy - 10)
 print('鱼的新坐标为{},{}'.format(self.posx,self.posy))
 #plt.plot(xs,ys,'g*-')
 plt.plot(self.posx,self.posy,'g*')
 return self.posx,self.posy
 
 class Turtle:
 def __init__(self):
 self.posx = random.randint(0,10)
 self.posy = random.randint(0,10)
 self.strength = 100
 self.speed = [0,0]
 print('乌龟的初始化位置:{},{},体力为{}'.format(self.posx,self.posy,self.strength))
 #plt.plot(self.posx,self.posy,'ro')
 def move(self):
 xs = [self.posx,0]
 ys = [self.posy,0]
 self.speed = [random.randint(-2,2),random.randint(-2,2)]
 self.posx = self.posx + self.speed[0]
 self.posy = self.posy + self.speed[1]
 xs[1] = self.posx
 ys[1] = self.posy
 if self.posx < legal_x[0]:
 self.posx = -self.posx
 if self.posy < legal_y[0]:
 self.posy = -self.posy
 if self.posx > legal_x[1]:
 self.posx = 10 - (self.posx - 10)
 if self.posy > legal_y[1]:
 self.posy = 10 - (self.posy - 10)
 self.strength -= 1
 print('乌龟的新坐标为{},{},体力为{}'.format(self.posx,self.posy,self.strength))
 #plt.plot(xs,ys,'ro-')
 plt.plot(self.posx,self.posy,'ro')
 
 return self.posx,self.posy
 def eat(self):
 self.strength += 20
 if self.strength > 100:
 self.strength = 100
 
 legal_x = [0, 10]
 legal_y = [0, 10]
 turtle = Turtle()
 fish = []
 for i in range(30):
 fish.append(Fish())
 print('鱼和乌龟实例化完成')
 
 while True:
 if not len(fish):
 print('鱼被吃完了,游戏结束!')
 break
 if not turtle.strength:
 print('乌龟体力耗尽,游戏结束')
 break
 pos = turtle.move()
 for each in fish:
 if each.move() == pos:
 turtle.eat()
 fish.remove(each)
 print('有一条鱼被吃掉了')
 plt.pause(0.1)
 plt.cla()
 plt.axis([legal_x[0],legal_x[1],legal_y[0],legal_y[1]])
 plt.title('{}fish left\nturtle\'s strength:{}'.format(len(fish),turtle.strength))
 plt.ion()
 | 
 |