首页 > 编程语言 >Android小游戏-九宫格,有源码的哦!

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

时间:2023-01-01 11:35:52浏览次数:38  
标签:功能 题目 数字 九宫格 选择 源码 Command 按钮 Android


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

特点:

1.自动分析可选数字。

2.自动判断结果

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

4.支持自编题目。

 

功能简介

主画面

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

功能:

1.点击项目选择题目

2.按【Menu】键新建题目

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

游戏/编辑画面

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

功能:

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

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

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

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

 

基本的想法

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

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

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

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

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

 


 

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

 

 

标签:功能,题目,数字,九宫格,选择,源码,Command,按钮,Android
From: https://blog.51cto.com/oothinking/5982838

相关文章

  • java中的LinkedList的add()源码解析
    一.介绍LinkedList类阐明LinkedList类的成员:其本质是双向链表,first指向链表的头部,last指向链表的尾部。二.介绍LinkedList静态内部类Node类阐明Nod......
  • Android歌词秀1.5版
    功能简介:0.本软件可以在Android2.1以上(2.1,2.2,2.3测试通过)执行。1.自动读取与音乐相同位置的歌词文件。2.根据播放进度,表示当前的歌词3.按歌词语句快进,......
  • Reflector 源码分析
    Reflector源码分析前面我们说了Informer通过对APIServer的资源对象执行List和Watch操作,把获取到的数据存储在本地的缓存中,其中实现这个的核心功能就是Reflecto......
  • WorkQueue 源码分析
    WorkQueue源码分析前面我们把Informer的整个流程完整分析了一遍,我们可以通过监听对象的变化,将资源对象写入到事件处理器的回调函数中,但是如果我们直接在回调函数中处理......
  • Shared Informer 源码分析
    SharedInformer源码分析我们分析了Indexer组件的实现,实际上最开始的时候我们在Informer示例中通过Informer的Lister获取的资源对象数据就来自于Indexer,当然除......
  • 将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
    将tensorflow训练好的模型移植到Android(MNIST手写数字识别)​项目​​Github​​下载地址:​​https://github.com/PanJinquan/Mnist-tensorFlow-AndroidDemo​​,麻烦给个......
  • OpenCV android sdk配置OpenCV android NDK开发实例
    OpenCVandroidsdk配置OpenCVandroidNDK开发实例    在Android应用中调用OpenCV进行图像处理的方法有很多种,考虑到性能问题,本人推荐使用NDK进行开发,毕竟C/C++要......
  • java中的ArrayList的add()源码解析
    使用无参构造器创建的ArrayList对象,示例代码如下:publicclassArrayListTest{publicstaticvoidmain(String[]args){Listlist=newArrayList();......
  • Android笔记--文本输入
    编辑框EditText相关内部部件取下:inputType的类型如下:具体实现:不同边框的实现:焦点变更监听器具体实现:文本变化监听器具体实现:......
  • android基础 - Activity
    四大组件ActivityServiceBroadcastReceiverContentProvider使用资源,代码中使用R.string.app_name,XML中使用@string/app_name。Activity一个Activity注意3部分:......