Home

Awesome

SoftwareEngineeringProject

华中科技大学 软件工程大作业 数独APP

组员

lrm142857

swliky

Samuel.G

项目概述

希望可以通过App的形式将数独这一游戏带给大家,解决广告以及错误次数限制等问题.详情请见NABCD模型文档以及项目说明书

最终的数独以及安卓代码均在在SudokuApp-GS下,对dlx类也做了一些修改,如为了将其放到子线程中运行改为了Runable的子类

具体实现

数独部分

实时生成具有唯一解的数独, 采用先生成终局后挖洞的方式,考虑到移动设备的算力可能不足的问题,使用了目前速度最快(待求证)的Dancing Links算法以来解数独,具体实现参考此论文以及此仓库, 挖洞参考了百度文库的一篇论文来提高挖洞效率,其中的剪枝操作极大的减少了挖洞所需要的时间.

安卓部分

速成, 主要参考郭霖的第一行代码Google官方文档,以及Material UI文档,由于各种原因,其实真正的开发时间没有很长

储存数据用到了LitePal、安卓原生提供的本地数据库以及SP,由于种种不可抗力,没有实现真正的登录注册功能,只是在本地写了个假的。也没有提供显式的结算按钮,如需结算,请另开一局新的,旧的数据会被储存在历史中,即变相结算?

没有特殊原因应该不会继续完善

截图

<img src="imgs/九宫.png" style="height: 400px" alt="九宫"> <img src="imgs/四宫.png" style="height: 400px" alt="四宫"> <img src="imgs/历史.png" style="height: 400px" alt="查看历史">

其他的部分实在太丑了,就不截图了。。。

TODO

数独类型

基本操作

模式选择

用户

其他