(2年後期実験) 簡単ゲーム作成
1.目的
簡単なゲーム作成を通して、遊びながらプログラミングすることで、スキルアップを目指す。
2.概要
簡単なゲームとして、以下の3つのゲームの中から1つを選び、リンク先の JavaScript による基本機能だけのゲームに、ルール判定・勝敗判定などの機能を組み込む。以下のリンク先の五目並べ、オセロゲームのプログラムは、2人で交互にコマをうつX,Y座標を入力しながら、コマの結果(や勝敗の結果)が表示されるものを作成する。
- 五目並べ(連珠)
- 5つ並べば勝ち…が五目並べ。これだけのルールだと、先手が有利なので先手の黒には、長連、四四、三三など禁じ手などが決められているのが連珠
- オセロゲーム
- 自分のコマで挟んだ相手の駒を裏返しで自分のコマにできる。ベースとなったリバーシを、日本のゲーム研究家の長谷川さんが改良したものがオセロゲーム。ルールが単純だけど、最後に大逆転となることも多い。
- ポーカー
- ポーカーはプレーヤーにトランプのカードを5枚づつ配り、その後にカードを入れ替えた後に、カードの役で勝敗が決まる。カジノゲームとして遊ぶ際には、役の完成度に応じて賭け(ベッド)たり、降りたりしながら遊ぶ。ゲームのやり方により、細かくルールが違ったりローカルルールを設ける場合もある。
プログラム作成の腕試しとしての難易度であれば、ポーカー(すべての役判定をするなら) > オセロ ≒ 連珠 > 五目並べ だと思われる。
もし、この3つのテーマの難易度が面白くないのであれば、三目並べでもよい。ただし人間対コンピュータであること。
3.実験方法
- 概要で示した五目並べ,オセロ,ポーカーのルールについて調べ、自分で2週の実験時間の中で、改良できそうなテーマを最初に1つ選んで下さい。
- 選んだテーマについて、概要で示したリンク先の html ファイルを自分のパソコンに保存し、エディタにてプログラム中の JavaScript の内容を理解してください。
- 以下のチェックシートのファイルをダウンロードし、シートのタブの中から自分が取り組むテーマを選んで、2週の実験の中で実装できそうな機能について、「作成の予定」の列に”〇”を入力してください。
- 実験1週目でプログラムを作成したら、実験時間の最後に、実験1週目で完成した機能について、チェックシートの「1週目」の列に”〇”を入力してください。
- 実験2周目では、前回の続きでプログラムを完成にむけて作成してください。2周目の実験時間の最後に、チェックシートの「2週目・自己判定」の欄に”〇”(一部未完成なら”△”,未完成なら”×”)を入力してください。
- 自己判定の記入が終わったら、同じ実験グループの1人と交代して、相手のプログラムの完成度をチェックし、相手のチェックシートの「2周目・他者判定」の欄に”〇”,”△”,”×”を入力してください。また、他の人のチェックシートに記入する際には、チェックシート表の下の「チェック担当」の欄に名前を記入しておいてください。
4.結果
- 出来上がったプログラムを動かして、作成した機能がちゃんと動作しているということが分かる実行例をいくつか画面のキャプチャ機能を使って「実験結果」として記録してください。
- 実験方法での2週目・他者判定において、(自分では動くと思っていたのに)”△”や”×”の判定のあったものについては、その実行例も「実験結果」として記録してください。
- また、他の人に他者判定をしてもらった自分のチェックシートも「実験結果」として保存してください。
5.レポート
実験レポートでは、以下の内容について記載してください。
- 目的
- 概要
- 自分が作成したテーマのルールなどを簡単にまとめる。
- プログラムの説明
- 自分のプログラムのフローチャートなどを作成し(全体の詳細なフローチャートでなくてもよい)、簡単に全体像を説明してください。
- 自分で工夫した所については、詳しく説明してください。
(例えばオセロなら裏返し処理の詳細なフローチャートなどを記載するなど。)
- 実験結果
- 実験結果として、プログラムリスト、チェックシート、動作の解る実例などをつけてください。
- 実験結果として、プログラムリストや動作例などの図をレポート内に入れる場合は、「プログラムリスト1」「図2動作例」といったように、リスト番号、図番号などをつけてレポート内で引用すること。
- 考察
- 自分で作ったプログラムでうまく動いていない所があれば、その原因やどのようにすれば直せるかを考え、その内容を説明してください。(必ずしもプログラムを直す必要はない)
- 動作で問題が見つからなかった場合は、さらにゲームを完全なものとするにはどういう改良が期待できるか、説明してください。