目的

簡単なゲーム・プログラムの製作に取り組むことにより、 問題解決のための処理手順を考え、 プログラム設計および作成を通じて、プログラミング技能の向上を目指す。 プログラムの作成にあたって「データをどの様に記憶させ扱うのか」に力点を 置くために、入出力は文字だけのシンプルなものとする。

プログラム例

簡単なゲームとして、五目並べオセロゲームトランプを テーマとする。 基本的に2人のユーザが、交互に手を入力し、その入力に会わせた盤面を 表示するものとする。 各自興味のあるゲームを1つ選び、ゲームとして利用者が便利に遊べる様に 機能を追加せよ。 プログラム作成にあたって、最初に壮大なゲームの目標を決めて作るのではなく、 基本的な簡単な機能の基本形のプログラムから、少しづつ機能を追加していくこと。

三目並べ

プログラミングに自信のある学生さんは、 三目並べにチャレンジしてもよい。 ただし、ルールは単純なので、ゲームは人間プログラムとする。

ゲーム・ルールの参考資料

ルールの詳細は、以下に示すWebページを参考にすれば良い。

五目並べ

オセロゲーム

オセロを1次元で示した以下の図で、 i=0 の場所に黒を置いたら、i=1〜3の白は反転すべきか/そのままなのか、 判定するなら、どのような処理になるのかフローチャートを描け。

トランプ(ポーカー)

  • ポーカー(wikipedia)
  • ポーカーは、様々なルールがある。 また、役とその勝ち負けもすべてを正しく処理しようと思うと、 極めて複雑なプログラムを大量に作らなければならない。 この実験では、2週テーマで複雑なプログラム作成は難しいので、 ポーカーのゲームは、以下のように簡略化する。

    • 2人にそれぞれ5枚のカードを配る
    • それぞれ捨てるカードを指定する。
    • 捨てたカードの枚数と同じだけ新しくカードを配る
    • お互いのカードの役を比べて、高い役の人の勝ち。

評価

プログラムができあがったら、 以下に示すチェックシートで、 どこまで機能が実現できているか、 評価すること。 最終週では、実験グループの他の人に、自分のプログラムを操作してもらい、 チェック項目が正しく動作しているのか、判定してもらうこと。 またレポートでは、どのようにうまく動かないのか、分かる説明を記載すること。

レポートに記載する内容

  1. 目的
  2. 概要

    概要では、このレポートの簡単な説明を記載すること。 作ったプログラムが何か、そのゲームの簡単なルールなどを説明すること。

  3. プログラムリスト

    プログラムリストをWordに貼り付けると、 フォントサイズや行間の調整をしないと、無駄に紙を使ったり、 インデントが崩れるので、別に印刷してもいい。 「プログラムリスト1」とタイトルをつけ、 レポート中で「プログラムリスト1参照」と明記すること。

  4. 説明
    • 処理の流れが判る説明(フローチャート等)

      フローチャートを描く際は、絵を書くソフトに慣れていないなら、 定規などを使いながらの手書きの図を用いること。

    • データの扱いがわかる説明(変数表など)
  5. 特にPRできるところ
  6. 動作の判る一例
  7. 考察
    1. チェックシート
      1. プログラム作成前(着手予定の機能に○を記入)
      2. 1週目時点(完成○、着手予定×、着手しない無記入)
      3. 2週目自己チェック (完成○、作ったけど正しく動かない△、作れなかった×)
      4. 2週目相互チェック(チェックした人の名前) (動いた○、おかしい×(おかしな動きをした例))
      チェックシート記入例
      項目 作成前 1週目 自己判定 相互判定
      ○○ができる × ×
      △△ができる
    2. チェックシートより判ったこと
    3. どう書けば短い/判りやすいプログラムになったか プログラムのどの部分をどう書けばよかったか具体的に。