ex04-01-1の日本語版です。
変数名などを日本語にしてみました。
// m以上n以下のランダムな整数を返す function ランダムに整数を返す(m, n) { return m + Math.floor((n - m + 1)*Math.random()); } // 「サイコロ」の目のどれかひとつを表す文字列をランダムに返す function ランダムにマス目を返す() { return ["王冠", "錨", "ハート", "スペード", "クラブ", "ダイヤ"] [ランダムに整数を返す(0, 5)]; } let 残り資金 = 50; // 開始時の条件 let ラウンド = 0; while(残り資金 > 0 && 残り資金 < 100) { ラウンド++; console.log(`第${ラウンド}ラウンド:`); console.log(` 手持ち資金: ${残り資金}`); // 賭ける let 各マスの賭け金 = { 王冠: 0, 錨: 0, ハート: 0, スペード: 0, クラブ: 0, ダイヤ: 0 }; let 今回の賭け金の合計 = ランダムに整数を返す(1, 残り資金); if(今回の賭け金の合計 === 7) { 今回の賭け金の合計 = 残り資金; 各マスの賭け金.ハート = 今回の賭け金の合計; } else { // 賭け金を振り分ける let 残りの賭け金 = 今回の賭け金の合計; do { let このマスの賭け金 = ランダムに整数を返す(1, 残りの賭け金); let 出たマス目 = ランダムにマス目を返す(); 各マスの賭け金[出たマス目] = 各マスの賭け金[出たマス目] + このマスの賭け金; 残りの賭け金 = 残りの賭け金 - このマスの賭け金; } while(残りの賭け金 > 0) } 残り資金 = 残り資金 - 今回の賭け金の合計; console.log(` 賭け金: ${今回の賭け金の合計}(` + Object.keys(各マスの賭け金).map(出たマス目 => `${出たマス目}: ${各マスの賭け金[出たマス目]}`).join(', ') + ")"); // サイコロを振る const 出目 = []; for(let 何回目か = 0; 何回目か < 3; 何回目か++) { 出目.push(ランダムにマス目を返す()); } console.log(` 出目: ${出目.join(', ')}`); // 払戻金をもらう let 払戻金 = 0; for(let die=0; die < 出目.length; die++) { let 出たマス目 = 出目[die]; if(各マスの賭け金[出たマス目] > 0) 払戻金 = 払戻金 + 各マスの賭け金[出たマス目]; } 残り資金 = 残り資金 + 払戻金; console.log(` 払戻金: ${払戻金}`); } console.log(` 残金: ${残り資金}`); if (100 <= 残り資金) console.log("意気揚々と船に戻る。\n"); else console.log("トボトボと船に帰る。\n");