更新于4/13/15:下面文章是基于Xcode 6.3 / Swift 1.2。
这一部分将通过一个简单的数字猜谜游戏继续学习swift的新知识。
同时我们会用到在前一章节中所学到的swift知识,如果你忘记了怎么用,就去前一章翻看。
好了,开始猜谜!
Writing a Prototype开始写一个模板
我们将会创建一个运行经典游戏“猜大小”的应用。计算机会随机产生一个数字让你去猜。在固定的猜测次数内,每猜一次,计算机都会告诉你猜的值是偏大还是偏小,直到猜对为止或是已经达到猜测次数为止。
首先,在真正创建命令行工具的应用之前,我们要在playground中完成你的app模板。现在打开Xcode ,点击Get started with a playground:创建一个playground文件。
输入文件名和平台名,点击next,保存。
删除自动创建的注释和String
,的声明,只保留下面的代码 。
import UIKit |
然后输入下面的代码:
func randomIntBetween(low:Int,highInt) -> Int { let range = high - (low - 1) return ((arc4random()% range+ ) } |
暂时无须关注上面每条语句的意思,只要知道上面的代码能够在一个最大数和最小数之间随机产生一个数字. 后面你会编写自己的方法函数,但是现在你只需要调用arc4random()这个库函数,如同之前调用toInt()
方法一样。
Let’s Make a Game!我们来做个游戏
游戏开始!首先你要告诉程序,给出一个随机数字作为猜谜游戏的正确答案。这时就需要用到前面提供给我们方法。在前面输入的代码下面输入下面的代码.
let answer = randomIntBetween(1,100) |
你要做的就是声明一个Int型的常量并初始化为1到100之间的一个随机整数。如此,答案每次都会不同,除非你人工修改代码。缺点是会造成游戏非常的死板。
另外,你需要调用println()
做一些说明来告诉用户接下来该做什么. :
println("Enter a number between 1 and 100." 不幸的是,playgrounds 不允许用户进行输入. 不用担心,后面你可以将前面的移到命令行工具的应用中。 现在我们只需要创建一个整型变量来保存我们猜测的值,如下:
点击next,选择保存工程文件的路径,然后点击create。 Running Your App运行自己的appXcode 也会默认生成一些代码. 点击屏幕左上方的三角形的类似于“开始”的Runbutton按钮 。 屏幕的下发会弹出一个盒子窗口,窗口的右边会打印出. 如果你的屏幕比较窄,可能看不到整个盒子窗口,只能显示下面的一半窗口。 点击窗口的最右下方靠右的按钮,就会看到有打印结果的另一半窗口了。 在写你的第一个app之前,先了解下Xcode的特性。 XcodeThe left pane of Xcode 的左边显示工程的文件目录。这些文件是你所使用的工程模板自动创建的。点击并打开My First Project Folder文件夹中的main.swift 打开的文件内容跟上一章节中接触到非常像,不同的是,swift文件不会像playground 文件一样在屏幕的右边实时显示出代码运行的结果。swift文件才能真正用来创建apps。 使用Objective-C 创建app,基础文件要比这多些。而且会声明一个函数来开启app。swift不再需要这个函数,但是工程需要建立名为main.swift的文件,所以千万不要对这个文件重命名。 From Prototype to Project从模板到工程首先删除语句,只留下最上面的注释和语句. 然后把之前在playground 文件中完成的代码复制粘贴到main.swift文件中的
这时你会发现代码报错.不用担心,这是因为计算机无法识别你的函数. 为了解决这个问题,你需要下载helper 文件并拖到你的My First Project 工程中。 在出现的对话框中选上下图中的选项,一定要确保勾上copy the items 将所加的项目拷贝到工程中.这样即使原始文件的位置发生了变化,工程也仍然包含它。 Allowing for User Input允许用户输入如果每次要进行猜谜的时候都需要手动去改代码中变量的值,然后再重新运行app,那这个游戏就非常僵硬。下面就实现允许用户输入的功能,我们马上就可以用到helpers.swift。 将下面这行代码
替换为
这时你就创建了一个常量 来存储用户从键盘上输入的字符串. 因为字符串无法跟int整型进行比较,所以还需要将字符串转换为整型。
|