我试图用python3中的Tkinter编写一个扫雷艇。现在看看代码:
# -*- coding: utf-8 -*-
from tkinter import *
from random import *
color = "red"
case=[]
fenetre = Tk()
gamezone_x = 10
gamezone_y = 10
mines = 10
def leftclick(event):
print("Leftclicked at", event.x, event.y)
def rightclick(event):
print("Rightclicked at", event.x, event.y)
def mines_gen(mines):
while(mines>0):
x=randint(0,9)
y=randint(0,9)
print(case[x][y])
Canvas.config(case[x][y], bg="blue")
Canvas.addtag(case[x][y], "bomb")
mines-=1
for x in range(gamezone_x):
case.append([])
for y in range(gamezone_y):
case[x].append(Canvas(fenetre, width=20, heigh=20,bg="red"))
case[x][y].grid(row=x, column=y)
case[x][y].bind("<1>", leftclick)
case[x][y].bind("<3>", rightclick)
mines_gen(mines)
fenetre.mainloop()
我可以生成我的红色画布矩阵和改变蓝色随机画布。但是当我有了我的“addtag”(在mine\u gen定义中)时,程序不工作了,说 TclError:错误#args:应该是“.”。!canvas22 addtag标签搜索命令?arg…?“ 我很确定我找不到标签是如何工作的,以及如何创建/删除/查找它们,文档也帮不了我!你知道吗
如何将标签“bomb”添加到我的蓝色画布上? 谢谢你的回答,对不起我的英语,我是法国人!你知道吗
下面是对代码的一个简单更改,它将设置随机地雷。你知道吗
你不能一直打电话给
Canvas()
。你所做的就是每次创建新的画布。相反,您应该调用在case
列表中创建的canvas对象。试试下面的,让我知道如果这是你试图做的。你知道吗相关问题 更多 >
编程相关推荐