1

javascript/JQuery を使用してこの html ドキュメントを実行していますが、プロンプトに応答しても何も起こりません。追加機能が機能していないようです。

これが私のコードです:

<!DOCTYPE html>
    <html>
        <head>
            <title>
                Rock Paper Scissors
            </title>
            <script>
                var userChoice = prompt("Do you choose rock, paper, scissors lizard or spock?");
                userChoice = userChoice.toLowerCase();
                var computerChoice = function(){
                    var choices = ["rock", "paper", "scissors", "lizard", "spock"];
                    var random = Math.random();
                    var loop = true;
                    while (loop){
                        i = 0.2;
                        j = 0;
                        if (random <= i){
                            var choices = choices[j]
                            var loop = false;
                        }
                        else {
                            i = i +0.2;
                            j ++;
                        }
                    }
                    return choices;
                };
            $(document).ready(function(){$("body").append(userChoice);});
            $(document).ready(function(){$("body").append(computerChoice());});
        </script>
        </head>
    <body>
    </body>
</html>
4

2 に答える 2

3

これにはいくつか問題があります。

  1. 他の人が指摘したように、あなたはjQueryを含めませんでした
  2. 2 つの異なる値に対して、変数の選択を 2 回使用します。
  3. あなたのループはすべて間違っています.jは毎回0にリセットされるため、常に「ロック」を選択します
  4. 実際にはループは必要ありません。配列のランダムなメンバーを選択するだけです

私はあなたのためにそれを少しきれいにしました - jsfiddle here http://jsfiddle.net/7DWhL/

<!DOCTYPE html>
<html>
<head>
<title>Rock Paper Scissors</title>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script>
var userChoice = "",
    computerChoice = "",
    choices = ["rock", "paper", "scissors", "lizard", "spock"];


$(document).ready( function(){
  userChoice = prompt( "Do you choose rock, paper, scissors lizard or spock?" );
  userChoice = userChoice.toLowerCase();
  computerChoice = choices[ Math.floor( choices.length * Math.random() ) ];

  $( "body" ).append( "<p>" + userChoice + "</p>" );
  $( "body" ).append( "<p>" + computerChoice + "</p>" );
});
</script>
</head>

<body>
</body>
</html>
于 2013-11-02T22:02:19.727 に答える