博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Android]开发数独游戏思路分析过程
阅读量:6328 次
发布时间:2019-06-22

本文共 909 字,大约阅读时间需要 3 分钟。

  数独游戏风靡已久,下面就将开发一款数独游戏的Android应用过程进行分解和说明。

  

  先上图,再逐次分析开发这款游戏的涉及到的技术点,游戏逻辑。

  

  简述:数独游戏是通过在9*9(大九宫格)的格子中空白的格子填写1-9中的任意一个数字,使得每一个行和每一列都由1-9这10个数字填满,并且在每3*3(小九宫格)的格子中同样也是由1-9这10个数组填满。即表示游戏完成。

  分析游戏逻辑:

  1. 游戏中的每个格子可能的数字有1-9

  2. 游戏开始显示的数字,通过一份完整的数独,将部分格子设为空白,得到游戏初始值

  3. 游戏中的每个空白格子可以填写的数字是:同一行未出现的数字,同一列未出现的数字,同一个3*3的九宫格中未出现的数字三部分的交集

  4. 游戏中的每个格子的三种状态:答案数字(即正确的数字),初始化数字(即游戏开始是数字,显示有数字或者空白),当前数字(即玩家填写前,后的数字)

  5. 游戏完成的条件是满足简述中说明的情况

 游戏设计

  1. 绘制游戏界面,大九宫格和小九宫格,如上图,小九宫格用白色线条分割

  2. 游戏格子中数字绘制,且字体在格子中居中显示,初始值为黑色,填写值为蓝色(颜色仅为参考)

  3. 游戏交互事件处理,点击小格子,提示玩家选择填写的数字,并将选择的数字绘制到所点击的格子中

  4. 根据游戏完成的条件判断游戏是否完成

 涉及到的技术点:

  1. Android的View绘制(不限于此方式)

  2. 9*9的矩阵行与列,格子相对位置等计算

  3. 屏幕点击格子的事件处理

 实现步骤:

  1. 游戏逻辑

  2. 游戏显示视图,无论是Android,HTML上都将通用1中的游戏逻辑

  3. 操作事件,特性环境下做相应的事件处理

 游戏的数据结构设计的恰当,则判断游戏是否完成就变得容易,依照文中游戏逻辑部分4中所述,判断游戏是否完成就可以使用如下代码判断:

 

public boolean isWon() {		for (int i = 0; i < originalStatus.length; i++) {			if (currentStatus[i] != originalStatus[i]) {				return false;			}		}		return true;	}

 更详细的实现参见: 

转载地址:http://lhyoa.baihongyu.com/

你可能感兴趣的文章
玩转SSRS第七篇---报表订阅
查看>>
WinCE API
查看>>
POJ 3280 Cheapest Palindrome(DP 回文变形)
查看>>
oracle修改内存使用和性能调节,SGA
查看>>
SQL语言基础
查看>>
对事件处理的错误使用
查看>>
最大熵模型(二)朗格朗日函数
查看>>
深入了解setInterval方法
查看>>
html img Src base64 图片显示
查看>>
[Spring学习笔记 7 ] Spring中的数据库支持 RowMapper,JdbcDaoSupport 和 事务处理Transaction...
查看>>
FFMPEG中关于ts流的时长估计的实现(转)
查看>>
Java第三次作业
查看>>
【HDOJ 3652】B-number
查看>>
android代码混淆笔记
查看>>
Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) C. String Reconstruction 并查集
查看>>
BMP文件的读取与显示
查看>>
Flash文字效果
查看>>
各种排序算法总结篇(高速/堆/希尔/归并)
查看>>
使用c#訪问Access数据库时,提示找不到可安装的 ISAM
查看>>
Highcharts X轴纵向显示
查看>>