Swift版数独游戏
最近,在手机上下载了个数独小游戏,觉得很有意思,正好在练习使用Swift,就试着用Swift自己写了一个。
- 将1~9内的随机数按满足数独的条件(行、列、小九宫格均无重复数字)填充盘面数组(二维数组)
- 随机交换任意小九宫格内的两行或两列(demo中有三次行交换、三次列交换)
- 按照不同level,确定每个level的挖坑数量
- 循环生成两个0~8(index)内的随机数,将盘面数组中索引符合这两个随机数的位置替换为0
- 用UICollectionView生成81格,并将二维数组按顺序填充进去,值为0的位置默认隐藏数字
- 用户填充数字后,检查行、列、小九宫格是否有重复,有重复则报错(红色)
- 针对不同level,做了倒计时挑战
- 在一个AlertController调起时,如果一个AlertAction的动作是调起另一个AlertController,会持续报警告并且不能正常调起,demo中模拟系统的AlertController的功能实现了一个自定义的AlertView,点击Alert需要手动调用dismiss。
- “重来”功能相当于复盘