作为一个前提,我想说我是编程的新手,而且我不是计算机科学专业的学生,所以对不起,如果我的代码让您畏缩,我最近有一些python类并且很喜欢我想加深一点,所以我觉得做一个简单的象棋游戏会很有趣。
您可以想象我正在使用pygame。
就目前而言,我“画出”一个棋盘,然后将棋子涂抹在适当的位置,我的想法是,如果坐标与该被涂抹的图像的变量相同(或在范围内),我将获得每次点击的坐标会随着第二次点击而更新,我该如何进行设置,以便系统识别“第一”和“第二”点击。
import pygame as pg
import sys
pg.init()
schermo = pg.display.set_mode((640,540))
def coordinate():
while True:
for event in pg.event.get():
if event.type == pg.QUIT:
pg.quit()
sys.exit()
if event.type == pg.MOUSEBUTTONUP:
mx1, my1 = pg.mouse.get_pos()
print (mx1,my1)
return mx1,my1
pg.display.update()
这就是我得到坐标的方式
ctorrensx = (53,53)
[... omissis]
def move():
result = coordinate()
global ctorrensx
if result == ctorrensx:
ctorrensx = (200,200)
这是我关于移动功能的第一个想法,ctorrensx是我要尝试的一个示例,它们是左黑色车的坐标,一旦我单击它,我希望它移动到坐标(200,200)却没有发生。
这是我第一次使用堆栈溢出,所以我希望我不要对我的问题造成太大的困惑。 谢谢大家。
答案 0 :(得分:0)
您可以设置标志来确定点击是第一次还是第二次。 例如:
firstClick = True
while True:
for event in pg.event.get():
if event.type == pg.MOUSEBUTTONDOWN:
if(firstClick):
firstClick = False
#Code for first click
else:
#code for second click
firstClick = True #resets the flag