
游戏的设计
|
39
//
不论什么情况都失败
XCTFail("Everything is broken")
还有一些断言方法,在本书中不会出现。完整的断言方法列表可以看
XCTest
框架
文档(按下组合键
Command-Shift-O
,然后输入
XCTestAssertions
并敲回车键)。
1.19
二维网格
问题
你想在你的游戏中出现某种
2D
网格。
解决方案
GKGridGraph
类用于表示某种固定尺寸的网格。你可以用
GKGridGraphNode
子类来
存储某些对象,例如某个游戏实体在网格中的位置。
GKGridGraph
代表了一个由节点构成的二维表格,每个节点在该网格中都有一个指
定的坐标,同时每个节点都和表格中的其他节点相连。
例如,我们可以子类化一个
GKGridGraphNode
,用于保存一些额外信息,如字符串:
class GameNode : GKGridGraphNode {
var name : String
init (name: String, gridPosition: vector_int2) {
self.name = name
super.init(gridPosition: gridPosition)
}
override var description: String {
return self.name
}
required init?(coder aDecoder: NSCoder) {
fatalError("not implemented") ...