问题描述
我使用 pygame 在 python 中创建了一个数独求解器。当前,当用户点击空格键时,这可以解决板子问题。我想升级游戏,以便用户可以在板上输入数字。我不确定如何获取输入和更新板显示。还有我应该添加的任何其他功能吗?
unsolved_board = [
[8,0],[0,3,6,7,9,2,5,4,1,8],8,0]
]
def draw_numbers():
row = 0
offset = 37
while row < 9:
col = 0
while col < 9:
output = unsolved_board[row][col]
n_text = font.render(str(output),True,pg.Color("black"))
screen.blit(n_text,pg.Vector2((col*80)+offset,(row*80)+offset))
col += 1
row += 1
def draw_background():
screen.fill(pg.Color("white"))
pg.draw.rect(screen,pg.Color("black"),pg.Rect(15,15,720,720),10)
i = 1
while (i*80) < 720:
if i%3 == 0:
width = 7
else:
width = 3
pg.draw.line(screen,pg.Vector2((i*80)+15,15),735),width)
pg.draw.line(screen,pg.Vector2(15,(i*80)+15),pg.Vector2(735,width)
i+=1
def game_loop():
for event in pg.event.get():
if event.type == pg.QUIT:
sys.exit()
if event.type == pg.KEYDOWN:
if event.key == pg.K_SPACE:
new_board = solve_sudoku(unsolved_board)
if event.type == pg.MOUSEBUTTONUP:
pos = pg.mouse.get_pos()
print(pos)
draw_background()
draw_numbers()
pg.display.flip()
def main():
clock = pg.time.Clock()
while True:
clock.tick(FPS)
game_loop()
if __name__ == "__main__":
main()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)