Lesson 3 Chapter9 ゾンビ修飾子
ゾンビのレベルが 2以上なら、ユーザーは名前を変更できるようにする。
ゾンビのレベルが 20以上なら、カスタムDNAを与えることができるようにする。
サンプルコード
mapping (uint => uint) public age;
// 一定の年齢よりユーザーの年齢が高いことを要件とする修飾子:
modifier olderThan(uint _age, uint _userId) {
require (age[_userId] >= _age);
_;
}
// 車の運転は16歳以上。(米国の場合)。
function driveCar(uint _userId) public olderThan(16, _userId) {
// 関数のロジックだ
}
ゾンビのレベルが 2以上なら、ユーザーは名前を変更、20以上なら、DNAをカスタム可
require(zombies[_zombieId].level >= _level);
_;
}
function changeName(uint _zombieId, string _newName) external aboveLevel(2, _zombieId) {
require(msg.sender == zombieToOwner[_zombieId]);
zombies[_zombieId].name = _newName;
}
function changeDna(uint _zombieId, uint _newDna) external aboveLevel(20, _zombieId) {
require(msg.sender == zombieToOwner[_zombieId]);
zombies[_zombieId].dna = _newDna;
}
ここまでのゾンビ構造体
string name;
uint dna;
uint32 level;
uint32 readyTime;
}
prev
-
Lesson 3 Chapter8 関数修飾子2(引数あり)
Lesson 3 Chapter8 関数修飾子2 前回の関数識別子の使用箇所 引数を持つ関数修飾子 引数を取る関数修飾子につい手の例 // ユーザーの年齢を格納するマッピング: mapping (ui ...
next
-
クリプトゾンビLesson 3 Chapter10 全ゾンビアイテムの表示
Lesson 3 Chapter10 全ゾンビアイテムの表示 手持ちのゾンビ軍団を全て表示できるメソッド view関数を外部から呼び出す場合、ガスは一切かからない。 (view 関数がブロックチェーン ...