Files
Poker/public/create.html
T
agomizi1cmandClaude Opus 5.5 0d3a054f0d Add CPU opponents and a table type selector (cash only / friends / CPU)
- Create screen: choose キャッシュオンリー (real cards, chips only), 友人戦
  (server deals and settles) or CPU戦 (友人戦 plus 1–8 CPU players); replaces
  the card toggle. The lobby shows each table's type
- Poker AI written from scratch (server/ai.js, no libraries): fast 7-card
  evaluator (checked against bestHand), Monte Carlo equity, and decisions from
  hand rank, pot odds, raise count, opponents and a per-CPU style (aggression,
  bluff rate); continuation bets via the last aggressor. It never sees other
  players' hole cards
- CPU seats: think time of 0.7–1.8s (faster when no human is left in the hand),
  automatic rebuy, never the host, no new hand unless a human is playing,
  re-think after pause
- Play UI: robot avatars and a "考えています…" status for CPU turns
- Tests for the evaluator, equity, legality of AI actions and CPU tables

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 16:55:25 +09:00

84 lines
3.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<meta name="theme-color" content="#24493b">
<meta name="robots" content="noindex, nofollow">
<title>テーブル作成 - Hold'em Night</title>
<link rel="icon" href="/assets/favicon.ico">
<link rel="stylesheet" href="/assets/style.css">
</head>
<body>
<main class="wrap">
<div class="topbar">
<a class="icon-btn" href="/" aria-label="戻る">←</a>
<h1>テーブルを作成</h1>
</div>
<form id="form" novalidate>
<label for="table-name">テーブル名</label>
<div class="row">
<input id="table-name" type="text" maxlength="24" required>
<button type="button" class="icon-btn" id="reroll" aria-label="別の名前にする">🎲</button>
</div>
<div class="label" id="mode-label">テーブルの種類</div>
<div class="segmented" role="radiogroup" aria-labelledby="mode-label">
<label><input type="radio" name="mode" value="chips" checked><span>キャッシュ<br>オンリー</span></label>
<label><input type="radio" name="mode" value="friends"><span>友人戦</span></label>
<label><input type="radio" name="mode" value="cpu"><span>CPU戦</span></label>
</div>
<div class="hint" id="mode-hint"></div>
<div id="cpu-options" hidden>
<div class="label" id="cpu-label">CPU の人数</div>
<div class="segmented numbers" role="radiogroup" aria-labelledby="cpu-label">
<label><input type="radio" name="cpu-count" value="1"><span>1</span></label>
<label><input type="radio" name="cpu-count" value="2"><span>2</span></label>
<label><input type="radio" name="cpu-count" value="3"><span>3</span></label>
<label><input type="radio" name="cpu-count" value="4"><span>4</span></label>
<label><input type="radio" name="cpu-count" value="5" checked><span>5</span></label>
<label><input type="radio" name="cpu-count" value="6"><span>6</span></label>
<label><input type="radio" name="cpu-count" value="7"><span>7</span></label>
<label><input type="radio" name="cpu-count" value="8"><span>8</span></label>
</div>
</div>
<label for="stack">開始スタック</label>
<input id="stack" type="number" inputmode="numeric" min="10" step="1" value="1000">
<div class="label">開始ブラインド(SB / BB)</div>
<div class="row">
<input id="sb" type="number" inputmode="numeric" min="1" step="1" aria-label="スモールブラインド">
<span class="slash">/</span>
<input id="bb" type="number" inputmode="numeric" min="1" step="1" aria-label="ビッグブラインド">
</div>
<div class="hint" id="blind-hint">スタックに合わせて自動設定(BB ≒ スタックの1/100)</div>
<div class="switch-row">
<span>ブラインドタイマー</span>
<label class="switch">
<input id="timer" type="checkbox" aria-label="ブラインドタイマー">
<span></span>
</label>
</div>
<label for="interval">インターバル</label>
<div class="unit-input">
<input id="interval" type="number" inputmode="numeric" min="1" max="240" step="1" value="10" disabled>
<span class="unit">min</span>
</div>
<div class="schedule" id="schedule" hidden></div>
<div class="error-text" id="error"></div>
<button class="btn btn-orange btn-block mt-8" id="submit" type="submit">テーブルを作成</button>
</form>
</main>
<script src="/assets/common.js"></script>
<script src="/assets/blinds.js"></script>
<script src="/assets/create.js"></script>
</body>
</html>