2017-09-15 10 views
0

マーチンゲイルスタイルのギャンブルゲームでJSを書くことに関わっています。私はループスクリプトを作成しました。アイデアは、ゲームは50/50チャンスであり、確率はホイールの各スピンでリセットされます。あなたはより高い/より低いベットを行います。私は、私の損失を倍にして、私の勝利に私の元々の入札にリセットするためのスクリプトを設定しました。しかし、あなたはそれらのより高いスピンですべてのお金を失うので、私はmax_betの限界を作りたがっていました。あなたが各損失を2倍にした場合、10のストレート・ロス=オリジナル・ビッド1023Xを失う。JSの関数呼び出し回数を制限し、開始値以外の値に戻す

したがって、以下のスクリプトでは7回目の損失時に停止が発生します(if(multiplyCalls < 5)0は開始日であり、2回目の入札作業を行わずに7回目の入札を取り消す必要があるため申し訳ありませんが技術的ですが、7の代わりに5である理由を説明しています。

しかし、私はこれが悪影響を受けるのを見て、それは元の入札にすべての方法を落とすそれは最大の損失をヒットしますそれはそれほど多くのお金がベットされているそれらのより高いスピンにあります。私は0に戻るすべての方法の代わりに3つの入札を戻すようにこのスクリプトを修正したいと思います。電話を設定する

var startValue = '0.00000001', // Don't lower the decimal point more than 4x of current balance 
    stopPercentage = 0.001, // In %. I wouldn't recommend going past 0.08 
    maxWait = 777, // In milliseconds 
    stopped = false, 
    stopBefore = 1; // In minutes 
    multiplyCalls = 0; // <--- Added this global 

var $loButton = $('#double_your_btc_bet_lo_button'), 
      $hiButton = $('#double_your_btc_bet_hi_button'); 


function multiply(){ 
    if(multiplyCalls < 5){ // this sets the losses allowed, apply +2 (5 = 7 losses allowed) 
     var current = $('#double_your_btc_stake').val(); 
     var multiply = (current * 2).toFixed(8); 
     $('#double_your_btc_stake').val(multiply); 
     multiplyCalls++; // increment 
    }else{ 
     reset(); 
     console.log('=== RESETING ==='); 
    } 
} 

function getRandomWait(){ 
    var wait = Math.floor(Math.random() * maxWait) + 100; 

    console.log('Waiting for ' + wait + 'ms before next bet.'); 

    return wait ; 
} 

function startGame(){ 
    console.log('Game started!'); 
    reset(); 
    $loButton.trigger('click'); 
} 

function stopGame(){ 
    console.log('Game will stop soon! Let me finish.'); 
    stopped = true; 
} 

function reset(){ 
    $('#double_your_btc_stake').val(startValue); 

} 

// quick and dirty hack if you have very little bitcoins like 0.0000001 
function deexponentize(number){ 
    return number * 1000000; 
    } 

    function iHaveEnoughMoni(){ 
    var balance = deexponentize(parseFloat($('#balance').text())); 
    var current = deexponentize($('#double_your_btc_stake').val()); 

    return ((balance*2)/100) * (current*2) > stopPercentage/100; 
    } 

    function stopBeforeRedirect(){ 
    var minutes = parseInt($('title').text()); 

    if(minutes < stopBefore) 
    { 
      console.log('Approaching redirect! Stop the game so we don\'t get redirected while loosing.'); 
      stopGame(); 

      return true; 
    } 

    return false; 
    } 

    // Unbind old shit 
    $('#double_your_btc_bet_lose').unbind(); 
    $('#double_your_btc_bet_win').unbind(); 

    // Loser 
    $('#double_your_btc_bet_lose').bind("DOMSubtreeModified",function(event){ 
    if($(event.currentTarget).is(':contains("lose")')) 
    { 
      console.log('You LOST! Multiplying your bet and betting again.'); 

      multiply(); 

      setTimeout(function(){ 
        $loButton.trigger('click'); 
      }, getRandomWait()); 

      //$loButton.trigger('click'); 
    } 
}); 

    // Winner 
    $('#double_your_btc_bet_win').bind("DOMSubtreeModified",function(event){ 
    if($(event.currentTarget).is(':contains("win")')) 
    { 
      if(stopBeforeRedirect()) 
      { 
        return; 
      } 

      if(iHaveEnoughMoni()) 
      { 
        console.log('You WON! But don\'t be greedy. Restarting!'); 

        reset(); 

        if(stopped) 
        { 
          stopped = false; 
          return false; 
        } 
      } 
      else 
      { 
        console.log('You WON! Betting again'); 
      } 

      setTimeout(function(){ 
        $loButton.trigger('click'); 
      }, getRandomWait()); 
      multiplyCalls = 0; // reset value 
    } 

答えて

0

これはあなたのコード内のどの(私が正しく理解していれば、あなたは第四の賭けに賭けの値を記録したい

JSの1以上のロジック質問のよりのようですが、...つまり、multiplyCalls === 2を意味します)。その場合は、その情報を保持するために、maxBetという上部に変数を設定します。あなたのmultiply機能で

、あなたはmultiplyCalls == 2、その後はmaxBet > multiply(あなたがそれを働いてきた後。

例えば

var maxBet = 0; 

function multiply(){ 
    if(multiplyCalls < 5){ // this sets the losses allowed, apply +2 (5 = 7 losses allowed) 
     var current = $('#double_your_btc_stake').val(); 

     if(multiplyCalls === 2){ 
      maxBet = current; 
     } 

     var multiply = (current * 2).toFixed(8); 

     if (multiply > maxBet) { 
      multiple = maxBet; 
     } 

     $('#double_your_btc_stake').val(multiply); 
     multiplyCalls++; // increment 
    }else{ 
     reset(); 
     console.log('=== RESETING ==='); 
    } 
} 

が、これはあなたが何を意味するのですかどうかを確認するときmaxBetに書き込むことができますか?もし

+0

PS 'multiply'という関数内に' multiply'という変数はありません。これは、最終的にあなたを人の奇妙な難破にしてくれるでしょう。 – Rillus

+0

私はこれを適用し、いくつかの参照エラーを処理しましたが、第4入札に効果的に入札を戻しませんでした。 maxBetを認識してはいけません。私は1の入札で始まり、7でカットオフを持っていた。それは、1,2,4,8,16,32,1,2行った。私は1,2,4,8,16,32,8,16に行ったはずです。 –

+0

スクリプトの最上位に 'maxBet'変数を作成しましたか?そうでない場合は、次回にその関数を呼び出すと更新されずに使用可能になります。 – Rillus

関連する問題