読者です 読者をやめる 読者になる 読者になる

瞬けん!の開発過程その2 〜じゃんけんの仕組みを整理する・判定文if〜

iPhoneアプリ開発 Objective-C 瞬けん!

じゃんけんのゲームを作るに辺り、いろいろな処理を入れることになりそうなので、その前にじゃんけんの仕組みを自分なりに整理してみました。

じゃんけんの仕組み

STEP1:勝ち、あいこ、負けのパターンを整理してみる

・自分が勝つパターン
「自分:ぐー、相手:ちょき」「自分:ちょき、相手:ぱー」「自分:ぱー、相手:ぐー」
・自分があいこになるパターン
「自分:ぐー、相手:ぐー」「自分:ちょき:相手:ちょき」「自分:ぱー、相手:ぱー」
・自分が負けるパターン
「自分:ぐー:相手:ぱー」「自分:ちょき、相手:ぐー」「自分:ぱー、相手:ちょき」


表にしてみると、

自分↓/相手→ ぐー ちょき ぱー
ぐー あいこ 勝ち 負け
ちょき 負け あいこ 勝ち
ぱー 勝ち 負け あいこ
STEP2:上の結果をぐー=0、ちょき=1、ぱー=2に置き換えてみる

・勝ち:「相手=0、相手=1」、「自分=1、相手=2」、「自分=2、相手:0」
・あいこ:「自分=0、相手=0」、「自分=1、相手=1」、「自分=2、相手:2」
・負け:「自分=0、相手=2」、「自分=1、相手=0」、「自分=2、相手:1」


当たり前のことですが、「自分=相手」の時は「あいこ」という事が分かります。
そして、これも当たり前のことですが、勝ちでもあいこでも無かった場合は「負け」と考えた場合、勝ちの判定だけちゃんと整理すれば、上手く整理出来ます。

STEP3:Objective-C形式で書いてみる

自分の手をjibun、相手の手をaiteにした場合、

if ((jibun==0 && aite==1) || (jibun==1 && aite==2) || (jibun==2 && aite==0)) {
  //自分が勝った時の処理(勝ちサウンド、得点加算)
} else if (kekka_jibun==kekka_aite) {
  //自分があいこの時の処理(あいこサウンド、得点減算)
} else {
  //自分が負けた時の処理(負けサウンド、得点減算)
}

という判定式を使えば、上手くじゃんけん判定できます。


瞬けん!(iTunes)