フェルトの問題
ルーレットレイアウトはマップです。チップがその上のどこに置かれているかで、それが何をカバーするかがわかります。ナンバーの上、2つの間のラインをまたいで、4つのコーナーの上に、列の端に。物理的なディーラーはマップを読み取ります。しかし、決済エンジンはそれをエンコードする必要があり、明白なエンコーディング(ポジションのテーブルと各ポジションが触れるナンバー)は、微妙に間違えやすく、チェックが難しいデータです。間違った4番目のナンバーをリストするコーナーは永遠に間違って支払われ、誰かが気付くまで誰も気付きません。
ここのエンジンはマップを完全に回避します。ベットはポジションではなく、それ自体の種類と自身のナンバーを名前で示す文字列です。インターフェースはあなたがフェルトをクリックするときに文字列を生成し、それ以降はフェルトは関係ありません。決済コードはチップがどこにあったかを尋ねることはありません。それは文字列が何を言うかを尋ねるのです。
キー
| キー | ベット | カバーされたポケット | 配当 | カバー × 配当 |
|---|---|---|---|---|
| n:17 | ストレート | 1 | ×36 | 36 |
| sp:16-17 | スプリット | 2 | ×18 | 36 |
| st:16-17-18 | ストリート | 3 | ×12 | 36 |
| co:16-17-19-20 | コーナー | 4 | ×9 | 36 |
| f4:0-1-2-3 | ファーストフォー | 4 | ×9 | 36 |
| sl:16-…-21 | シックスライン | 6 | ×6 | 36 |
| dz:1 | 2 | 3 | ダズン | 12 | ×3 | 36 |
| col:1 | 2 | 3 | コラム | 12 | ×3 | 36 |
| ev:red | black | odd | even | low | high | イーブンチャンス | 18 | ×2 | 36 |
Total-return multiples: ×36 means the stake back plus 35. Column c is the numbers congruent to c modulo 3, with column 3 taking the multiples of 3. The last column is the same for every row, which is the whole point.
ENGINE-VERIFIEDroulette/derive.ts header: bet keys "n:17 straight ×36 · sp:16-17 split ×18 · st:16-17-18 street ×12 · co:16-17-19-20 corner ×9 · sl:16-…-21 six line ×6 · f4:0-1-2-3 first four ×9 · dz:1|2|3 dozen ×3 · col:1|2|3 column ×3 (col c = numbers ≡ c mod 3, col 3 ≡ 0) · ev:red|black|odd|even|low|high even chances ×2"; "Multipliers are total-return (stake included), matching standard European payouts … Single zero — house edge 2.7%." rouletteMultOf(key) switches on the prefix before the colon and returns those multiples; rouletteNumbersOf(key) expands the key to its pocket list.
Settlement is then one line per key: expand the key to its pockets, check whether the spun pocket is among them, and if so multiply the stake by the kind's multiplier. Because the pocket comes from a single cursor of the round's hash, one spin settles every key on the table in the same pass, and the demo engine's comment says so in as many words: one roll settles a whole table of bets, roulette-style.
The belt and the braces
A string that describes its own bet can also describe a bet that does not exist: a split of two numbers that are not neighbours, a corner with five entries, a straight on 40. The interface never produces those, but an engine that settles money should not trust an interface. So every key is validated before it is priced: its kind must be known, its number list must be exactly the size that kind covers, every number must be between 0 and 36, and none may repeat. A key that fails is refused, not settled.
ENGINE-VERIFIEDroulette/derive.ts rouletteKeyValid: 「キーが合法的であるとは、そのタイプに対して正しいカバーサイズにデコードされ、その数字がテーブル上にある場合のみである。UIは合法的なキーのみを生成する、これがルールである」。サイズテーブルは { n: 1, sp: 2, st: 3, co: 4, sl: 6, f4: 4, dz: 12, col: 12 } であり、イーブンチャンスは正確に18をカバーする必要があり、すべての数字は0…36の整数で重複がない。
バリデーターが確認していないのは隣接性である。sp:1-36を2つの数字ベットとして受け入れている。これは穴ではなく意図的な寛容性である。なぜなら2つの数字ベットの価格は、その数字が隣接しているかどうかに関わらず同じだからである。×18は37個のポケットのうち2つのポケットをカバーすることのためであり、フェルトの幾何学のためではない。もし何らかの理由で隣接していないスプリットを提出したプレイヤーでも、スプリットの価値がある正確な金額が支払われる。
1つの数字:36倍
テーブルの最後のカラムはこの記事を書く理由である。すべてのベットの種類について、マルチプライヤーにカバーされるポケット数を掛けたものは36である。これは標準的なヨーロッパ配当の偶然ではない。それらが何であるかそのものである。37個のポケットがあるホイールで k 個のポケットをカバーするベットは k ÷ 37 の確率で勝ち、36 ÷ k を返す。したがってその期待収益は k が何であれ 36 ÷ 37 である。このテーブルのすべてのベットは同じく 2.7% のコストがかかる。
- このホイールには良いベットも悪いベットもない。ストレート、スプリット、ダズン、レッドは異なるボラティリティで同じ価格であり、Sic Boのボックスとは正確には異なる。
- 最初の4は、ここでは通常のベットである。アメリカンレイアウトでは5番の籠は38個のポケットのうち5個で×7を支払い、他のすべてよりも悪い価格である。f4は37個のうち4個で×9を支払い、これは他の残りと同じく36に掛け合わせられる。
- エッジはゼロである。37個のポケット分の配当が30個のポケットで得られる。欠けているポケットが全てのハウスエッジであり、それは1つである。
キーとマルチプライヤーはクライアントデリベーションモジュールから読み込まれ、ソースはこれをデモエンジンとブラウザベリファイアで共有されていると説明している。ハウスサービスは支払いの権限者である。これはベッティングの推奨ではなく、エンコーディングについての設計注である。
FAQ
このサイトではルーレットベットはどのように表現されるか?
自己記述文字列として:タイプのプレフィックスとそれがカバーする数字。例えば n:17、sp:16-17、co:16-17-19-20、dz:2 または ev:red。エンジンは文字列をそのポケットセットにデコードし、メンバーシップで決済する。
各ベットの配当は?
総収益:ストレート ×36、スプリット ×18、ストリート ×12、コーナー ×9、最初の4 ×9、6ライン ×6、ダズン ×3、カラム ×3、イーブンチャンス ×2。これらは標準的なヨーロッパテーブルと一致している。
なぜ全てのベットは同じ価格なのか?
それぞれのタイプについて、マルチプライヤーにカバーされるポケット数を掛けたものが37個のポケットがあるホイールで36に等しいため。期待収益は 36 ÷ 37 = 97.30% であり、全てのベットに対してエッジは 2.7% である。
不正な形式のベットを何が止めるのか?
既知のタイプを要求し、そのタイプに対して正確に正しいポケット数、すべての数字が0…36、重複がないことを要求するバリデーター。失敗するキーは決済前に拒否される。
ポケットはどのように選ばれるのか?
floor(u × 37)。ここで u はラウンドのコミットされたサーバーシード、クライアントシード、ラウンド番号のハッシュのカーソル0から来ている。1つのスピンはそれに置かれたすべてのキーを決済する。
ソースおよびリファレンス
- Betkyo engine source: roulette/derive.ts (bet keys, rouletteNumbersOf, rouletteMultOf, rouletteKeyValid, ROULETTE_ORDER, ROULETTE_RED), _shared/demoLocal.ts (roulette settlement)
このセクションのゲーム