ChatGPTでプログラミングゲーム「CryptoZombies」を攻略してみた
CryptoZombiesとは、はるか昔(3,4年前)、イーサリアムやビットコインが最も栄えた時代に流行ったプログラミング言語『Solidity』を学ぶためのゲーム風教材です。
Solidityを基本にブロックチェーン技術をゲームなどに組み込む方法が初心者でも学べるということで大変注目された無料教材なのでした。
著者も当時、金に目がくらんで、、、ゲフンゲフン,,,,えー、未来の技術を学ぶために清らかな気持ちでSolidityの公式ライブラリを血眼で読み漁っていました(もちろん稼げないし、きっちり挫折しました。そりゃそーだ。)
今回はそんなCryptoZombiesをChatGPTの力を使ってどこまで攻略できるのか検証しようと思います。
これを完全攻略した暁には私も『ブロックチェーンエンジニア』として偉そうな顔をできるわけですね。うんうん。
ゴール
CryptoZombiesの問題を全て解く
基本方針
・ChatGPTのみの力で解く。
・できる限り無料版の3.5turboを使う。
・不正解なら修正を要望。その上で不正解の場合、有料版のGPT4に移行。
・GPT4で修正をかけて解けなくなった時点で終わり。
具体的な方法、結果
1、下準備
①ChatGPTを開く
②Deeplを開く
③DeeplにChatGPTに打ち込む定型文を翻訳してもらう。
2、CryptoZombiesの準備
①CryptoZombiesを開く
②ボタンを押す
③ボタンを押す
④コースを選ぶ
⑤Chapter1を無視する
Chapter1は全体の概観なので無視。
右下の>で次のレッスンに進もう。
3、問題を解き始める
①ここからが本番だ!
Chapter2から本格的なコーディングの講義が始まる。
ChatGPTを使って神コーダーになろう。
②ChatGPTを開いて下準備で作った定型文をコピペ
③ChatGPTに情報を渡す
一つ目の【##Prerequisites##】の下に⑨の左側の講義内容。
二つ目の【##Problem##】の下に⑨の右側の問題をコピペする。
④送信!!!
⑤回答が返ってくる
⑥ChatGPTの回答をそのまま①の右側にコピペ
⑦下にあるボタンで添削を開始
⑧クリア!!!
そのまま⑦の場所に出てきた「NextChapter」ボタンで次に進もう
⑨「②~⑧」を繰り返す
あとは同様の作業を行うのみだ。
いけるところまで突き進もう。
※途中でメアドの登録を求められるが別に無視でもいい。
進捗を保存したい人は登録しよう。
4、出力が少し変なので修正
①Chapter3で文章とコードになってしまった
②「コード形式」で出力するようにDeeplの指示を変更
③出力しなす
④気を取り直して進めよう。
5、再修正…がダメ
①今度は一部のコードしか出してくれない。
全て吐き出させてもっと楽をしよう。
②「4②」に全てのコードを出力する指示に変更する。単純にDeeplに「全てコードを吐き出して」と文章を翻訳、追加するだけだ。
③完璧
④が、ダメ。
6、新しいChatでやり直す
①出力がダメなときは、Chat欄を変えてやり直そう。
これも大切なポイント。上手く回答が出ないときは、あえてリフレッシュする(NewChatでチャットしなおす)と良い回答が出やすい。
7、ひとまず勝利
この後はスムーズに進み、一区切りであるChapter14までたどり着く事ができた。
8、Lesson2に進むも挫折
だ、だめだ。。。何回やっても上手くいかない。。。。
いったん答えを確認する
そういえば、数年前に自力でやったときも同じエラーが出たような…。
確か「次のChapter?とかの無駄な内容」まで『講義』に入っていたんじゃなかったか?
という訳で、いったん次のレッスンで解かせたところ…
昔の自分と同じミスをしてたのか~。
嬉しいような、恐ろしいような。
今回のミスは少し目をつぶって進んでみましょう。
9、ほぼ快調な歩み
うんうん、結構いけそうだ。
その後も問題を解き進めることができた。
途中、やはりコード内にお節介コメント(多分、コードを動かす際には支障ないが今回の問題形式だと不正解判定くらった)を勝手に入れていて爆発していたので時々コード(コメント)の一部を消した。
最初に決めた方針ガン無視ですね、はい。
キリがないのでここら辺で筆を置くとしよう。(筆者の疲れが限界)
雑感
ChatGPTを使ってプログラミング学習をした際に気づいたことです。煮るなり、焼くなり、お刺身にするなり、好きにしてください。
①Lesson2のChapter6あたりで動きが明らかに重くなった。
やはり難易度(講義内容の複雑さ?)と処理速度が比例?していそうだ。
②基本的に間違えるときは、無駄なコードを書いているようだ。
英文添削&更正アプリ「Grammary」とChatGPTを比べた時にChatGPTはぐいぐい直しすぎる傾向にあるといわれているが、同様のことが起こっている感覚がある。
誤解を恐れずにいうとChatGPTは基本的に「おせっかいな性格」なのかもしれない。
この前、クールな人物として会話を促したときも、無駄に口数が多く、口調は冷たくてもおしゃべりというか、おせっかいな印象を受けた。
実際のプログラミングコードを書かせた際にも、コードが汚く(無駄に長い)、「整理して」と指令するとより簡潔なコードを書くといった報告が投稿されていることから、このおせっかいさ、無駄さが素のChatGPTの特徴といえるのかもしれない。
ポジティブにとらえると1聞いて10学ぶタイプなのかな??
まとめ
いかがだっただろうか?
最後の方は駆け足になってしまったが、ChatGPTの能力について理解の手助けになれたら幸いです。(筆者のテンションが限界)
正直GPT4を使わないでも相当なパフォーマンスを発揮してくれたので驚きました。
今回紹介した方法やテクニックを応用して、レッツエンジョイChatGPTだ!!
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?