import time
import keyboard
import tkinter as tk
from tkinter import *
from tkinter.font import Font
from tkinter import Image
import os
miners = 0
stone = 0
test = 0
czas = time.sleep(8)
automine = 0
root = tk.Tk()
root.title("Let s Mine!")
bigfont = Font(family='Franklin Gothic Medium', size=42,weight='bold',slant='roman',underline=0,overstrike=0)
root.geometry("720x1080")
root.configure(bg="#add8e6")
l = Label(root, text = "LET'S MINE!",font=bigfont,bg="#add8e6", fg= "#ededd0")
l.grid(row=0,column=0)
l.pack()
w = Canvas(root, width=720, height=200)
photo = PhotoImage(file = r"C:\Users\RUDY RYC\Desktop\Adam\projekty\gra\stone.png")
w.configure(bg='#90EE90')
def mine():
global stone
time.sleep(5)
stone += stone
stone1.config(text=stone)
x = Button(root, text="MINE STONE!", image=photo, command=mine)
stone1 = Label(root, text = stone, height=20, bg="#add8e6")
stone1.pack(side=tk.TOP)
x.configure(font=bigfont, height=150, width=150)
x.pack()
w.pack(side=tk.BOTTOM)
root.mainloop
while True:
answer = input("Co chcesz zrobić?")
if answer == "mine" and test == 0:
test = 1
if test == 1:
test = 0
print("Mining stone...")
time.sleep(5)
stone = stone+1
if answer == "gornik" and stone >= 2:
print('Poczekaj 4 Sekundy')
time.sleep(4)
print("Pomyslnie zdobyto Gornika")
miners = miners+1
stone = stone-2
print("Masz teraz" + " " + str(miners) + " " + "Górników")
elif stone < 2 and answer == "gornik":
print('Nie masz wystarczajacej ilosci Kamienia')
if miners >= 2 and answer == "automine":
automine = 1
print('You turned on automatic mining')
我正在尝试制作类似于 Minecraft 世界中的采矿和其他内容的基本游戏。问题是每次发生我的事情时,我都试图用计数器(我的意思是 w
)刷新标签,但它不起作用。任何想法我做错了什么?我试过刷新 root
和 w.update
。
答案 0 :(得分:0)
接下来的问题是您有两个不同的程序,这里只有一个关于第一个程序的问题,您的 mine()
函数有点偏离。
您的函数应如下所示:
def mine():
global stone
stone += 1
stone1.config(text=str(stone))
stone1.update()
time.sleep(5)
有了这个功能,它工作得很好。
(P.S:你混淆了顶层几何中的宽度和高度。使它:root.geometry("1080x720")