Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помощь в дополнении скрипта. 
:(
    Опции темы
Yatsvyas
Дата 11.4.2016, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 11.4.2016

Репутация: нет
Всего: нет



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


Код

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);





Это сообщение отредактировал(а) Yatsvyas - 11.4.2016, 16:21
PM MAIL   Вверх
igorold
Дата 11.4.2016, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: нет
Всего: 17



... где-то стырили скрипт и хотите, чтобы кто-то разбирался в 5-й строке?
Вы хотя-бы разбили бы ее на удобочитаемые строки, чтобы кто-то захотел его посмотреть ....
Когда "немного изучили", так не пишут ... грешно врать ...

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
Yatsvyas
Дата 11.4.2016, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 11.4.2016

Репутация: нет
Всего: нет



Igorold,стырил? Нет, я совершенно честно скопировал этот скрипт с сайта для всеобщего пользования. 
Да, я хочу,чтобы кто-то разбирался в этой строке,ведь именно за этим я и здесь. И если я не ошибаюсь,здесь разбито более менее на понятные строки,если я не прав - поправьте меня.
Я действительно начал изучать JS и только знаю основы основ,я не врал. 
И так как я верю,что здесь находятся опытные программисты,я прошу помощи и у вас и у других помочь мне исправить скрипт так,как я указывал выше. Если требуется сайт для которого нужен скрипт, то вот он - http://www.csgodouble.com
(Рулетка не будет крутиться,пока вы не авторизируетесь через steam).Заранее большое спасибо.

Это сообщение отредактировал(а) Yatsvyas - 11.4.2016, 21:20
PM MAIL   Вверх
igorold
Дата 12.4.2016, 06:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: нет
Всего: 17



Разбито на строки?
Вот разбито на строки:
Код

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===wonL
    console.log(a)
}
function rolled()
{
    return"anti-martingale"===mode?void antiMartingale():(martingale(),void currentRollNumber++)
}
.............


как я и писал - 5-я строка содержит почти 3000 символов!
Никто в таком коде разбираться не будет.

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
igorold
Дата 12.4.2016, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: нет
Всего: 17



Yatsvyas, вы может заметили, что я пишу с с нового Винграда - http://vingrad.com, поэтому не увидел, что ваш скрипт уже разбит на строки, в новом смотрится как 5 строк ... 

Хочется добавить, что ваш пост смотрится как ТЗ ... 


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
ksnk
Дата 12.4.2016, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Цитата(Yatsvyas @  11.4.2016,  21:19 Найти цитируемый пост)
 я совершенно честно скопировал этот скрипт с сайта для всеобщего пользования.

Для всеобщего пользования выкладывают минимизированные версии скриптов? Оригинально 
В этом случае должен быть еще и пример html разметки на котором этот скрипт работает. 
Неплохо бы тестовый пример на jsfiddle.net, или jsbin.com на котором проблему было бы видно. Раз уж пришлось долго разбираться с проблемой - такой пример не представлял бы особой сложности, правда? Чтобы опытные программисты, в свободное от работы время, посмотрели что там такое не туда ставится.
А в таком виде  - вопрос слишком сложен, чтобы решить его так просто, от нечего делать. Можно разместить его в разделе "работа".  


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1082 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.