Помощь в дополнении скрипта.

Обсуждение вопросов клиентского программирования.

Модератор: Duncon

Ответить
Yatsvyas
Сообщения: 2
Зарегистрирован: 11 апр 2016, 16:25

11 апр 2016, 16:29

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

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

Код: Выделить всё

var initialBetAmount = 1;
var mode = 'martingale'; 
var betColor = 'red'; 
function tick() {
  var a = getStatus();
  if (a !== lastStatus && "unknown" !== a) {
    switch (a) {
      case "waiting":
        bet();
        break;
      case "rolled":
        rolled()
    }
    lastStatus = a, printInfo()
  }
}
function checkBalance() {
  return getBalance() < currentBetAmount ? (console.warn("BANKRUPT! Not enough balance for next bet, aborting."), clearInterval(refreshIntervalId), !1) : !0
}
function printInfo() {
  var a = " \nStatus: " + lastStatus + "\nRolls played: " + currentRollNumber + "\nInitial bet amount: " + initialBetAmount + "\nCurrent bet amount: " + currentBetAmount + "\nLast roll result: " + (null === wonLastRoll() ? "-" : wonLastRoll() ? "won" : "lost");
  console.log(a)
}
function rolled() {
  return "anti-martingale" === mode ? void antiMartingale() : (martingale(), void currentRollNumber++)
}
function antiMartingale() {
  currentBetAmount = wonLastRoll() ? 2 * currentBetAmount : initialBetAmount
}
function martingale() {
  currentBetAmount = wonLastRoll() ? initialBetAmount : 2 * currentBetAmount
}
function bet() {
  checkBalance() && (setBetAmount(currentBetAmount), setTimeout(placeBet, 50))
}
function setBetAmount(a) {
  $betAmountInput.val(a)
}
function placeBet() {
  return "red" === betColor ? ($redButton.click(), void(lastBetColor = "red")) : ($blackButton.click(), void(lastBetColor = "black"))
}
function getStatus() {
  var a = $statusBar.text();
  if (hasSubString(a, "Rolling in")) return "waiting";
  if (hasSubString(a, "***ROLLING***")) return "rolling";
  if (hasSubString(a, "rolled")) {
    var b = parseInt(a.split("rolled")[1]);
    return lastRollColor = getColor(b), "rolled"
  }
  return "unknown"
}
function getBalance() {
  return parseInt($balance.text())
}
function hasSubString(a, b) {
  return a.indexOf(b) > -1
}
function getColor(a) {
  return 0 == a ? "green" : a >= 1 && 7 >= a ? "red" : "black"
}
function wonLastRoll() {
  return lastBetColor ? lastRollColor === lastBetColor : null
}
var currentBetAmount = initialBetAmount,
  currentRollNumber = 1,
  lastStatus, lastBetColor, lastRollColor, $balance = $("#balance"),
  $betAmountInput = $("#betAmount"),
  $statusBar = $(".progress #banner"),
  $redButton = $("#panel1-7 .betButton"),
  $blackButton = $("#panel8-14 .betButton"),
  refreshIntervalId = setInterval(tick, 500);
Ответить