エーテル坊でゲームをしますか?クリプトンゾンビ(4.ゾンビ戦闘システム(2)


士族
10日目.
今回のシナリオは分かりやすいです.習ったことに少し加えたせいか、、(私が得意なのは感覚?1)

CH.6,7汎用論理構造の改善&構造のさらなる改善


以前コードを作成したとき、安全のために、Contractを実行するアドレスとゾンビを格納するアドレスが同じかどうかをrequire文で確認しました.require(msg.sender == zombieToOwner[_zombieId]);今回は,それを阻止するために,エジプト秒で関数から記述を開始する.
modifier reqq(uint _zombieId)
{
	require(msg.sender == zombieToOwner[_zombieId]);
    _;
}
このように関数コントロールを作成します...!(modifier)
まだあります.
function 함수1(uint value) internal reqq(value2) { // 함수제어자 reqq
}
終わります.何ですか.簡単すぎます.

CH.8~11返回攻击!&ゾンビの勝利と失敗


いいえ.
Zombie storage myZombie = zombies[_zombieId];
Zombie storage enemyZombie = zombies[_targetId];
storageポインタを使用して構造体変数にアクセスします.
勝った場合(数値が期待値を下回る場合)
if (rand <= attackVictoryProbability) {
      myZombie.winCount++; // 승리 카운트
      myZombie.level++; // 레벨
      enemyZombie.lossCount++; // 적좀비 패배 카운트
      feedAndMultiply(_zombieId, enemyZombie.dna, "zombie"); // 좀비 생성
}
こうして攻撃に成功して生まれた我が部下ゾンビ.
授業4が終わる