初始化游戏状态数据(3)

13.3.2  初始化游戏状态数据(3)

程序中的粗体字代码控制了只设置i % 2 == 0的列,也就是只设置索引为偶数的列,该子类初始化的游戏界面如图13.8所示。
 
 

3.横向排列的方块

横向排列的方块以水平的空行分隔开,该子类的代码如下。

程序清单:codes/13/Link/Link/sources/board/FKHorizontalBoard.m

 
 
  1. @implementation FKHorizontalBoard  
  2. - (NSArray*) createPieces:(NSArray*) pieces  
  3. {  
  4.     // 创建一个NSMutableArray集合, 该集合中存放初始化游戏时所需的FKPiece对象  
  5.     NSMutableArray* notNullPieces = [[NSMutableArray alloc] init];  
  6.     for (int i = 0; i < pieces.count; i++)  
  7.     {  
  8.         for (int j = 0; j < [[pieces objectAtIndex:i] count]; j++)  
  9.         {  
  10.             // 加入判断,符合一定条件才构造FKPiece对象,并加到集合中  
  11.             // 如果j能被2整除,即单数行不会创建方块  
  12.             if (j % 2 == 0)  
  13.             {  
  14.                 // 先构造一个FKPiece对象,只设置它在FKPiece二维数组中的索引值,  
  15.                 // 所需要的FKPieceImage由其父类负责设置  
  16.                 FKPiece* piece = [[FKPiece alloc] initWithIndexX:i indexY:j];  
  17.                 // 添加到FKPiece集合中  
  18.                 [notNullPieces addObject:piece];  
  19.             }  
  20.         }  
  21.     }  
  22.     return notNullPieces;  
  23. }  
  24. @end 

程序中的粗体字代码控制了只设置j % 2 == 0的行,也就是只设置索引为偶数的行,该子类初始化的游戏界面如图13.9所示。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值