宝くじゲームを作成する必要があります。Comprobating機能が正常に機能しない
generar()と呼ばれるオンクリックのボタンがあり、この関数は3つの数字を描画する必要があります1から999までの3つの数字と一緒に作成し、別のボタンを押した後に別の番号を描き、新しい番号の番号をすでに作成されたものと照合して勝利したかどうかをチェックします。
私はコード全体を処理しましたが、最初の3つの数字と4番目の数字の比較は正しく機能しません。いつも、私が勝ってもいなくても、「Perdedor! (ゆるい!)。
これは私のコードです:
<html>
<head>
<title>Práctica 3</title>
<style>
#contenedor { border: 1px black solid;
width: 250px;
height: 250px;
float: left;
margin-right: 5px;
text-align: center;
margin-bottom: 5px; }
</style>
</head>
<body>
<div id="contenedor"> <p id="primerNumero"/> </div>
<div id="contenedor"> <p id="segundoNumero"/> </div>
<div id="contenedor"> <p id="tercerNumero"/> </div>
<button id="generar" onclick="generar()">Genera dècims</button>
<div id="contenedor"> <p id="resultado"/> </div>
<p id="t"/>
<script>
function generar() {
var primerNumero = Math.floor(Math.random() * 10);
var segundoNumero = Math.floor(Math.random() * 10);
var tercerNumero = Math.floor(Math.random() * 10);
var botones = document.getElementsByTagName("BUTTON").length;
if (botones < 2) {
generarBotones();
}
document.getElementById("primerNumero").innerHTML = primerNumero;
document.getElementById("primerNumero").style.fontSize = "72px";
document.getElementById("segundoNumero").innerHTML = segundoNumero;
document.getElementById("segundoNumero").style.fontSize = "72px";
document.getElementById("tercerNumero").innerHTML = tercerNumero;
document.getElementById("tercerNumero").style.fontSize = "72px";
}
function generarBotones() {
var boton = document.createElement("BUTTON");
var t = document.createTextNode("Realizar sorteig");
boton.onclick = function(){
var numeroGanador = Math.floor(Math.random() * 10);
document.getElementById("resultado").innerHTML = numeroGanador;
document.getElementById("resultado").style.fontSize = "72px";
if(primerNumero == numeroGanador || segundoNumero == numeroGanador || tercerNumero == numeroGanador) {
document.getElementById("t").innerHTML = "¡Ganador!";
} else {
document.getElementById("t").innerHTML = "¡Perdedor!";
}
};
boton.appendChild(t);
document.body.appendChild(boton);
}
</script>
</body>
</html>
誰かがなぜ、どこで、私は失敗を私に伝え、可能な解決策ができれば、それは素晴らしいことだろう。私は説明が値を取得するには、
私は絶対に悪いです。問題は、私がgenerarBotones()に変数をパラメータとして与えていないため、 "primerNumero"、 "segundoNumero"および "tercerNumero"を比較に使用していないことでした。解決策は次のとおりです。 if(botones <2){generarBotones(primNumero、segundoNumero、tercerNumero){generarBotones(); }および関数generarBotones(primNumero、segundoNumero、tercerNumero){...}。 大変申し訳ございません! –
3つの変数と要素を単語で指定するのではなく、num1とnum2のように数字を使ってみてください。つまり、大規模なコードをコピーして貼り付けるのではなく、単純なループを繰り返して反復処理を行うことができます。また、複数の変数を持たないように、これらの要素と1対1の方法で値の配列を関連付けることもできます。 – tadman