Solidity言語

噛み付いちゃうぞCryptoZombies③

いや〜毎日学ぶって楽しいですね〜!朝起きてからの気分が違いますw
サラリーマンやってると会社にいくの面倒臭いとか、行きたくないな〜とか思ってましたけど、今は起きたらさぁやるぞ!って気持ちになって行動してます!!
気持ちがいいですな!!

さてさて今日もCryptoZombies、スタートします!

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

チャプター5:継承

継承というチャプタータイトルですね、継承とは簡単に言うと引き継ぐって事ですね。紐付けする、って捉えてもわかりやすいですな。

下が使い方の例ですが、cotract Doge(柴犬)で宣言している関数をBaby Doge(赤ちゃん柴犬)で呼び出す事ができるようになる、という事になります。以下の文章では実際には呼び出しはしていないですが、呼び出したら使えるよ、というのが継承ですね。

※google翻訳さんだとDoge = ドッグと出ますw Doge coin(仮想通貨)=しば犬コインなので、今回は柴犬でいきますw
29

継承の仕方も簡単で、「contract 新しい名前 is 既存のコントラクト名」とするだけなので、よく出てくる使い方になるので覚えておきましょうね!

53

「public関数」と指示があるので、publicで宣言しているものだけって事か。
ってことはpublic以外のpureで修飾しているものは呼び出せないって事になりますな!

少しづつ繋がってきてますねw

それではテストに挑戦しましょう!!

51

contractを宣言する?っていうのは追加の契約を増やすって事だと考えたら、add contractっていう意味で捉えていいのかもしれない、、、わからんけどw

で今回はもともとある「ZombieFactory」コントラクトを継承した、「ZombieFeeding」と言う名前のコントラクトを作成しなさい、と言っているので、この問題はちょ〜簡単ですねw

contract ZombieFeeding is ZombieFactory {
}

と、以上が正解となりますな!
入力箇所とすると、新しい契約をつくるという形になるので、「ZombieFactory{}」が終わってからになるので、コーディングスペースの一番最後//で入力する箇所を知らせてくれています。

ふふふっ、コーディングスペースっていう言葉を覚えましたよw

調べてたらプログラムを入力する場所の名前がコーディングスペースって書いてあったからね。。w

、、、このレベルの人間がSolidityに挑戦していますw
大丈夫です、やれば身につくものなので、初心者だからって、下向かないでください!!

私はめちゃくちゃ初心者です、、だけど自分に言い聞かせるように学んで、ブログ書いているので、プロプログラマからみたら、ヘタレプログラマだと言われるのを覚悟で、恥も捨てて書いております!

理解するまではヘタレでもバカでもなんでもいいんです!!
その先に、プロプログラマになってしっかりと理解した上で、挑戦したいけど難しそうだし、挫折した経験のある人に手を差し伸べれるくらいの人間になろうと思っています。

そもそも、プログラマになった人って、才能とかで一瞬で覚えられた人はいない、ですよね。

みんな初心者でスタートして、まったくわからなかったけど、興味や環境で覚えたに過ぎないはずです。

だからこそ、初心者に対しては昔の自分を思い出すじゃないけど、そんな気持ちで見守ってくれると信じ、学びを続けないといけないと感じます。

だから頑張ろう!!諦めるな!!
ホリエモンだって、最初は初心者だったけど、好奇心という強い力によって、子供ながらにしてプログラミングを体得したんだよ!、、、って本に書いてたw

挫折してやめてしまう事、が一番もったいない事になるので、わからなくって悩むけど、それでも前に進んでみる!そうしていくうちに色んな知識が入ってきて、わからないものも増えるかもしれないけど、その知っていく過程の中で、わからなかった部分が理解できるようになる、と信じ、進みましょうね!

私の短所は、、、こうやって脱線した時に熱くなるところです、、、orz…w

伝えたい気持ちは書きましたのでスッキリw

自分が理解者になり、このブログを見返した時にクスッと笑えるくらいになっている事を信じています!

っという事で、このチャプターは完了ですね!

チャプター6:Import

20

そうなんです!前チャプターでやった「継承」をやると、タブが作成され、そのcontract毎に分けてくれるんです!めちゃくちゃありがたいし、見たい時に見やすいですね!
59
こんな感じです。(閲覧のみ)ってなってますけど、実際のSolidityの場合だとこうはなっていないはず。今回はゲームとして、イジると悪影響がでるのでイジれないように、設定(規制)しているんだと思います。

今回はインポートという事で、意味としては輸入するという意味(google翻訳さん)

輸入という意味であれば、他で作ったものや現物を持ってくるという意味になるので、使い方としては他のcontract自体を入れるよ、という意味になりそうですね。

いざ、テストに参る!!
※撮りきれていない部分も重要だったので入れました!
< a target="_blank" title="23" href="https://shidayuu.com/wp-content/uploads/imgs/a/5/a591794b.png">23
ディレクトリというのは、=フォルダと考えてOKなので、同じフォルダと考えると大丈夫ですね。
「./」っていうのは、そのフォルダを指定する記号と考えれば良いので、importの後には「./」を必ずつける事を忘れないように!で、例にもあるように「import “./インポート先の名前”;」となっているので、””(ダブルクォーテーションで囲う)と;(末尾にセミコロン)も忘れないようにね。

と言う事でインポートしてみましょう!

import “./zombiefactory.sol”;

が正解となりますな。

ここで疑問に思う人もいるかもしれませんが、今入力した「zombiefactory」ってcontractでは「zombieFactory」って「F」大文字でしたよね!

インポートする際に、Fは小文字になっている理由としては、仕様なのかなとも思いますが、タブの部分を見てみてください。
08

こちらは「f」が小文字ですよね。たぶんここに準拠しているんだと思われます。

インポートする際は、このタグの部分を見て、入力する必要がある、、と覚えておきましょう!

なので、、、継承とインポートはセットで考える必要があるんだなっていうのも感じますね!
継承したら、新しいタグにインポートする内容を入れてあげる、と!

っという事で、これにてこのチャプターも完了しましたね!!

うん、今日は順調にきてますなw

英単語でもパッと意味がわかるものが増えてくるとスムーズに進みやすいと感じます。

今だにcontractって、、、、、、、、契約だ!って思い出すのに時間かかってますからねw

スムーズに出てくるようになれば理解するのも早くなるかも!

今日はこの辺で終わりたいと思います!

次回ももちろん、CryptoZombiesの話ですね!
毎日楽しくやらせてもらってます、、、本当ありがたい限りです!!

今日も昼から第二部の更新いたしますので、見てくれている貴重な方達に向けても、しっかり更新して行きます!

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

それでは、また後ほど!!

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