You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python点击器游戏:如何阻止满足条件的if语句重复执行?

解决点击器游戏成就重复触发的问题

问题核心是没有记录成就的解锁状态,每次点击只要点击数达标就会重复触发提示。要修复这个问题,只需添加一个状态变量来跟踪成就是否已经解锁,只有在未解锁且点击数达标的情况下才触发提示,并标记成就为已解锁。

修改后的代码示例:

# 初始化全局变量
x = 0
y = 1
achievement_1_unlocked = False  # 新增成就状态变量

def clicks():
    global x
    global y
    global achievement_1_unlocked
    x = x + y
    print(x, "clicks")

    # 1000 clicks 成就判断
    if x >= 1000 and not achievement_1_unlocked:
        print('Achievement Unlocked: Clicker Beginner! (Achievement 1/7)')
        achievement_1_unlocked = True  # 标记成就已解锁

关键修改点:

  • 新增achievement_1_unlocked全局变量,初始值为False,代表成就未解锁
  • 判断条件增加and not achievement_1_unlocked,确保只有未解锁时才触发提示
  • 触发成就后立即将achievement_1_unlocked设为True,避免后续重复触发

如果需要添加更多成就,只需为每个成就单独设置对应的状态变量(比如achievement_2_unlocked、achievement_3_unlocked等),重复上述逻辑即可。

内容的提问来源于stack exchange,提问作者wackyninja303

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 00:35:20