个人项目总结 -- Sudoku
一、简介
Java编写数独小游戏
二、设计思路
界面设计:9*9的方格,每个方格采用继承自JButton的类来实现。点击方格有MouseListener能够出现选择框选择填写数字。
游戏开始前已经固定的数字方格用不同的背景颜色来表示。
GamePanel:游戏界面
数字选择框:
游戏结束界面:
功能设计:
数独题目加载: map[][] 用来存储数独题目, 题目文件以txt格式存储,每次运行程序通过随机文件输入获得map,然后将界面Cells[i][j].setText(""+map[i][j])即可加载游戏初始界面。
点击方格选择数字:将方格的引用传递给数字选择框对象,当数字选择框对象选择数字后,在将方格对象的Text修改。
鼠标左击方格选择数字,右击消除数字。
冲突检测:根据数独规则,每行每列以及每个3*3的方格中不能重复。如果有重复则标记重复的方格,提示玩家。修改重复的数字之后则自动恢复原来的背景颜色。
结果判定:设置全局变量,表示游戏中空格数量,当数量为0时,则开始判断。如果成功解题则提示游戏结束。
代码:
https://coding.net/u/Chaofan/p/Sudoku1/git