一時期一斉を風靡した数合わせゲーム「2048」。同じ数のタイルを組み合わせていき最終的に2048のタイルを作ることを目指すシンプルながら奥深いゲームです。
本日紹介する「danqing/2048」はこの2048ゲームをiOS用に移植したもの。
Objective-Cを使い、Apple純正のフレームワークであるSpriteKitを使って作られているため、ゲームアプリ開発の参考になりそうです。
目次
2048のコンパイル方法
Xcodeがあればビルドしてシミュレーター実行することができます。
git clone https://github.com/danqing/2048.git cd 2048 open m2048.xcodeproj
Xcodeが立ち上がったらビルド「Product > Run」(Command+R)で実行できます。
iPhoneやiPadを所有している場合はもちろん実機で動かすことも可能です。
ソースコードの説明
作者danqing氏の解説によると、ここで公開されている2048のソースコードは、AppleがiOS 7で導入したSpriteKitを使って作られていて、サードパーティライブラリには依存していないとのこと。また画像は含まれておらず、UIがUIKitによって描画されていることも特徴とされています。
内部のクラスに関する説明も掲載されていて、以下のクラスが使用されているようです。
- M2GameManager: ゲームロジックのコントローラー
- M2Grid: ボードのデータ構造
- M2Cell: スロット
- M2Tile: タイル
- M2GlobalState: グローバルなデータ
- M2Theme: テーマ
まとめ
2048は2014年ごろにブームになったゲームですが、今回紹介したソースコードは更新され続けていて、最新のXcode 8でも問題無くビルドすることができました。ゲーム作りの参考となるソースコードを探している方は参照してみてはいかがでしょうか。