-1
내가 뭘하려는 건지 사용자가 아무런 제한없이 숫자를 입력 할 수있는 간단한 추측 게임이지만 추측 한 숫자를 기반으로 숫자를 정확하게 추측 할 때 점수가 매겨집니다. 그러나 숫자를 입력하고 단추를 여러 번 누르면 코드가 바뀌지 않더라도 힌트가 "높게"에서 "낮게"변경되어 번호가 올바르게 추측 될 때 표시되어야하는 메시지가 변경되지 않습니다. 전시. 여기에 내 코드가 있는데, 초보자이기 때문에 코드에 오류가있을 수밖에 없으며 모든 도움을받을 수 있습니다.자바 스크립트에서 추측 게임
<fieldset>
<input type="number" id="guess" />
<button onClick="checknum();">Check Number</button>
</fieldset>
<fieldset>
<p>Your current status:</p>
<output id="status_output">You have yet to guess anything.</output>
</fieldset>
<script type="text/javascript">
function checknum(){
var randomNumber = Math.floor((Math.random() * 100) + 1);
var guessNumber = document.getElementById("guess").value;
//var guessNumber = parseInt(guess.value);
var statusOutput = document.getElementById('status_output');
var counter = 0;
var isguessed = false;
do {
counter = (counter + 1)
if (guessNumber < randomNumber) {
statusOutput.value = ("Higher");
}
else if (guessNumber > randomNumber) {
statusOutput.value = ("Lower");
}
else if (guessNumber = randomNumber) {
set (isguessed = true());
statusOutput.value = ("Correct" + mark());
}
}
while (isguessed = false);
}
function mark(){
if (counter < 10){
statusOutput.value("Excellent");
}
else if (counter > 10 && counter <20){
statusOutput.value("Okay");
}
else
statusOutput.value("Needs Practice");
}
</script>
'동안 (isguessed = false)를''해야합니다 동안 (true 또는 false 부울 표현 반환 : 거짓
isguessed === false
에 isguessed varibles를 할당 isguessed === false);'(3은 1 대신에 동일합니다.) 마지막 else if 문과 동일한 문제입니다. – Keatinge두 함수 모두에서 ** statusOutput **을 사용하려는 경우 변수를 두 함수 밖에서 선언해야합니다. 그렇지 않으면'mark()'에 액세스 할 수 없습니다. 자바 스크립트 클로저 참조 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures – dommmm
또한 ** statusOutput **에 값을 할당하는 두 가지 방법을 사용하고 있습니다. statusOutput.value = ("Higher") and'statusOutput.value ("Excellent");'. 첫 번째 방법은 정확합니다. 두 번째 방법은 값을 지정하는 'jquery'스타일이며 바닐라 자바 스크립트에서는 작동하지 않습니다. 첫 번째 방법으로 문자열 주위에 괄호를 쓸 필요는 없습니다.'statusOutput.value = "Higher";' – dommmm