今回はCryptoZombiesレッスン1のチャプター6からの説明になります!
前回の記事を見ていない方はこちらからご確認ください↓↓
どうも、しだゆう(@araShidayuuKi)です!
イーサリアムベースのゲームの作り方、Solidity言語を使ったCryptoZombiesの実践を踏まえて進めていきたいと思います!
※コーディングを勉強していく上で、英語力が必須となりますが、CryptoZombiesで使用されている英単語のリストを下記記事にてまとめておりますので、参考までに下記ご利用ください↓↓
CryptoZombies レッスン1
チャプター7:関数の宣言
関数の宣言をするときは、functionを先頭に入力します!
Swift言語であればfuncだけで済みますが、Solidity言語の場合はfunctionと省略なしで入力します。
例題として、関数の名前はkansuumeiとし、パラメータとして_name(string)と_count(uint)を追加せよ!という問いがきた場合は
function kansuumei(string _name, uint _count);
となります!
※注意書きとして、グローバル変数と区別するために関数パラメータ変数名にはアンダースコア(_)をつけるのが通例となっています!
ですので上記の例のkansuumei(string _name, uint _count);
の()内のnameとcountにはアンダースコアをつけること!
そしてこの例題の関数(kansuumei)を呼び出す際は、
kansuumei(“shidayuu”, 100);
と入力する事で呼び出す事ができます!
文字列(string)として”shidayuu”が、負数のない整数(uint)として100が呼び出しできます!
functionの後にスペースを入れ、関数の名前(今回はkansuumei)を入力し、丸カッコの中では2つのパラメータ(stringとuint)を持つようにする、という形になります!
今回の例は2つパラメータを入れているのですが、
1つ以上の場合はコンマスペース「, 」で区切る必要があります!
スペースを忘れてしまうとエラーが表示されますのでお間違えのないようお気をつけください!
CryptoZombiesの例題として、
function eatHamburgers(string _name, uint _amount){}
という文章が出ますが、amountとは量という意味ですので、この場合、ハンバーガーを食べた量(数)という意味になります
ここまでの内容を理解すればテストは楽チンですね!
スペルミス・コンマスペース忘れをしてエラーが出ないように気をつけましょう!
チャプター8:構造体と配列の操作
構造体は英語でstructですね、忘れた方は前回の記事を確認してみてください!
Person構造体を覚えているか?と聞かれて、ばっちし覚えていたらいいのですが、私は忘れておりましたw
同じ構造体をクリプトゾンビーズの入力画面で探してみてください
チャプター5の構造体の説明の際に作成しましたね!
チャプター8では丁寧に説明してくれているのですが、要約した部分だけ理解しておくと良いので
全部まとめて一行で書けば、スッキリするぞ!
という所だけに注目してください。
zombies.push(Zombie(16, “Vitalik”));
pushは追加するという意味ですね。
Swiftだとaddという言葉を使用していますが、Solidityではpushを使うので、こちらで覚えておきましょう!
ゾンビーズに追加(ゾンビ構造体(16歳、ビタリク))なのでゾンビーズの中に16歳のビタリクという名のゾンビが追加されたということになります!
書き換えるとこうですが、私たちが作成しているコードはnameとdnaと、順番も内容も違うので、そのまま打ち込むとエラーになるので、どういう構造をしているか確認して数字や文字列を打つようにしてくだいさね!
テストではnameとdnaは関数の引数(ひきすう)を使用せよと言っているので、
そのまま(_name, _dna)と入力すればよいのだ!
最後にセミコロン(;)を入れるのを忘れないようにね!
次っ!と思いましたが、娘が起きてきそうなので、続きはまた今日のお昼くらいかな?
だんだん難易度が上がってきておりますので、チャプター1つ進むのに記事ボリュームがアップしてきてます。。
ここまで行くのにもう少しステップアップしなければ到達できないので、私と同じくらいの初心者の方は一緒に頑張りましょう!!
さいごに
理解が進むとめちゃくちゃ面白いと感じてきますので、そのままエンジニアになって面白いゲームの開発を共に進めましょう!
私みたいな初心者だとかなり時間がかかってしまいますが、答えを見ながら進めてみてもいいと思いますし、細かいよくわからない部分に関しては自分で調べたり、もしくは私のブログ記事みて見直してみて理解するのもいいと思います!
ようやく本来のプログラミングをテーマにした記事になってきた感じがしますw
まさかCryptoZombiesゲームがきっかけにプログラミングの勉強ができるなんて、、、、本当ありがたいです!!
そんな感じで、どんどん更新して行きますので、見てくれている神様のような方々には本当感謝申し上げます!
見づらいよ、、読みにくいんじゃボケっ!とか思ったら、コメントなりTwitterのDMなりで直接言ってくれると嬉しいです!
そのまま続きを読みたい方は以下のリンクから進んでください!