Skip to content

tmuxlab/sugoroku-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

確率すごろくゲーム(24年度ゼミナール内容)

注意

This readme is already calibrated,but if you have any problems, please contact to Issues.

概要

このゲームは、確率や統計の概念を楽しく学べるオンラインすごろくゲームです。プレイヤーはサイコロを振ってマップ上を進み、さまざまなイベントを通じて確率的な意思決定を行います。ゲームはターン制で進行し、設定したターン数が経過すると終了します。ゴールはなくマップはループしているため、最も多くのマスを進んだプレイヤーが勝者となります。

主な特徴

  1. 多様なサイコロ選択

    • 公開サイコロ:各目の出現確率が明示されたサイコロ。戦略的に選択可能。
    • 謎サイコロ:出目の確率が非公開のサイコロ。実際に振って結果を観察し、確率傾向を推測する楽しみ。
  2. ターン制終了とループマップ

    • 設定したターン数(max_turns)が経過するとゲーム終了。
    • マップはループしており、プレイヤーがボードの終端を超えるとスタート付近に戻ります。
    • 勝利条件は「最も多くのマスを進んだプレイヤー」。
  3. 多彩なイベント

    • モンティ・ホールイベント:有名な確率問題を再現。賞品を得るかどうかを選択。
    • 確率の迷路イベント:分岐ごとに成功確率と失敗確率が異なる迷路に挑戦。
    • サイコロ選択イベント:複数のサイコロから1つを選択し、以後そのサイコロを使用。
    • 前進/後退イベント:指定されたマス数だけ前進または後退。
  4. 教育的要素

    • 確率分布や期待値、リスク管理などを自然に学習。
    • 謎サイコロを通じてデータ分析や推測のスキルを養成。

ゲームの設定

プレイヤー人数とキャラクター選択

ゲーム開始前にプレイヤー人数(2~4人)と各プレイヤーのキャラクターアバターを選択します。

ターン数の設定

ゲーム開始時に最大ターン数(max_turns)を指定できます。デフォルトは20ターンです。ターン数が経過するとゲームが終了し、勝者が決定されます。

サイコロの選択

特定のイベントマス(サイコロ選択イベント)に止まると、以下のサイコロから1つを選択できます:

  • 公開サイコロ:出目の確率が明示されています。
  • 謎サイコロ:出目の確率が非公開。振った結果から確率を推測します。

ゲームの進行

  1. サイコロを振る

    • プレイヤーはサイコロを振り、出た目の数だけマスを進みます。
    • 出目に応じて累計移動距離(total_distance)が加算されます。
  2. イベントマスに止まる

    • マスに設置されたイベントが発生します。
    • イベントの種類に応じて前進、後退、サイコロの選択、迷路挑戦などが行われます。
  3. マップのループ

    • プレイヤーの位置がマップの終端を超えると、スタート付近に戻ります。
    • 位置の更新は player.position = player.position % board.size により行われます。
  4. ターンの進行

    • 各プレイヤーが順番にサイコロを振り、ターンが進みます。
    • 設定された最大ターン数に達するとゲームが終了します。
  5. 勝者の決定

    • 最終ターン終了時に、累計移動距離(total_distance)が最も多いプレイヤーが勝者となります。

イベントの詳細

モンティ・ホールイベント

  • 概要:プレイヤーは3つの扉から1つを選びます。選んだ後、ハズレの扉が1つ開かれ、選択を変更するかどうかを問われます。
  • 結果
    • 変更する:賞品を得る確率が高まります。
    • 変更しない:元の選択を維持します。
  • 影響:成功すると指定されたマス数だけ進み、失敗すると指定されたマス数だけ戻ります。

確率の迷路イベント

  • 概要:プレイヤーは確率に基づいた選択肢を進んでいく迷路に挑戦します。
  • 選択肢
    • 各選択肢には成功確率と失敗確率が設定されています。
    • 成功すると指定されたマス数だけ進み、失敗すると指定されたマス数だけ戻ります。
  • 影響:成功・失敗に応じて累計移動距離が加算・減算されます。

サイコロ選択イベント

  • 概要:プレイヤーは複数のサイコロから1つを選択できます。
  • サイコロの種類
    • 公開サイコロ:出目の確率が明示されています。
    • 謎サイコロ:出目の確率が非公開で、プレイヤーは実際に振って結果を観察して推測します。
  • 影響:選択したサイコロの確率に基づいて以後のサイコロ振りが行われます。

前進/後退イベント

  • 概要:指定されたマス数だけプレイヤーを前進または後退させます。
  • 影響
    • 前進:累計移動距離が加算されます。
    • 後退:累計移動距離が減算され、位置が変更されます。

全員参加型のサイコロイベント

  • 概要:あるイベントマスに止まったプレイヤーがトリガーとなり、全プレイヤーが特定の順番でサイコロ(またはスロット)を選び、振る/回す。
  • 説明:プレイヤーは「A, B, C」など3つのスロット機種から1つを選ぶ。 各スロットは内部的に成功・失敗率が異なり、「大当たり(+5マス)」「そこそこ(+2マス)」「ハズレ(-2マス)」などの結果が出る。 スロットの特徴は非公開だが、プレイヤーが複数回挑戦するうちに、「Aスロットは大当たり率が高いがハズレも多い」「Bスロットは無難」「Cスロットは安定して小進み」など、傾向を推測できる。

ユーザーインターフェース

  • プレイヤー情報:各プレイヤーの名前、位置、キャラクター、累計移動距離が表示されます。
  • メッセージログ:ゲーム中のイベントやアクションのメッセージが表示されます。
  • サイコロの確率分布:公開サイコロの確率分布をレーダーチャートで表示します。謎サイコロは確率不明として表示されます。
  • イベント説明:各イベントの詳細説明が表示されます。
  • モーダルウィンドウ:モンティ・ホールイベント、迷路イベント、サイコロ選択イベント時に選択肢を提示するモーダルが表示されます。

ゲーム終了と勝者の決定

  • 終了条件:設定されたターン数(max_turns)が経過するとゲームが終了します。
  • 勝利条件:累計移動距離(total_distance)が最も多いプレイヤーが勝者となります。
  • 結果表示:ゲーム終了時に勝者の名前と累計移動距離が表示されます。

開発・拡張案

  • コインシステムの導入

    • コインを集めることで勝利条件をコイン量に変更。
    • イベントマスにコイン獲得・減少の要素を追加。
  • ボードのカスタマイズ

    • マス数やイベント配置を外部ファイルから読み込み可能にする。
    • ユーザーが独自のボードを作成できる機能を追加。
  • 新たな確率イベントの追加

    • 中心極限定理を活用した特殊サイコロ。
    • 他の確率パズルやミニゲームの実装。

フィードバック

フィードバックは大歓迎です。むしろお願いします。

お問い合わせ

質問やフィードバックがある場合は、Issue にてご連絡ください。


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published