ゲームのロジック作成

2011年5月13日(金)
北村 真二

●GameControllerの拡張

次にGameControllerクラスの更新だ。interfaceにオオカミ用のGamePieceViewのインスタンスを追加する。

1@interface GameController : NSObject {
2  GameBoardView     *gameView;
3  GamePieceView     *pieceView;     //うさぎ
4  GamePieceView     *enemyView;     //オオカミ 追加
5  BOOL              isPieceMoveing;
6}
7@property (nonatomic, retain) GameBoardView     *gameView;
8- (id) initWithBaseView:(UIView*)baseview;
9@end

実装部の初期化メソッドにてうさぎと同じようにオオカミのビューを生成して配置する。オオカミの画像はwlof00_000.png 〜 wlof00_011.png のファイルをあらかじめプロジェクトに追加しておく。画像は前回に説明した移動パターン計12枚だ。

図2:オオカミの画像
01- (id) initWithBaseView:(UIView*)baseview {
02  self = [super init];
03  if (self != nil) {
04        ~ 略 ~
05        //オオカミ
06        NSMutableArray* array = [NSMutableArray array];
07        int         i;
08        for(i=0; i < 12; i++){
09                NSString*   name = [NSString stringWithFormat:@"wlof00_%03d.png", i];
10                UIImage*    image = [UIImage imageNamed:name];
11                [array addObject:image];
12        }
13        enemyView = [[GamePieceView alloc] initWithFrame:
14                                CGRectMake(0, 0, 48, 48)
15                                Images:array
16                                Delegate:self];
17        enemyView.type = PIECETYPE_WLOF;
18        //配置
19        [gameView addSubview:enemyView];
20        GameBoardTile*  tile = [self.gameView tileAtIndex:22];
21        tile.piece = enemyView;
22        enemyView.tile = tile;
23        enemyView.center = [tile center];
24        //タイマースタート
25        [enemyView timerStart];
26        ~ 略 ~
27  }
28  return    self;
29}

そしてデリゲートメソッドをGameControllerで以下の様に実装する。やっているのはうさぎが現在表示されているGameBoardTileを返しているだけだ。

1// うさぎキャラの配置されているGameBoardTileを返す
2-(GameBoardTile*)gamePieceTargetMovTile:(GamePieceView*)piece {
3  GameBoardTile*    tile = [pieceView tile];
4  return    tile;
5}

マップをタップしたときに、その位置のGameBoardTileをうさぎに対して移動先として設定するのと同じように、オオカミの場合はタイマーで常にうさぎのいるGameBoardTileを移動先として更新されるようにしておくわけだ。

  • 「ゲームのロジック作成」サンプルプログラム

STUDIO SHIN

家庭用ゲームの企画開発、Mac OS / iOSアプリの開発を主な生業とする。
20年ほど前から家庭用ゲーム開発に携わりファミコンからDS、PSP、Wiiまで幅広く開発。15年前からMac OS Xアプリケーションを開発「DotShotX」「GIFQuickMaker」などを公開。iPhoneアプリ「将棋盤」「DotTouch」「Rabbit Maze」などを開発。開発アプリはアップルのApp Storeで公開中。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています