Android小游戏-九宫格,有源码的哦!

为了学习Android,自己编了一个小游戏,就是9宫格。

特点:

1.自动分析可选数字。

2.自动判断结果

3.支持Undo功能(Command设计模式)

4.支持自编题目。

功能简介

主画面


功能:

扫描二维码关注公众号,回复: 188102 查看本文章

1.点击项目选择题目

2.按【Menu】键新建题目

3.长按项目选择删除或编辑题目

游戏/编辑画面

功能:

1.按数字按钮选择数字(置灰按钮不可选)

2.按【Undo】按钮取消上一步操作

3.编辑状态时按下【menu】键可以选择清除输入结果或保存题目

  游戏状态下按下【menu】键可以选择清楚输入结果或启动自动填写功能(根据现在状态可以判断的部分)

基本的想法

最初的时候,每个格都有选择所有数字的机会,当相同行或相同列或相同块的其他格选择了某数字是,这个数字就不能再选。

当一个格的可选数字之剩一个时,就作为答案使用,这是这个结果又会影响其他的同行,同列及同块的格。有点递归的感觉。

当一个格里的可选数字都没有了的时候,判定失败。 

为了在选错的时候,有取消的机会,通过Command设计模式实现的动作的记录和恢复。这里麻烦一点的是在某一格的数组决定以后,会对其他各有影响,需要记录所有的变化。

挺复杂的吧,其实代码比想象的要简单。

资源连接:

工程/源码:http://download.csdn.net/source/3507191

类图:http://download.csdn.net/source/3509954

下图中绿色的类就是Command模式相关的类。

猜你喜欢

转载自blog.csdn.net/craftsman1970/article/details/6674281