2016-11-30 2 views
0

(これは宿題の一部ですが、正確に何を書いているか教えてくれる人がいないので、回答が簡単だと思います)特定の関数(javascript/html)以外のフィールドを編集できないのはなぜですか?

私は、クラップスのゲーム私は最後にそれを投稿するつもりですが、ほとんどのコードは私の問題に関連していないので、残りの質問を最初に読んでいます。

私の仕事は、銀行と賭金システムを実装することです。十分に簡単な音が、私は立ち往生した。だから私の最初の動きは、結果テーブルに銀行のための列を作ることでした。次の私は遊び()関数でこのコードを配置:遊びを呼び出し

bank = prompt("How much money is in your bank?"); 
document.getElementById("bankfield").value = bank; 

実行スクリプト、押しボタン()、ウィンドウがポップアップし、値、フィールドの変更を入力してください。ここまでは順調ですね。しかし、私は、サイコロが巻かれるたびに銀行をリセットしてはならないので、そこにコードを入れたくないことに気付きます。だから、スクリプトの最初に2行分を切り取って貼り付けるので、実行時に最初に起こることです。 しかしは...今私が促さと値を入力していた後、bankfieldは空のままで、私はthis errorを得る:

次の2行は、遊び()関数ではなく、公然とスクリプト内でうまく動作するのはなぜ?

私は長い間このことをぶち壊していましたが、私は進歩していません、私はここにコンセプトがないと思っていて、ここの誰かが私を啓発できると思っていました。

 </style> 
    <script type = "text/javascript"> 

    // variables used to test the state of the game 
    var WON = 0; 
    var LOST = 1; 
    var CONTINUE_ROLLING = 2; 

    // other variables used in program 
    var firstRoll = true; // true if current roll is first 
    var sumOfDice = 0; // sum of the dice 
    var myPoint = 0; // point if no win/loss on first roll 
    var gameStatus = CONTINUE_ROLLING; // game not over yet 

    // process one roll of the dice 
    function play() 
    { 
     // get the point field on the page 
     var point = document.getElementById("pointfield"); 

     // get the status div on the page 
     var statusDiv = document.getElementById("status"); 
     if (firstRoll) // first roll of the dice 
     { 
      sumOfDice = rollDice(); 

      switch (sumOfDice) 
      { 
       case 7: case 11: // win on first roll 
       gameStatus = WON; 
       // clear point field 
       point.value = ""; 
       break; 
       case 2: case 3: case 12: // lose on first roll 
       gameStatus = LOST; 
       // clear point field 
       point.value = ""; 
       break; 
       default: // remember point 
       gameStatus = CONTINUE_ROLLING; 
       myPoint = sumOfDice; 
       point.value = myPoint; 
       firstRoll = false; 
      } // end switch 
     } // end if 
     else 
     { 
      sumOfDice = rollDice(); 

      if (sumOfDice == myPoint) // win by making point 
       gameStatus = WON; 
      else 
       if (sumOfDice == 7) // lose by rolling 7 
       gameStatus = LOST; 
     } // end else 

     if (gameStatus == CONTINUE_ROLLING) 
      statusDiv.innerHTML = "Roll again"; 
     else 
     { 
      if (gameStatus == WON) 
       statusDiv.innerHTML = "Player wins. " + 
       "Click Roll Dice to play again."; 
      else 
       statusDiv.innerHTML = "Player loses. " + 
       "Click Roll Dice to play again.";  

      firstRoll = true; 
     } // end else 
    } // end function play 

    // roll the dice 
    function rollDice() 
    { 
     var die1; 
     var die2; 
     var workSum; 

     die1 = Math.floor(1 + Math.random() * 6); 
     die2 = Math.floor(1 + Math.random() * 6); 
     workSum = die1 + die2; 

     document.getElementById("die1field").value = die1; 
     document.getElementById("die2field").value = die2; 
     document.getElementById("sumfield").value = workSum; 

     return workSum; 
    } // end function rollDice 
    // 
    </script> 

私はとても穏やかな一般的にJSとCS新人に非常に新しいです:

はここrefenceのためのオリジナルのゲームスクリプトです。また、私の最初の質問は、私が悪いformatingまたは何かを持っている場合、ごめんなさい申し訳ありません。

+0

あなたのhtmlファイルの最後に '

関連する問題