ftdzzh 发表于 2019-2-3 22:12:59

乌龟吃鱼小游戏可视化

#乌龟和鱼游戏190202 完美版
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 =
      print('鱼的初始化位置:{},{}'.format(self.posx,self.posy))
      #plt.plot(self.posx,self.posy,'go')
      
    def move(self):
      xs =
      ys =
      self.speed =
      self.posx = self.posx + self.speed
      self.posy = self.posy + self.speed
      xs = self.posx
      ys = 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 =
      print('乌龟的初始化位置:{},{},体力为{}'.format(self.posx,self.posy,self.strength))
      #plt.plot(self.posx,self.posy,'ro')
    def move(self):
      xs =
      ys =
      self.speed =
      self.posx = self.posx + self.speed
      self.posy = self.posy + self.speed
      xs = self.posx
      ys = self.posy
      if self.posx < legal_x:
            self.posx = -self.posx
      if self.posy < legal_y:
            self.posy = -self.posy
      if self.posx > legal_x:
            self.posx = 10 - (self.posx - 10)
      if self.posy > legal_y:
            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 =
legal_y =
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,legal_y,legal_y])
    plt.title('{}fish left\nturtle\'s strength:{}'.format(len(fish),turtle.strength))
    plt.ion()

理想小青年 发表于 2019-2-4 15:21:59

GUI的?

飘香一剑 发表于 2019-2-28 20:10:17

图像画不出来呀{:5_104:}

ghoob321 发表于 2019-12-2 11:09:24

自动吃鱼
页: [1]
查看完整版本: 乌龟吃鱼小游戏可视化