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

Pygame数独求解器按键无响应问题求助

数独求解器按键无响应问题排查

常见问题点及修复方案

  • 事件处理逻辑顺序错误:确保KEYDOWN事件在主循环中被正确监听,且和点击事件在同一个事件循环分支里。示例代码框架:
    while running:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False
            elif event.type == pygame.MOUSEBUTTONDOWN:
                # 处理单元格点击,赋值clicked_cell
                clicked_cell = (row, col)
                print(clicked_cell)
            elif event.type == pygame.KEYDOWN:
                # 先确认有选中的单元格
                if clicked_cell is not None:
                    # 匹配1-9数字键
                    if pygame.K_1 <= event.key <= pygame.K_9:
                        num = event.key - pygame.K_0
                        # 更新二维数组对应位置
                        sudoku_grid[clicked_cell[0]][clicked_cell[1]] = num
                        # 强制刷新网格绘制
                        draw_grid()
                        pygame.display.update()
    
  • clicked_cell未持久化:按下按键时检查clicked_cell是否为None——如果点击后变量被意外重置,按键逻辑会直接跳过。可以在KEYDOWN事件开头加一行print(clicked_cell)验证。
  • 按键判断方式不可靠:避免用event.unicode判断(易受输入法影响),直接用Pygame提供的K_1到K_9常量做范围判断更稳定。
  • 主循环中断:确保主循环持续运行,点击单元格后代码没有进入阻塞逻辑,否则事件队列无法处理按键输入。

@Gooberton 请问我之前上传的9×9网格图和代码图还存在吗?如果已经丢失,我会重新上传完整的代码片段。

内容的提问来源于stack exchange,提问作者Am 2_20

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 17:22:46