【勉強】マインスイーパ(その3) by 日経ソフトウエア2011年6月号


前回に引き続き、「日経ソフトウエア2011年6月号」の「iOSとAndroidで定番ゲームを作り比べ!」のマインスイーパの勉強です。

今回は、計算ロジック用ファイルについてです。

計算ロジック用ファイルであるMinesweeper.mはJavaで作ったものを流用して作成します。
Javaと表現が異なる箇所はObjective-Cの表記に書き改めます。
一対一で対応できるところはいいのですが、そうでないところを理解するのがちょっとしたハードルでした。

まず、Javaとは違って一度に2次元の配列を動的に作れないため工夫が必要です。
一度1次元の配列を作り、それを使って2次元の配列を作成していました。
かなりの技だと思いました。
table_n = new int*[table_y];

for (int i=0; i<table_y; i++) {
  table_n[i] = new int[table_x];
}

他に、Javaで作成した一部のメソッドが語尾にXがつく名称に変更されていました。
(例)
・setBombFirst→setBombFirstX
・getCellNumber→getCellNumberX
この理由は最初全然分かりませんでした。
また、メソッドの引数の呼び出し方が見たこともない表記の仕方になっていました。
(例)
- (int)getCellNumberX:(int)x Y:(int)y
これはいったい何なんでしょうか??
(int)yの前にY:があってその前の(int)xには単にメソッド名があるだけ・・・。
そして呼び出すときは、
[インスタンス名 getCellNumberX:x Y:y]
となっていました。
自分がよくやる書き方だと、
- (int)getCellNumberX:(int)x :(int)y
[インスタンス名 getCellNumberX:x :y]
なので謎だらけでした。

色々と調べてみると、これは「メソッド引数のラベリング」というもので前についているものをラベルと呼ぶ、ということが分かりました。
おそらく呼び出し時に引数がたくさんある場合にラベルがあれば区別しやすいということなのでしょうが、第1引数にラベルがないので紛らわしく、ちょっと分かりにくいですね。
アップルはこちらの方を推奨しているようですが、自分はラベルのない方の書き方で
やっていこうと思いました。

本当に他の方のコードを読むのは勉強になります!!

残るゲーム画面用ファイルについてはまた次回です。
GW中にすべて理解したかったのですが、予定通り進めませんでした。
まあ、こんなもんでしょう(激甘)。


↓この記事が参考になったら拍手をクリックお願いします。今後のブログ作りに役立てたいので。
関連記事

コメントの投稿

非公開コメント

プロフィール

てぃー

Author:てぃー
詳しい自己紹介:こちら
Twitter:@teapipin


follow us in feedly 
にほんブログ村 IT技術ブログへ にほんブログ村 PC家電ブログへ
現在の閲覧者数:

ブログ内検索
今日のアクセス数の多い記事
カレンダー

07月 | 2017年08月 | 09月
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
過去記事ダイジェスト
お知らせ
ツイッター分析の分析結果が新潟大学教育学部の論文に引用
教育の実証研究の場でも高く評価!

ツイッター分析の分析結果が和歌山大学防災研究教育センターの論文に引用
防災の研究において評価!

2015年版ツイッター分析(世界編)が始動!
今回は世界の国別・言語別ツイートを分析!

ツイッター分析の分析結果が慶應義塾大学有名教授の研究論文などに引用
文系の研究までも制覇!

Interval Timer EX
有名雑誌「Mac Fan 2015月2月号」に「インターバルタイマーEX」が3度目の掲載!ポモドーロテクニックに有効!

自作Macアプリ3部作が2014年 Vector 年間ダウンロードランキング Mac トップ100にすべてランクイン

TimeCalcを公開しています!
時間計算、年齢計算、学歴欄作成など。

ツイッター分析の分析結果が人工知能の研究に!
ブログが学会発表で引用されました。

今まで開発したiPhoneアプリのソースコードを公開しています!
勉強に役立ててください。


2013年 Vector 年間ダウンロードランキング Mac トップ100に「デジカメ変更日を撮影日に一括変更 for Mac」と「インターバルタイマーEX」がランクイン

Interval Timer EX
有名雑誌「Mac Fan 2013月4月号」に「インターバルタイマーEX」が2度目の掲載!!

リアルタイムツイッター地図
リアルタイムツイッター地図を公開しています!
位置情報付きツイートをリアルタイムに表示します。

新たなツイッター分析としてイベントツイート分析を行っています!

2012年8月1日(水)開催の「Twitter勉強会」で発表
ツイッター調査:約173万ツイートを調査して分かったTwitterの利用動向 #twtr_hack from teapipin


Interval Timer EX
有名雑誌「Mac Fan 2012月3月号」に「インターバルタイマーEX」が掲載!!



 

はてなブックマークの人気記事
ツイート&いいね!ランキング