高级软件工程第三次作业:基于第二次数独游戏,添加GUI界面.GUI界面代码如下: package firstGui; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.*; import o…
一.游戏界面涉及到的功能点 1)数独格子的建模 (1)绘制数独格子要考虑到标记功能 所以要在每个格子内预先塞入9个标记数字,仅数独格子算下来就有9*9*9=729个格子且存在大量嵌套(这导致我在操作Storyboard时每一个修改都要等待至少20s) (2)数独格子内部的Tag标记 为了方便编程时获取相应格子的View,需要把每个格子打上Tag (3)数独格子的初始化 模型初始化包括背景色.填数操作 和 边框粗细的调整 2)“选数视图”与“选标记视图”以及“其他按钮”的建模 3)填数的游戏游戏规…
一.前言 我姥姥是一名退休数学老师,一直很喜欢玩数独游戏.我以前答应过她要给她写一个数独游戏.本来计划是写一个Android应用的,但恰好我学了好长时间iOS开发一直没做什么"大项目"练手,并且小姨给姥姥买了一个iPad玩.于是计划利用寒假过年的前五天,给姥姥用Swift写一个iPad上的数独游戏.现在(2月24日)游戏已经基本完成,于是记录下编写的思路.设计过程以及遇到的问题等. 二.需求分析 我的初步想法是做一个SingleView的应用足矣,但后来仔细分析加上我姥姥的要求,才发现…
一.选关界面涉及到的功能点 1)需要UITableView以及相应数据代理.协议的实现 2)读取plist文件并转化成模型 3)在单元格点击后进入数独游戏,涉及到把数据经segue在UIViewController间传递 4)记录某一关卡是否通过需要用到NSUserDefaults的存档记录功能   先放一张效果图   二.具体步骤 1.在 Storyboard中拖入一个TableViewController,勾选"Is Initial View Controller",如图 为了方便…
      要点是设置好Tag就好,通过代码找到并初始化即可. 1: // 2: // ShowAnswerController.swift 3: // sudoku-v02 4: // 5: // Created by 张泽阳 on 2/22/15. 6: // Copyright (c) 2015 张泽阳. All rights reserved. 7: // 8:   9: import Foundation 10: import UIKit 11: @IBDesignable 12: c…
一.Plist文件结构设计 由于要预先生成数独题目的文件,我自然而然想到用plist存取. 我用Xcode建了几个plist文件来熟悉这种文件使用的结构后设计了如下结构: 为区分难度(后来了解到挖空数与难度其实不一定相对应),我笼统的以挖空数分类,每一个分类下存储这一挖空数对应的数独题目与解. 具体来说,root使用Dictionary类型,下面的关键字以“D”开头,后面为挖空的数目,每个“DXX”为Array类型,内容为不同的数独题目与解,每个数独题是Dictionary类型,关键字“p”代表…
今天我们要讲的主要有:下标.可为空的类型.枚举(特殊的枚举:递归枚举).原生值.关联值 首先来分析一下这个下标,就是说我们可以通过下标找到对应的值或者是改变对应的值. 其次是可为空的类型,我们要牢记所有类型默认不能为nil. 枚举的定义:可以一个case对应一个属性,也可以一个case对应多个属性,但是属性和属性之间用逗号隔开,注意中英格式 第一种方式:  enum Gender{ case Male case Female }   第二种方式: enum Week{ case Mon,Tue,…
<!----iOS> <!----Swift>*IOS开发常用社区:http://code4app.com/ *IOS开发常用社区:http://www.cocoachina.com/*IOS开发常用社区: http://www.oschina.net/*IOS开发常用社区:http://www.cnblogs.com/ *IOS开发常用社区:http://www.csdn.net/ *IOS开发常用社区:http://www.51cto.com/   *IOS开发常用社区:htt…
iOS开发Swift篇—(四)运算符 一.运算符 1.Swift所支持的部分运算符有以下一些 赋值运算符:= 复合赋值运算符:+=.-= 算术运算符:+.-.*./ 求余运算符:% 自增.自减运算符:++.-- 比较运算符:==.!=.>.<.>=.<= 逻辑运算符:&&.||.! 三目运算符:? : 范围运算符:..< .... 溢出运算符:&+.&-.&*.&/.&% 2.赋值运算符 (1)1对1赋值 var a =…
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 前面我们使用一个数组保存预制的游戏,然后随机从中抽取一个游戏作为新游戏,如果我们数组中有10个游戏,那么很快就会遇到重复的游戏,有没有办法在现有的基础上生成更多的游戏呢?我们看一下下面两个游戏: 看上去是不同的游戏,但仔细分析一下就会发现如果从计算机角度看,其实是相同的游戏.如果我们仔细分析一下,就会发现,在数独游戏中1-9的数字都是独立的符号,没有数学中数字的意义,如果将…