Здравствуйте,я немного изучал JS,и решил создать скрипт для рулетки,но моих знаний оказалось недостаточно - слишком мало я знаю.
Нашёл один рабочий,который ставит только на цвет,который я выбрал и ту ставку,которую я указал. Помогите исправить так,чтобы он ставил
на тот цвет,который выпал. В случае проигрыша удваивает ставку,когда выиграл - возвращает первоначальную ставку. Если выпал 0(green),нужно
пропустить одну ставку,и ставить удвоенную ставку на тот цвет,который выпал после нуля. Я как ни пытался - у меня не получалось,прошу помощи у опытных людей.

Сам скрипт(JS):

Код javascript:
  1. var initialBetAmount = 1;
  2. var mode = 'martingale';
  3. var betColor = 'red';
  4. function tick() {
  5.   var a = getStatus();
  6.   if (a !== lastStatus && "unknown" !== a) {
  7.     switch (a) {
  8.       case "waiting":
  9.         bet();
  10.         break;
  11.       case "rolled":
  12.         rolled()
  13.     }
  14.     lastStatus = a, printInfo()
  15.   }
  16. }
  17. function checkBalance() {
  18.   return getBalance() < currentBetAmount ? (console.warn("BANKRUPT! Not enough balance for next bet, aborting."), clearInterval(refreshIntervalId), !1) : !0
  19. }
  20. function printInfo() {
  21.   var a = " \nStatus: " + lastStatus + "\nRolls played: " + currentRollNumber + "\nInitial bet amount: " + initialBetAmount + "\nCurrent bet amount: " + currentBetAmount + "\nLast roll result: " + (null === wonLastRoll() ? "-" : wonLastRoll() ? "won" : "lost");
  22.   console.log(a)
  23. }
  24. function rolled() {
  25.   return "anti-martingale" === mode ? void antiMartingale() : (martingale(), void currentRollNumber++)
  26. }
  27. function antiMartingale() {
  28.   currentBetAmount = wonLastRoll() ? 2 * currentBetAmount : initialBetAmount
  29. }
  30. function martingale() {
  31.   currentBetAmount = wonLastRoll() ? initialBetAmount : 2 * currentBetAmount
  32. }
  33. function bet() {
  34.   checkBalance() && (setBetAmount(currentBetAmount), setTimeout(placeBet, 50))
  35. }
  36. function setBetAmount(a) {
  37.   $betAmountInput.val(a)
  38. }
  39. function placeBet() {
  40.   return "red" === betColor ? ($redButton.click(), void(lastBetColor = "red")) : ($blackButton.click(), void(lastBetColor = "black"))
  41. }
  42. function getStatus() {
  43.   var a = $statusBar.text();
  44.   if (hasSubString(a, "Rolling in")) return "waiting";
  45.   if (hasSubString(a, "***ROLLING***")) return "rolling";
  46.   if (hasSubString(a, "rolled")) {
  47.     var b = parseInt(a.split("rolled")[1]);
  48.     return lastRollColor = getColor(b), "rolled"
  49.   }
  50.   return "unknown"
  51. }
  52. function getBalance() {
  53.   return parseInt($balance.text())
  54. }
  55. function hasSubString(a, b) {
  56.   return a.indexOf(b) > -1
  57. }
  58. function getColor(a) {
  59.   return 0 == a ? "green" : a >= 1 && 7 >= a ? "red" : "black"
  60. }
  61. function wonLastRoll() {
  62.   return lastBetColor ? lastRollColor === lastBetColor : null
  63. }
  64. var currentBetAmount = initialBetAmount,
  65.   currentRollNumber = 1,
  66.   lastStatus, lastBetColor, lastRollColor, $balance = $("#balance"),
  67.   $betAmountInput = $("#betAmount"),
  68.   $statusBar = $(".progress #banner"),
  69.   $redButton = $("#panel1-7 .betButton"),
  70.   $blackButton = $("#panel8-14 .betButton"),
  71.   refreshIntervalId = setInterval(tick, 500);