鱼C论坛

 找回密码
 立即注册
查看: 3945|回复: 6

[技术交流] 乌龟吃鱼的代码

[复制链接]
发表于 2017-6-6 03:06:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
自己写了下乌龟吃鱼的代码,写作笔记。
  1. import random

  2. class Life:
  3.     #设置类
  4.     def __init__(self,name,sort):
  5.         if sort==0:
  6.             self.sort=sort
  7.             self.name='小甲鱼'
  8.             self.life=100
  9.             self.x=5
  10.             self.y=5
  11.         if sort==1:
  12.             self.sort=sort
  13.             self.name=name
  14.             self.life=200
  15.             listp=[0,1,2,3,4,6,7,8,9,10]
  16.             self.x=random.choice(listp)
  17.             self.y=random.choice(listp)
  18.     def setName(self,name):
  19.         self.name=name
  20.     def eatfish(self):
  21.             self.life+=20
  22.     def move_1(self):
  23.         dirc=random.randint(1,5)
  24.         if dirc==1:
  25.             if self.y==0:
  26.                 self.y+=1
  27.             else:
  28.                 self.y-=1
  29.         elif dirc==2:
  30.             if self.y==10:
  31.                 self.y-=1
  32.             else:
  33.                 self.y+=1
  34.         elif dirc==3:
  35.             if self.x==0:
  36.                 self.x+=1
  37.             else:
  38.                 self.x-=1
  39.         elif dirc==4:
  40.             if self.x==10:
  41.                 self.x-=1
  42.             else:
  43.                 self.x+=1
  44.     def move_2(self):
  45.         self.move_1()
  46.         self.move_1()
  47.     def move(self):
  48.         if self.sort==0:
  49.             self.life-=1
  50.             pace=random.randint(1,3)
  51.             if pace==1:
  52.                 self.move_1()
  53.             else:
  54.                 self.move_2()
  55.         else:
  56.             self.move_1()
  57.         
  58. def game_eat_fish():
  59.     #生成一龟十鱼
  60.     p=Life('',0)
  61.     fishs=[]
  62.     for i in range(10):
  63.         fishc=Life('fish'+str(i+1),1)
  64.         fishs.append(fishc)
  65.     ch_n=input('是否起名(y or n):')
  66.     if ch_n=='y':
  67.         name=input('请起名:')
  68.         p.setName(name)
  69.     cnt=0
  70.     print (cnt)
  71.     #win_print():
  72.         #输出界面
  73.     while 1:
  74.         #开始游戏
  75.         p.move()
  76.         for j in fishs:
  77.             j.move()
  78.             if p.x==j.x and p.y==j.y:
  79.                 p.eatfish()
  80.                 fishs.remove(j)           
  81.         cnt=cnt+1
  82.         print (cnt)
  83.         #win_print():
  84.         #输出界面
  85.         fish_num=len(fishs)
  86.         if p.life==0 or fish_num==0:
  87.             print('life:'+str(p.life))
  88.             print('fish:'+str(fish_num))
  89.             #结束游戏
  90.             print('游戏结束')
  91.             break

复制代码

评分

参与人数 2荣誉 +3 鱼币 +5 贡献 +3 收起 理由
康小泡 + 2
小甲鱼 + 3 + 3 + 3 热爱鱼C^_^

查看全部评分

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-6-6 10:41:14 | 显示全部楼层
支持
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-6-7 17:14:46 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-6-7 17:15:19 | 显示全部楼层
欢迎大家提出问题或是改进
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-8 16:14:55 | 显示全部楼层
来个图嘛~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-8 19:42:38 | 显示全部楼层
还没有写输出界面的函数。如果不学的靠后点的知识,我只能用网格来表示
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-28 11:53:00 | 显示全部楼层
虽然做到了分享,但是没有对代码的解释,别人是不懂你的思想和你想做啥的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-9 03:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表