2017-12-17 19 views
0

JavaScript。だから私はここで少し問題がある。私はゲームを作ろうとしていますが、私はポイントをつけています。あなたがこのゲームに初めて勝つと、あなたは1ポイントを得るが、それ以外の時間はポイントを与えない。問題を見つけるのを助けることができますか?私はこれらの点線を太字にしています。あなたがこのん。その最後の2行ので、毎回JavaScriptポインター

function war(){ 
     var dealer = document.getElementById("dealer"); 
     var player = document.getElementById("player"); 
     var winner = document.getElementById("winner"); 
     var screen = document.getElementById("points"); 
     var points = 10; 
     var win = lose; 
     var lose = win; 
     var dealercard = Math.floor(Math.random() *10)+1; 
     var playercard = Math.floor(Math.random() *10)+1; 
     dealer.innerHTML = dealercard; 
     player.innerHTML = playercard; 


    if(dealercard > playercard){ 
     winner.style.color ="red"; 
     winner.innerHTML = "You lost."; 
    } 
    else{ 
     winner.style.color ="green"; 
     winner.innerHTML = "You won."; 
    } 
    if (dealercard == playercard){ 
     winner.style.color ="blue"; 
     winner.innerHTML = "WAR" 
    } 

     **if(dealercard < playercard){ 
      win = points + 1; 
      screen.innerHTML = win; 
     } 

     if(dealercard == playercard){ 
      win = points + 1; 
      screen.innerHTML = win; 
     }** 


    } 
+0

既存の変数で宣言された事前指定値に増分値を追加するには、 '+ ='加算代入演算子を使用してください:https://developer.mozilla.org/en-US/ docs/Web/JavaScript/Reference/Operators/Assignment_Operators#Addition_assignment – UncaughtTypeError

答えて

0

あなたはpoints変数をインクリメントしていない、 "場合":

win = points + 1; 
screen.innerHTML = win; 

あなたが得る11

はこれを試してみてください。

points += 1 
win = points; 
screen.innerHTML = win; 
0

mike_tは私に答えを打ち明けましたが、ここでは彼が提案したものの実用的なデモです:

var points = 10; 
 

 
function war() { 
 
    var dealer = document.getElementById("dealer"); 
 
    var player = document.getElementById("player"); 
 
    var winner = document.getElementById("winner"); 
 
    var screen = document.getElementById("points"); 
 
    var win = lose; 
 
    var lose = win; 
 
    var dealercard = Math.floor(Math.random() * 10) + 1; 
 
    var playercard = Math.floor(Math.random() * 10) + 1; 
 
    dealer.innerHTML = dealercard; 
 
    player.innerHTML = playercard; 
 

 

 
    if (dealercard > playercard) { 
 
    winner.style.color = "red"; 
 
    winner.innerHTML = "You lost."; 
 
    } else { 
 
    winner.style.color = "green"; 
 
    winner.innerHTML = "You won."; 
 
    } 
 
    if (dealercard == playercard) { 
 
    winner.style.color = "blue"; 
 
    winner.innerHTML = "WAR" 
 
    } 
 

 
    if (dealercard < playercard) { 
 
    points = points + 1; 
 
    screen.innerHTML = points; 
 
    } 
 

 
    if (dealercard == playercard) { 
 
    points = points + 1; 
 
    screen.innerHTML = points; 
 
    } 
 

 

 
}
Dealer: <span id="dealer"></span><br> Player: <span id="player"></span><br> Winner: <span id="winner"></span><br> Points: <span id="points"></span><br> 
 

 
<button onclick="war()">War!</button>

0

は、このコードで間違っているいくつかありますが、私はあなたが達成しようとしているものを全くわかりません。

  1. ポイント変数が関数内で定義されたと10に初期化されます。

    しかし、ここではいくつかのポインタです。これは、関数が呼び出されるたびに、ポイントが再び10で始まることを意味します。グローバル変数の使用を検討してください。

  2. var win = lose;var lose = win;が実際には意味をなさない。意図は何だったのか説明できますか?

さらに詳しい情報を提供する必要がない場合は、これが少し役に立ちますと願っています。

0

ありがとうございます。問題が解決しました。誰もがここでフレンドリーなsooooo!すべてお返事ありがとうございました

関連する問題