zoukankan      html  css  js  c++  java
  • 乌龟吃小鱼游戏

     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('小乌龟:嘻嘻~!')
  • 相关阅读:
    java核心学习(十六) javaIO框架---Process类的流,读写其他进程
    java核心学习(十五) IO框架---重定向标准输入输出
    java核心学习(十四) IO框架---推回输入流
    java核心学习(十三) IO框架---转换流和缓冲流
    java核心学习(十二) IO框架---理解IO流
    递推+矩阵快速幂 HDU 2065
    树形DP hdu1520
    二分图之最小路径覆盖 HDU1151
    二分图之最小独立集 HDU 2768
    最短路 POJ2267
  • 原文地址:https://www.cnblogs.com/themost/p/6440967.html
Copyright © 2011-2022 走看看