Git Product home page Git Product logo

softwareengineeringproject's Introduction

SoftwareEngineeringProject

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

组员

lrm142857

swliky

Samuel.G

项目概述

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

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

具体实现

数独部分

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

安卓部分

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

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

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

截图

九宫

四宫

查看历史

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

TODO

数独类型

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

基本操作

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

模式选择

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

用户

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

其他

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

softwareengineeringproject's People

Contributors

hustergs avatar lrm142857 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.