見出し画像

[AIプログラミング] Claude3 Opusに"エレビーター"のコードをみてもらいました

先日講談社さんに紹介していただいた自作ゲーム"エレビーター"のコードを話題のAI Claude3さんに見てもらいました。

800行程度のコード index.php です。

依頼

どういうコードか説明してください。(index.phpを添付してこうお願いしただけ)

Claude3 Opus

このコードは、HTML、JavaScript、PHPを使用してエレベーターシミュレーションゲームを実装したWebアプリケーションです。以下にコードの主要な部分について説明します。

  1. PHPの部分:

    • GETパラメータから、フロア数とエレベーター数を取得し、それぞれ$num_of_floorsと$num_of_elevatorsに代入しています。

    • デフォルト値として、フロア数とエレベーター数は4に設定されています。

    • 画面サイズに関するパラメータ$screenも取得しています。

  2. HTMLの部分:

    • ゲームの画面構成やリンク、説明文などを表示するためのHTMLタグが記述されています。

    • <canvas>要素が使用され、idがcvsに設定されています。ここにゲームのグラフィックスが描画されます。

  3. JavaScriptの部分:

    • ゲームのメインロジックはJavaScriptで実装されています。

    • 変数の初期化、定数の定義、ゲームの状態管理などが行われています。

    • エレベーターやフロアの座標計算、エレベーターや人の移動、衝突判定などのゲームロジックが実装されています。

    • マウスやタッチイベントのハンドリング、音楽の再生なども行われています。

    • draw()関数が定期的に呼び出され、ゲームの描画と更新が行われます。

  4. ゲームの概要:

    • プレイヤーは、エレベーターを操作して、各フロアから目的のフロアに人を運ぶことが目的です。

    • エレベーターをマウスやタッチで操作し、人を目的のフロアに運びます。

    • 人が目的のフロアに到着すると、スコアが加算されます。

    • 一定時間内に建物の価値を維持することが目標です。

    • 人が怒ると建物の価値が下がり、建物の価値がゼロになるとゲームオーバーになります。

  5. その他の機能:

    • ゲームの難易度は、フロア数とエレベーター数によって調整されます。

    • 背景音楽やサウンドエフェクトが実装されており、ボタンクリックで再生されます。

    • ゲームオーバー時には、リプレイ用のボタンが表示されます。

全体的に、このコードはエレベーターシミュレーションゲームを実装したWebアプリケーションで、HTMLとJavaScriptを使用してインタラクティブな体験を提供しています。ゲームロジックやグラフィックスの描画、ユーザーインタラクションの処理などが含まれています。


まとめ

よくもまぁ、一瞬でw。そうそう、そうです。そうでした。合ってます。
改善も出してもらったので、すぐに変えられそうなところは使わせていただきました。800行でも重たかったようで分割回答でしたが、数十分〜数時間の空き時間で追加し続けたボロボロのコードをよくもまぁ一瞬で^_^。時代ですね。


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