Skip to content

HUSTERGS/SoftwareEngineeringProject

Repository files navigation

SoftwareEngineeringProject

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

组员

lrm142857

swliky

Samuel.G

项目概述

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

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

具体实现

数独部分

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

安卓部分

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

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

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

截图

九宫

四宫

查看历史

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

TODO

数独类型

  • 四宫
  • 九宫
  • 六宫
  • 不规则

基本操作

  • 填入/擦除数字
  • 高亮同一列同一行以及同一个小方格的数字
  • 实时纠错
  • 方格内做笔记
  • 计时/暂停
  • 撤回
  • 难度选择
  • 提示指定方格
  • 恢复上一次进度

模式选择

  • 闯关模式
  • 限时模式
  • 联机模式

用户

  • 登录注册 (Fake)
  • 历史数据

其他

  • 查看解题技巧
  • 查看排名
  • 国际化

About

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

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages