前面已经给出了游戏界面的布局文件,该布局文件需要使用一个视图控制器来负责显示。除此之外,视图控制器还需要为游戏界面的按钮事件提供事件监听器。
下面是该程序的视图控制器类的代码。
程序清单:codes/13/Link/Link/FKViewController.m
该视图控制器在viewDidLoad方法中创建了FKGameView和FKGameService对象,其中FKGameView负责绘制游戏界面,而FKGameService则负责维护游戏的状态数据和游戏的业务逻辑功能,程序将FKGameService设置为FKGameView的一个属性,这样即可让FKGameView通过该FKGameService对象来绘制程序界面。
由于FKGameView需要调用FKViewController的方法来判断输赢,因此,程序先在FKGameView中定义了一个FKGameViewDelegate协议,然后FKViewController实现该协议,并将自身设置成FKGameView的委托对象。
除此之外,该程序为了控制时间流逝,定义了一个计时器,该计时器每隔1秒触发一次,程序将会根据该触发器减少游戏的剩余时间。上面的程序中,startGame方法内的粗体字代码负责启动计时器。
——————本文节选自《疯狂ios讲义(上)》
本文转自 fkJava李刚 51CTO博客,原文链接:http://blog.51cto.com/javaligang/1359980 ,如需转载请自行联系原作者