何やらAWSで面白そうなキャンペーンが開催されていました。
Build a game using Amazon Q CLI
Write a blog about what & how you built it, or a record a video about your experiences, then post in social media
Redeem a Amazon Q branded T shirt
①Amazon Q CLIを使ってゲームをビルドする(作る)
②何を作りどのように作ったかをブログを書くか動画に記録してSNSに投稿する
③Tシャツと引き換え
手順はたったこれだけです!
↓日本語翻訳版も公開されてました
AWS Builder IDにサインアップ
必要であればDiscordサーバにも参加しましょう。
Amazon Q CLIのインストール
以下のページの手順に沿ってインストールを行いましょう。macOSでHomebrewを使っていればbrew
コマンドで簡単にインストールできます。
ゲームを作成
私が作ったゲームは後述します。
ブログなどを作成してSNSに投稿
作成したゲームについてブログを書くか動画を作成し、SNSに投稿します。投稿時にはハッシュタグ#AmazonQCLI
を忘れずに付けましょう。
また、Tシャツ獲得フォームではGitHubリポジトリのリンクが必須となっているため、コードは必ずGitHubで公開しておく必要があります。記事は日本語でも問題ありません。
Tシャツ獲得フォームへ入力
個人情報のほか、以下の内容が必要です。
- Link to the public blog / video you’ve published about your game
- Link to your social media post
- Link to your game code in GitHub
当然ですが、Publicで閲覧可能であることに注意が必要です。
私はサッカーが好きなので、今回はPK戦を行うゲームを作ってみました。
特に指定があるわけではないですが、記事で紹介されているPyGameを利用したゲームを作成してもらいました。
最初のプロンプトがこちら。
ローカル環境にPyGameを使って、サッカーのPK戦を行うゲームを作ってください
操作はクリックするだけのシンプルなものですが、文字化けしていたり、そして何よりプレイヤーのキックが完了後、すぐにCPUのキックが始まってしまうので、プレイヤーはゴールキーパーの操作をほぼできない問題があります。というわけで指示を出しつつ改良。
途中のプロンプトは割愛しますが、下記の機能実装をお願いしました。
- 文字化けの解消
- プレイヤーのキック後に、ゴールキーパーの操作を受け付ける時間を用意
- ゴールキーパーが上下左右に動けるように
- CPUのキーパーの色を青に
- 試合経過がわかるように表を表示
- 早期決着パターンで、勝敗を確定できるように
- サドンデスが実施できるように
- 難易度選択
途中出てきたエラーは適宜修正をお願いしました。
PK戦は通常5回ずつキックを行うのですが、展開によっては勝敗が確定するタイミングがあります。例えば、先攻が3回連続成功し、後攻が3回連続で失敗すると、規定の5回以内で後攻が勝利することは不可能なため、この時点で勝敗が決定します。
このような早期決着パターンがいくつかあるのですが、「全て網羅して」とお願いしても、プレイ時に早期決着とならないことが多々ありました。そのため、以下のようなプロンプトを適宜入力して都度修正をしました。
ラウンド5の先攻が終了して、2-3の状況で後攻のキックが発生してしまいます。0-1、1-2、2-3、3-4のケースで同様の事象が発生しないか確認してください。
上記の場合は後攻のキックが不要にも関わらず、キックが発生する問題ですが、「ラウンド5の先攻が終了して、2-3の状況」だけの修正をお願いしても2-3の修正しかされないので、同じようなパターンで起こり得るスコアも修正する様にしています。
今回作成されたコードはこちらになります。
ちなみにこのゲーム裏技がありまして、キック時にクリックを連打すると無限に得点をし続けることが可能です。そのため6点以上を最初のキックで記録することで、CPUにボールを蹴らせず勝利することができます。
バグじゃなくて仕様だよ。
Views: 2