iOS开发 Swift开发数独游戏(一)
2024-10-21 09:22:22
一、前言
我姥姥是一名退休数学老师,一直很喜欢玩数独游戏。我以前答应过她要给她写一个数独游戏。本来计划是写一个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)有待补充……
接下来的文章我会按照顺序逐步总结具体的开发过程与经验
最新文章
- 毛笔笔锋算法IOS版
- GridView不能添加头布局,并且scrollView与GridView冲突导致一些页面无法融合
- Tomcat启动时项目重复加载,导致资源初始化两次的问题
- Sphinx 的介绍和原理探索——不存储原始数据,原始数据来源于SQL,而生成索引放在内存或者磁盘中
- Deep Learning(深度学习)学习笔记整理
- ubuntu 14.04安装
- 抓取Js动态生成数据且以滚动页面方式分页的网页
- python(15)提取字符串中的数字
- python拆分excel脚本
- hunnu---11547 你的组合数学学得如何?
- c++矩阵运算
- DirectX Sample-ConfigSystem中采用配置文件进行游戏设置
- JavaWeb总结(一)—Servlet
- RadioButton与监听
- UVA1349:Optimal Bus Route Design
- lodop打印收费小票
- 浅析GDAL库C#版本支持中文路径问题(续)
- vi / vim 命令集合
- python新模块:secrets模块(为账户密码)
- SpringAop与AspectJ