我姥姥是一名退休数学老师,一直很喜欢玩数独游戏。我以前答应过她要给她写一个数独游戏。本来计划是写一个Android应用的,但恰好我学了好长时间iOS开发一直没做什么“大项目”练手,并且小姨给姥姥买了一个iPad玩。于是计划利用寒假过年的前五天,给姥姥用Swift写一个iPad上的数独游戏。现在(2月24日)游戏已经基本完成,于是记录下编写的思路、设计过程以及遇到的问题等。 二、需求分析 我的初步想法是做一个SingleView的应用足矣,但后来仔细分析加上我姥姥的要求,才发现没有那么简单。分类总结用到的知识点如下: 1、第一个界面是选关的界面 1)需要UITableView以及相应数据代理、协议的实现 2)读取plist文件并转化成模型 3)在单元格点击后进入数独游戏,涉及到把数据经segue在UIViewController间传递 4)记录某一关卡是否通过需要用到NSUserDefaults的存档记录功能 2、其次是游戏的界面 包括9*9的数独格子还有填数的按钮,以及填标记(就是说我这个地方不确定填哪个数,我都先标记上供参考)按钮
标记功能效果如图所示 1)数独格子的建模 (1)绘制数独格子要考虑到标记功能 所以要在每个格子内预先塞入9个标记数字,仅数独格子算下来就有9*9*9=729个格子且存在大量嵌套(这导致我在操作Storyboard时每一个修改都要等待至少20s) (2)数独格子内部的Tag标记 为了方便编程时获取相应格子的View,需要把每个格子打上Tag (3)数独格子的初始化 模型初始化包括背景色、填数操作 和 边框粗细的调整 2)“选数视图”与“选标记视图”以及“其他按钮”的建模 3)填数的游戏游戏规则的实现 (1)判断一个格子能填什么数 (2)判断游戏是否成功结束 3、看答案界面 1)接收上个界面传来的答案 2)显示答案 4、其他 1)生成数独关卡 (1)生成有解的数独,如果有多解至多显示两个解就好(挖空数从挖40个空开始,最后挖到了60多个空) (2)输出成符合规范的plist文件 2)界面的美化 3)有待补充…… 接下来的文章我会按照顺序逐步总结具体的开发过程与经验
|
请发表评论