Read Me : 笠間モルッククラブ【スコアボード】
このHTMLファイルは、「笠間モルッククラブ」の試合用スコアボードを実現するためのもので、以下のような特徴があります。
HTML、CSS、JavaScriptの組み合わせによって、インタラクティブでルールに沿ったスコアボードが実装されています。
全体として、ユーザーが直感的に操作でき、各種ルール(得点加算、フォルト、スコアリセット、勝利判定)がうまく反映される仕組みになっています。
1. HTMLとBootstrapによる基本構造
HTMLの構成:
- ページ全体はシンプルなHTML文書として構成されており、タイトル、スコアテーブル、スコア入力用のキーパッド、メッセージ表示領域、リセットボタンなどが含まれています。
Bootstrapの利用:
- BootstrapのCDNを利用して、ボタンやテーブルなどのスタイルが整えられており、レスポンシブで見やすいデザインになっています。
2. CSSによる独自スタイル
スタイルのカスタマイズ:
- ページ全体にパディングやテキストセンタリングが施され、テーブルやボタンのサイズ・間隔、フォントサイズが指定されています。
- 特に、得点が「0」(フォルト)の場合や、50点を超えた場合の警告用に背景色を変更するクラス(fault-cell、danger-cell)が用意されています。
3. JavaScriptによるゲームロジック
スコア入力とプレイヤー交代:
- ページ読み込み時に、トップ(12〜7点)とボトム(6〜1点)の数値ボタンが自動で生成され、各ボタンを押すとinputScore関数が呼ばれ、現在のプレイヤーのスコアに加算されます。
- また、「0(フォルト)」ボタンもあり、さらに「取り消し」ボタンで直前の入力を消去できる仕組みになっています。
特殊ルールの実装:
- 3回連続フォルト:
同じプレイヤーが3回連続で「0」を入力すると、そのプレイヤーは0点のままスコアが記録され、対戦相手に自動的に加点(最終的に50点に見せるための調整)が行われ、試合に勝利する仕組みになっています。
- 50点超過の場合:
プレイヤーの合計が50点を超えると、アラートを表示し、合計スコアは25点にリセットされるルールが適用されます。
- 勝利判定:
いずれかのプレイヤーの合計がちょうど50点になると、そのプレイヤーの勝利が宣言され、スコア入力ボタンが非表示になります。
スコアテーブルの更新:
- 各ターンごとのスコアとその小計がテーブルに動的に追加され、色分けによってフォルトや「危険」(50点超過の直後)の状態が視覚的に示されます。
- テーブルのフッターには各プレイヤーの合計スコアがリアルタイムで更新されます。
ゲームリセットと取り消し機能:
- 「再試合(リセット)」ボタンを押すと、全てのスコアや状態が初期化され、ゲームが最初から始められます。
- 「取り消し」ボタンは、最後の入力を削除して状態を戻す機能を提供します。勝敗が決まった後でも、直前の入力を消してゲームを再開できる設計になっています。
4. 全体の流れ
初期状態:
- ページ読み込み時にスコアテーブルとキーパッド(数値ボタン、フォルト、取り消し)が表示され、プレイヤーAの番から開始。
スコア入力:
- 各ボタンをクリックすることで、対応する得点が現在のプレイヤーに追加され、テーブルが更新されます。プレイヤーが交代し、現在の番がメッセージで表示されます。
特殊ルール発動:
- 3回連続でフォルトした場合は、対戦相手が自動的に勝利。
- 合計点が50点超過した場合、25点にリセットされると共にアラートが表示。
勝利とリセット:
- 勝者が決まると、スコア入力が停止し、再試合用のリセットボタンが現れます。リセットボタンを押すと、ゲームが初期状態に戻ります。