Solidity言語

CryptoZombies徹底解剖⑥Fin

色々初めてな事をしていたら、、昼過ぎてしまっていました、、、

ごめんなさい〜orz…
おかげでドメイン名取得できましたので、早速ブログのドメイン名を変更いたしました!

www.shidayuu.com
こちらが新しいURLになりますので、心機一転?頑張りますよ〜!!
調べてもね、、www入れなくていいみたいな、入れた方がいいみたいな、ホスト名がどうとか、って訳が分からなくなったけど、そのまま進めてみたら、このようになったんですわw
また変更したりしたら、書きます!w

デザインの変更等もぽちぽち進めたいと思います!

さてさてここから巻き替えしていきまっせ〜!!

CryptoZombies | イーサリアムでのゲーム開発を学ぶ

チャプター13:イベント
 
eventという言葉が出て来ましたね!この言葉に関しては説明不要でしょう。
イベント=出来事・行事、っていう意味ですね。
46

私としては、??という感じの説明ですなw
フロントエンドって何?という疑問もでてきますが、、調べた情報としては、

フロントエンドとは、、ユーザーと直接データのやり取りを行う要素のこと、web制作ではクライアント側。という事らしい、、

アプリを作りたいと依頼してくる人がいて、その話を聞くエンジニア側の人ってイメージでいいでしょうかね??

フロントエンドという言葉を調べてたらバックエンドという言葉も合わせて出て来ました。

バックエンドとは、、フロントエンドからのデータ入力や指示に基づき、ユーザーから見えないところでデータ処理や保存などを行う要素のこと、web制作ではwebサーバー側という事らしい。

外観や構成はフロントエンドが作成して、中核の部分はバックエンドが作る、というイメージですかね。

ピンって来てはいませんが、まぁ進んでみましょうw

11

宣言の仕方は以上の通りという事ですな。

eventと頭につけて名前をつける!
で呼び出す際は、その名前を宣言すると、、、

内容としてはそんなに難しくなさそうかなぁ、、、という事でテストへ!

46

1.ではeventを宣言せよ。と言っておりますので、まずは宣言しましょう!

event NewZombie();を入力するのはわかったとして、、どこに宣言したらいいのか、、、

57
めちゃくちゃ親切に書いてますねw
//イベントをここで宣言するのだ、と書いてあります!

一応今回のテスト形式だとここに書くのね、と思うと思いますが、

contractのすぐ下に入力しているという事は覚えていた方が良い気がします!
eventを宣言する際は、使うのはいつになるか、、って感じだけど、いつ使ってもいいように最初の方に宣言している感じがしますよね。

っという事でこちらに入力します。文言も読んだら、このようになりますね。

event NewZombie(uint zombieId, string name, uint dna);

ちなみにイベントの宣言時ですが、いつもならuintの後の値の部分にアンダースコア( _ )が入っているのですが、こちらには入力していないんですよね。。これはなんでだろう〜って思うんですが、eventを発生させるときは値が決まっている??からアンダースコアはいらないのかな〜とか意味がわからない考え方をしていますw

ドツボにはまりそうなので、とりあえず飛ばしますw

2.では_createZombie関数を編集し、という事なので、そこの位置までカーソルを持っていくと、またも丁寧に書くところがわかるようにしてくれています。

NewZombieイベントを発生させよ!という事なので、発生させましょう!

NewZombie()

こちらを入れるのですが、3.を読むと「ゾンビのidが必要だ。」という文言が出てきて、何やら長い文章でいろんな事が書いてある、、、
55

そもそもarray.push()ってなんの事じゃ??と私はなりましたw
arrayとは配列という意味がありますが、難しく考えずに、
これまでに作成したプログラムをみてみましょう!

40

//の説明の上の文面、array.push()に似てますよね、、そうです、この事をいっています。

そして読んでいくと「そこで、zombies.push() – 1結果をidという名前のuintに格納し」と言っているので、格納する方法としては、uint idと入力する必要があるので、、、

uint id = zombies.push(Zombie(_name, _dna)) – 1;

と編集してやります!

次の行で作成するNewZombieイベントで使用できるようにせよ」とわざわざ「次の行で作成する」と教えてくれているので、次の行ではeventを発生させるプログラムを書きます。

NewZombie(id, _name, _dna);

と追加入力してやります!

まとめると、_createZombie関数を編集すると以下の通りになります。

function _creat
eZombie(string _name, uint _dna) private {
uint id = zombies.push(Zombie(_name, _dna)) – 1;
NewZombie(id, _name, _dna);
}

というのが答えになりますね。

NewZombieの中の値に関してですが、idにはアンダースコアついてませんよね、、これって発生させる前に関数として宣言しているから、じゃないでしょうか。_nameや_dnaに関しては関数として宣言していないため、空白の値が入っているから、アンダースコアが必要なのかなと、、、

Swift勉強しているときはそんな内容だったと思いますが、、、

間違っていたらごめんなさいw

まあやっていくうちに理由がわかってくると思うので、とりあえず続けましょう!!

次っ!!

チャプター14:Web3.js

まずWeb3.jsってなんじゃい!!

.jsっていうのはみた事あるぞ、、、JavaScriptの事ですね。

「イーサリアムにはWeb3.jsというJavaScriptライブラリがある。」と書いてあるが、??という感じがなので、そういうライブラリがあるんだなと、思っておきますw

ゾンビさんも「今は全然わからなくても構わないぞ」と言ってくれているので、理解しようとするとそこで挫折するから、見るだけみといて〜っという理解でいきましょう!w

24

はい、ちんぷんかんぷんですw

まぁまぁ、、、難しく考え過ぎずにいきまっしょい!

っという事で、あとは右下に名前を入力してみて、一文字入れるたびに姿が変わるのを確認して、自分の分身であるゾンビを作り上げましょう!

チャプター14はこれで終了!!

これでようやっとレッスン1が終了いたしました!!

ひゃー、、初心者だとチャプターの後半くらいからは全然わからんでしたねw

大事な事は、まずは何事にも挑戦してみる事!わからなくてもとりあえず進んでみて、答え見ながらでもやってみる事!

そうする事で、後からあの時このコードを使ったのはそういう意味があったのか!と気づく事ができるようになります。

今勉強している事は、たくさんの点を集めてる作業になります。

その点がたくさん集まって、いろんな作業を通じて、点同士が線となって結ばれると、理解が進み、理解力は極端に上がると思っております。。と信じておりますw

まずは、土台をしっかり作ってから、多少まだ理解足りなくても、しっかりやってさえすればちゃんと家は建ちますからね!

めげずに頑張りましょう!!(自分に思いっきり言い聞かしてますw)

ってかこれでレッスン1とか、、レッスン6まであるっていうのに、、、

これ本当に無料でやらせていいのかね?w

このチャンスを逃すのは勿体無いですな!

さてさて、この後の時間は個人的にZombieマスターに向けて、進めますよ!

次回のブログはCriptoZombiesレッスン2」という事で、ちょっとタイトル変更して更新しますのでお楽しみに!!

ではでは、また明日!

ABOUT ME
shidayuu
元バンドマンで読書・書評をしている函館在住32歳、しだゆうと申します! このブログでは主に読書した内容を元に、「ヒラメキを発信する」をテーマとして毎日更新しています。 書評をメインに、たまに元バンドマンの知識を発信していきます! あなたの役に立てる記事を書いていきます!