|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
小甲鱼的一个课后作业
问题是这样的:
输出的时候内容总是输出到一半然后就没有了
不一定是在哪一块停下的
......................(省略一部分输出)
==============================回合数:8================================
乌龟已移动到(7, 9)
第1只鱼已死亡...
第2只鱼已移动到(9, 5)
第3只鱼已移动到(5, 9)
第4只鱼已移动到(7, 1)
第5只鱼已移动到(5, 8)
第6只鱼已死亡...
第7只鱼已移动到(10, 4)
第8只鱼已死亡...
第9只鱼已移动到(10, 5)
第10只鱼已移动到(5, 5)
目前乌龟的体力为:99
==============================回合数:9================================
就像这样 输出到‘回合9’之后就没反应了
每一次都在不同的地方就没反应了,但共同点都是到‘回合数:xx’这个地方
- <div>import random
- class Turtle:
- life = 100
- pos_x = random.randint(1,10)
- pos_y = random.randint(1,10)
- def move(self):
- self.move_dir = random.randint(1,4)
- # 1--上 2--下 3--左 4--右
- self.life -= 1
- self.move_dis = random.randint(1,2)
- while self.move_dis != 0:#乌龟移动
- if self.move_dir == 1:
- if self.pos_y < 10:
- self.pos_y += 1
- self.move_dis -= 1
- else:
- self.move_dir == 2
- elif self.move_dir == 2:
- if self.pos_y > 0:
- self.pos_y -= 1
- self.move_dis -= 1
- else:
- self.move_dir = 1
- elif self.move_dir == 3:
- if self.pos_x > 0:
- self.pos_x -= 1
- self.move_dis -= 1
- else:
- self.move_dir = 4
- else:
- if self.pos_x < 10:
- self.pos_x += 1
- self.move_dis -= 1
- else:
- self.move_dir == 3
- class Fish():
- def __init__(self):
- self.life = True
- self.pos_x = random.randint(1,10)
- self.pos_y = random.randint(1,10)
- def move(self):#鱼移动
- self.move_dir = random.randint(1,4)
- if self.move_dir == 1:
- if self.pos_y < 10:
- self.pos_y += 1
- else:
- self.pos_y -= 1
- elif self.move_dir == 2:
- if self.pos_y > 0:
- self.pos_y -= 1
- else:
- self.pos_y += 1
- elif self.move_dir == 3:
- if self.pos_x > 0 :
- self.pos_x -= 1
- else:
- self.pos_x += 1
- else:
- if self.pos_x < 10:
- self.pos_x += 1
- else:
- self.pos_x -= 1
- fishlife = 10#活着的鱼只数
- print('游戏开始!')
- print('========================================================================================')
- turtle1 = Turtle()
- print('乌龟的位置:%s' % str((turtle1.pos_x,turtle1.pos_y)))
- print('目前乌龟的体力为%s' % turtle1.life)
- fish = []
- for i in range(10):
- h = i
- i = Fish()
- fish.append(i)
- print('第%s只鱼的位置:%s' % (h+1,(i.pos_x,i.pos_y)))
- count = 1#回合数
- while True:
- print('==============================回合数:%s================================' % count)
- turtle1.move()
- print('乌龟已移动到%s' % str((turtle1.pos_x,turtle1.pos_y)))
- for i in range(10):
- if fish[i].life == True:
- fish[i].move()
- if fish[i].pos_x == turtle1.pos_x and fish[i].pos_y == turtle1.pos_y :
- print('第%s只鱼已被乌龟吃掉!' % (i+1))
- turtle1.life += 20
- if turtle1.life > 100:
- turtle1.life = 100
- fish[i].life = False
- fishlife -= 1
- if fishlife == 0:
- print('鱼已经被吃光啦!')
- print('===========================================================')
- break
- else:
- print('第%s只鱼已移动到%s' % (i+1,str((fish[i].pos_x,fish[i].pos_y))))
- else:
- print('第%s只鱼已死亡...' % (i+1))
- if fishlife == 0:
- break
- if turtle1.life <= 0:
- print('乌龟累死了.....')
- print('游戏结束....')
- break
- print('目前乌龟的体力为:%s' % turtle1.life)
- count += 1</div><div>
- </div><div>
- </div>
复制代码
|
|