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

自制Cookie Clicker游戏点击无加分,如何实现点击加cookie功能?

问题分析与修复方案

你的Cookie Clicker游戏点击按钮后分数不更新的核心问题是:修改money变量后没有同步更新绑定到标签的StringVar,同时冗余的update()函数并没有起到实际作用。

具体问题点

  1. click()函数中修改了money的值,但从未更新cool这个StringVar,导致标签无法获取新的数值。
  2. update()函数是多余的——使用textvariable绑定StringVar后,标签会自动随StringVar的变化刷新,无需重复调用config方法。

修复后的代码

import tkinter
from tkinter import *

points = 100
money = 100
bonus = 100

def click():
    global points
    global money
    global bonus
    points += bonus
    money += points
    # 更新StringVar,标签会自动同步显示新数值
    cool.set(f'Cookies: {money}')

game = Tk()

cool = tkinter.StringVar()
cool.set(f'Cookies: {money}')

# 修正font参数的写法(可选,原写法不影响功能)
cookies = Label(game, textvariable=cool, font=("Arial", 14))
cookies.grid(row=0, column=0)
cookie = Button(game, text='\nCookie\n', font=("Arial", 20), command=click).grid(row=1, column=0)

game.mainloop()

关键修改说明

  • 在click()函数末尾添加cool.set(f'Cookies: {money}'),每次点击按钮后手动更新StringVar,触发标签内容自动刷新。
  • 删除了无用的update()函数和game.after()调用,简化代码逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 03:22:07