if-else文の復習となります。レッスン4の最終局面を乗り越えるとゲームとしての面白みが実装されます!
世の中ゲームが嫌い、という人はあまりいないと思います。ゲームをやるのは本当は好きだけど、けど好きじゃない、、という本能に背いている人にとっては必要のない知識ですが、好きだけど好きだって言えばバカにされる、と思っている人がいるならば、是非とも学んでみたら新しい発見ができると思う。。
さぁさぁ、、午後の部やっちゃうよ!
CryptoZombies | イーサリアムでのゲーム開発を学ぶ
それでは開演します!
さてさてここからは割と駆け足になりそうだ、、、
さあテスト行くぞ!!
1では、if文をつかってAがBより少ないか同等かを確認させよ、との事なので、
if (rand <= attackVictoryProbability) {}
となりますね。
2では、1の条件がTrueならば、a,b,c,dを実行せよとの事なので、
a:
myZombie.winCount++;
b:
myZombie.level++;
c:
enemyZombie.lossCount++;
dに関しては、feedAndMultiply関数を実行するのだが、引数の指定があるのと、すでに入るべき引数が決まっているところもあるので、そこは確認してみよう。
d:
feedAndMultiply(_zombieId, enemyZombie.dna, “zombie”);
となりますね。
まとめると、、
if (rand <= attackVictoryProbability) {
myZombie.winCount++;
myZombie.level++;
enemyZombie.lossCount++;
feedAndMultiply(_zombieId, enemyZombie.dna, “zombie”);
}
となります!
こんなところですかね!
次いきましょか!!
勝率は7割ですが、負ける確率もある事をお忘れなく、、、
この例ではelseステートメントを使って、コードを追加する方法を説明してますね。
elseとは〜でなければ、なので、if文の結果がfalseだった場合実行されます!
それを踏まえてテストだ!!
1では、先ほど作成したif文にelseステートメントを追加して、aとbを実行せよとの事なので、、
else {
myZombie.lossCount++;
enemyZombie.winCount++;
}
となりますね。
2では、_triggerCooldown関数を動かすのだ、という事で引数はmyZombieで実行させなきゃないので、、
_triggerCooldown(myZombie);
となります!
まとめると、、
else {
myZombie.lossCount++;
enemyZombie.winCount++;
}
_triggerCooldown(myZombie);
} //ここはattack関数の終わりのカギカッコになります。
ちょっとわかりずらくなってしまいましたが、、最後の_triggerCooldown(myZombie);は、if-else文を抜けてからの処理という事ですので勘違いしないようにね!
このコードが完成したらレッスン4は完了だ!!あとは実装したら、こうなるんだという例とともに実際にバトルさせてみてくれ!!
まずは自分のゾンビのどちらが攻撃するかを選び、クリックするだけで「IOTA」という敵(enemy)に攻撃をする形になる。そして事実上は7割で勝ってレベルアップするはずだ!!そして三人目の仲間ゾンビができるはずだ!
おめでとう、これでレッスン4が完了しました!!
終了の際は、TwitterやFacebookでシェアしてみよう!!
なんども言っているがこれをすることにより、開発サイドが喜んでくれるんだ!
そりゃそうだろう、、見知らぬ誰かがやってくれたという事を知る事ができるのだから、嬉しいに決まっている!!
次のゲーム開発の為にも頑張って欲しいという思いを込めて応援しよう!
以上!レッスン4完了です!
次はレッスン5だ!!ここもなかなか苦労させられたような気がするが、明日からもしっかりと書いていくので楽しみにしててください!!
<
a target="_blank" href="https://cryptozombies.io/jp/course">CryptoZombies | イーサリアムでのゲーム開発を学ぶ
どうもありがとう!!
また明日!