python代码实现滚铁环游戏

代码解释:

  1. IronRing:

    • position: 铁圈的位置。
    • speed: 铁圈的速度。
    • roll 方法:模拟铁圈的滚动,包括速度的随机波动和位置的更新。
  2. IronHook:

    • action: 铁钩的操作描述。
    • push_ring 方法:模拟铁钩推动铁圈的操作,随机提高铁圈的速度。
  3. game_simulation 函数:

    • 创建一个 IronRing 对象和一个 IronHook 对象。
    • 在20秒的游戏时间内,不断更新铁圈的位置和速度,并模拟铁钩的推动操作。
    • 每秒钟输出铁圈的当前状态(位置和速度)。

import random
import time

class IronRing:
    def __init__(self):
        self.position = 0  # 初始位置
        self.speed = 0  # 初始速度

    def roll(self):
        # 模拟铁圈滚动,位置增加,速度有随机变化
        self.speed += random.uniform(-0.5, 0.5)  # 速度的随机波动
        self.position += self.speed
        # 保证速度不会负值
        if self.speed < 0:
            self.speed = 0

class IronHook:
    def __init__(self):
        self.action = "推动"  # 铁钩的操作

    def push_ring(self, iron_ring):
        # 模拟铁钩推动铁圈的操作
        if random.random() < 0.8:  # 80%的成功概率
            iron_ring.speed += random.uniform(0.5, 1.5)  # 增加速度
        print(f"铁钩正在{self.action}铁圈")

def game_simulation():
    print("滚铁环游戏开始!")
    iron_ring = IronRing()
    iron_hook = IronHook()
    game_time = 20  # 游戏时间(秒)

    start_time = time.time()
    while time.time() - start_time < game_time:
        iron_ring.roll()
        iron_hook.push_ring(iron_ring)
        print(f"当前铁圈的位置: {iron_ring.position:.2f}, 速度: {iron_ring.speed:.2f}")
        time.sleep(1)  # 每秒钟更新一次状态

    print(f"游戏结束!铁圈最终的位置: {iron_ring.position:.2f}, 速度: {iron_ring.speed:.2f}")

if __name__ == "__main__":
    game_simulation()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值