見出し画像

ChatGPTでプログラミングゲーム「CryptoZombies」を攻略してみた

CryptoZombiesとは、はるか昔(3,4年前)、イーサリアムやビットコインが最も栄えた時代に流行ったプログラミング言語『Solidity』を学ぶためのゲーム風教材です。

Solidityを基本にブロックチェーン技術をゲームなどに組み込む方法が初心者でも学べるということで大変注目された無料教材なのでした。

著者も当時、金に目がくらんで、、、ゲフンゲフン,,,,えー、未来の技術を学ぶために清らかな気持ちでSolidityの公式ライブラリを血眼で読み漁っていました(もちろん稼げないし、きっちり挫折しました。そりゃそーだ。)

今回はそんなCryptoZombiesをChatGPTの力を使ってどこまで攻略できるのか検証しようと思います。

これを完全攻略した暁には私も『ブロックチェーンエンジニア』として偉そうな顔をできるわけですね。うんうん。

ゴール

CryptoZombiesの問題を全て解く

基本方針

・ChatGPTのみの力で解く。
・できる限り無料版の3.5turboを使う。
・不正解なら修正を要望。その上で不正解の場合、有料版のGPT4に移行。
・GPT4で修正をかけて解けなくなった時点で終わり。

具体的な方法、結果

1、下準備

①ChatGPTを開く

コンニチハ!

②Deeplを開く

どうも!

③DeeplにChatGPTに打ち込む定型文を翻訳してもらう。

今日はChatGPTにプロのコーダーになってもらう

You are a coder of the proffessional programming language Solidity.

Slove the following problems.
###Prerequisites###
###Problem###


2、CryptoZombiesの準備

①CryptoZombiesを開く

②ボタンを押す

③ボタンを押す

④コースを選ぶ

今日は初めから。右の>を押そう
出てきたボタンを押そう

⑤Chapter1を無視する

Chapter1は全体の概観なので無視。
右下の>で次のレッスンに進もう。

右の値を動かすとゾンビの見た目を変えて遊べる


3、問題を解き始める

①ここからが本番だ!

Chapter2から本格的なコーディングの講義が始まる。
ChatGPTを使って神コーダーになろう。

Chapter2の画像。
左の講義内容をもとに、右の問題を解く。

②ChatGPTを開いて下準備で作った定型文をコピペ

能力を引き出すために英語を使おう

③ChatGPTに情報を渡す

※ChatGPTを使う上で最も大切なポイントの一つだ。情報』を渡そう。
『情報』を渡すことで、ChatGPTの能力が格段に向上する。

一つ目の【##Prerequisites##】の下に⑨の左側の講義内容。
二つ目の【##Problem##】の下に⑨の右側の問題をコピペする。

優秀な部下に丸投げ

④送信!!!

⑤回答が返ってくる

はい、神。

⑥ChatGPTの回答をそのまま①の右側にコピペ

丸々入れ替えてOK

⑦下にあるボタンで添削を開始

⑧クリア!!!

無事クリアできたようだ

そのまま⑦の場所に出てきた「NextChapter」ボタンで次に進もう

⑨「②~⑧」を繰り返す

あとは同様の作業を行うのみだ。
いけるところまで突き進もう。

※途中でメアドの登録を求められるが別に無視でもいい。
進捗を保存したい人は登録しよう。


4、出力が少し変なので修正

①Chapter3で文章とコードになってしまった

正解だが文章とコードで形式が混ざっている

②「コード形式」で出力するようにDeeplの指示を変更

先ほどの文章に
「コードを出力してください」
を追加した

You are a coder of the proffessional programming language Solidity.

Slove the following problem and output the code.

###Prerequisites###

###Problem###

③出力しなす

完璧だ。進捗内容まで報告してくれた。右上の「Copy code」のワンクリックでコピーもできる。

④気を取り直して進めよう。

いける、いけるぞおお!!


5、再修正…がダメ

①今度は一部のコードしか出してくれない。
全て吐き出させてもっと楽をしよう。

これだとどこに張り付ければいいのかわからない。

②「4②」に全てのコードを出力する指示に変更する。単純にDeeplに「全てコードを吐き出して」と文章を翻訳、追加するだけだ。

③完璧

これでもっと楽になった

④が、ダメ。

だめだあ。エラーだ。


6、新しいChatでやり直す

出力がダメなときは、Chat欄を変えてやり直そう。

これも大切なポイント。上手く回答が出ないときは、あえてリフレッシュする(NewChatでチャットしなおす)と良い回答が出やすい。

Complete the following code based on the prerequisites.

###Prerequisite###
ここに講義文
###question###
ここに問題文

疲れたので筆者の指示が少し雑になっている


まともそうなのが返ってきた
せいかい!!


7、ひとまず勝利

この後はスムーズに進み、一区切りであるChapter14までたどり着く事ができた。

Chapter14はエンディングだ。
Chapter1同様に右下の>で進もう。
一応、名前を入れるところでゾンビの見た目をランダム生成できる
(いわゆるNFTの基礎になる)。


Lesson1クリア!!


緑のボタンを押して次のLessonに進もう


8、Lesson2に進むも挫折

だ、だめだ。。。何回やっても上手くいかない。。。。

いくらやってもエラーがでてしまう

いったん答えを確認する

凡ミスをしていたようだ(publicがいらない)。
ん?あと無駄なコードがあるな。。

そういえば、数年前に自力でやったときも同じエラーが出たような…。

確か「次のChapter?とかの無駄な内容」まで『講義』に入っていたんじゃなかったか?

という訳で、いったん次のレッスンで解かせたところ…


ビンゴ!!解けるじゃん!

昔の自分と同じミスをしてたのか~。
嬉しいような、恐ろしいような。

今回のミスは少し目をつぶって進んでみましょう。

9、ほぼ快調な歩み

なんやかんや解けるなあ

うんうん、結構いけそうだ。

その後も問題を解き進めることができた。

途中、やはりコード内にお節介コメント(多分、コードを動かす際には支障ないが今回の問題形式だと不正解判定くらった)を勝手に入れていて爆発していたので時々コード(コメント)の一部を消した。

最初に決めた方針ガン無視ですね、はい。

キリがないのでここら辺で筆を置くとしよう。(筆者の疲れが限界)

雑感

ChatGPTを使ってプログラミング学習をした際に気づいたことです。煮るなり、焼くなり、お刺身にするなり、好きにしてください。

①Lesson2のChapter6あたりで動きが明らかに重くなった。

やはり難易度(講義内容の複雑さ?)と処理速度が比例?していそうだ。

②基本的に間違えるときは、無駄なコードを書いているようだ。

英文添削&更正アプリ「Grammary」とChatGPTを比べた時にChatGPTはぐいぐい直しすぎる傾向にあるといわれているが、同様のことが起こっている感覚がある。

誤解を恐れずにいうとChatGPTは基本的に「おせっかいな性格」なのかもしれない。

この前、クールな人物として会話を促したときも、無駄に口数が多く、口調は冷たくてもおしゃべりというか、おせっかいな印象を受けた。

実際のプログラミングコードを書かせた際にも、コードが汚く(無駄に長い)、「整理して」と指令するとより簡潔なコードを書くといった報告が投稿されていることから、このおせっかいさ、無駄さが素のChatGPTの特徴といえるのかもしれない。

ポジティブにとらえると1聞いて10学ぶタイプなのかな??

まとめ

いかがだっただろうか?

最後の方は駆け足になってしまったが、ChatGPTの能力について理解の手助けになれたら幸いです。(筆者のテンションが限界)

正直GPT4を使わないでも相当なパフォーマンスを発揮してくれたので驚きました。

今回紹介した方法やテクニックを応用して、レッツエンジョイChatGPTだ!!


この記事が参加している募集

AIとやってみた

この記事が気に入ったらサポートをしてみませんか?