Python 乌龟吃鱼问题求解

题目要求:
1. 游戏场景范围 (x, y), 0 <= x <= 10, 0 <= y <= 10 

2. 游戏生成 1 只乌龟, 10 只鱼

3. 它们的移动方向随机

4. 乌龟最大移动能力为 2, 鱼最大移动能力为 1

5. 当移动到场景边缘, 自动向反方向移动

6. 乌龟初始体力值为 100

7. 乌龟每移动一次, 体力消耗 1

8. 当乌龟和鱼坐标重叠, 乌龟吃掉鱼, 乌龟体力加 20

9. 鱼暂不计算体力

10. 当乌龟体力值为 0, 或者鱼的数量为 0, 游戏结束

import random as r

legal_x = [0, 10]
legal_y = [0, 10]

class Turtle:
    def __init__(self):
        self.power = 100
        self.x = r.randint(0, 10)
        self.y = r.randint(0, 10)

    def move(self):
        new_x = self.x + r.choice([1, -1, 2, -2])
        new_y = self.y + r.choice([1, -1, 2, -2])
        if new_x < 0:
            self.x = abs(new_x)
        elif new_x > 10:
            self.x = 20 - new_x
        else:
            self.x = new_x
        if new_y < 0:
            self.y = abs(new_y)
        elif new_y > 10:
     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值