初心者文系主婦がブロックチェーンを学ぶブログ

IT革命のビッグウェーブに乗り遅れた主婦が、ブロックチェーン革命の波にのるべく、ブロックチェーン技術を学ぶブログです。

【CryptZombies】レッスン1チャプター8:構造体と配列の操作

新しい構造体を作る

チャプター5でPerson構造体を作成し、チャプター6でpepleという名前のPerson構造体の配列を設定しました。

f:id:nomadomama:20181113235347p:plain

ここでは、新しいPersonを作成し、それをpeople配列に格納します。

 

 ①新しいPersonを作る

Person構造体を使って、新しいPersonを作ります。

Person satoshi = Person(172, "Satoshi");

これで、ageが172、nameがSatoshiのPersonが作成できました。

 

 ② ①で作成したSatoshiという名前のPersonをpeople配列に格納する

配列に格納する場合、「push」を使います。

people.push(satohsi);

 

③ ①と②を合体させる

①と②のsatoshiは同じものを意味します。

そこで、②のsatoshiに、①のsatoshiの右辺を代入すると、以下のようになります。

people. push(Person(172, "Satoshi"))

 

テストの実行

新しいZombieを作れるように関数の中身を埋めてそれをzombies配列に格納せよ。ただし、新しいZombieのnameとdnaは関数の引数(ひきすう)を使用せよ。

まず、青色下線の箇所をみていきます。

「新しいZombieを作れるように関数の中身を埋めて」とあるので、適当に「syufu」という名前をあてて、Zombie構造体をもってきます。

Zombie syufu =

続いて、「新しいZombieのnameとdnaは関数の引数を使用せよ」とあるので、

Zombie syufu = Zombie(_name, _dna);

となります。 

f:id:nomadomama:20181117225914p:plain

 次に、オレンジ下線の箇所をみていきます。

青下線ので作成した任意のsyufuを、zombiesという名前の配列に追加するので、次のようになります。

zombies.push(syufu)

f:id:nomadomama:20181117230153p:plain

 

②書いたコードを1行で書き直してスッキリさせよ。 

①で赤文字にしているsyufuは同じものを意味します。

そこで、zombies配列に格納したsyufuに、Zombie構造体の右辺を代入すると、以下のようになります。

f:id:nomadomama:20181114004003p:plain

 

お疲れ様でした!

 

 

<参考>

CryptoZombies - イーサリアム上でゲームを開発する方法を学習。Powered by Loom Network