یک برنامه دارم که دو تا عدد میده و طی زمان مشخص جواب رو میخواد میشه گفت یجور بازیه وقتی که جواب درست رو میده بعد از چند ثانیه میره مرحله بعد ولی اعداد عوض نمی شدند هر کاری که می کنم
بهتر بود کدی که نوشتی رو هم میذاشتی با دیدن کد بهتر میتونیم راهنماییت کنیم که اشکال از کجاست
بفرمایید
@milad @hossein.r.1442 @javadkarami14 @juza66
var res1 = num1.innerHTML = Math.floor(Math.random() * 10);
var res2 = num2.innerHTML = Math.floor(Math.random() * 10);
var num1 = document.getElementById("num1");
var num2 = document.getElementById("num2");
دو تا button دارم یکی درستی رو چک می کنه و یکیش میره مرحله بعد
سورس کد رو در این لینک گذاشتم می تونید ببینید
http://s7.picofile.com/file/8392431942/number.rar.html
اینطور که من دیدم، شما برای رفتن به مرحله بعد، از همون صفحه استفاده نکردی، یک صفحه ی جدید و مجزا ایجاد کردین برای هر مرحله.
منتها فکر کنم مشکل ناشی از اینه که: وقتی میزنم روی next نشانی صفحه عوض نمیشه، توی همون صفحه می مونه، برای همین هستش که اعداد جدید ظاهر نمیشن.
همونطور که دوستان گفتن، میتونی یه تابع درست کنی که اون تابع اعداد رندم رو برات برگردونه.
و هر وقت که به اعداد جدید نیاز داری اون تابع رو فراخونی میکنی
آقای بیات متاسفانه تابعش رو نمی تونم بنویسم اگه میشه کدش رو بازنویسی کنید یا تابع رو برام قرار بدید ممنون میشم
@ali.bayat
وقتی از این کد استفاده کنی:
Math.floor(Math.random() * 10)
بعضی مواقع ممکنه ۰ رو برگردونه. فکر کنم مشکل کار هم همینه
اگر میخواهی عدد بین ۱ تا ۹ باشه میتونی به شکل زیر استفاده کنی
دیگه ۰ هم بر نمیگردونه
Math.floor((Math.random() * 9) + 1)
حالا همین کد رو میتونی بذاری داخل یه تابع:
function randomNumber() {
return Math.floor((Math.random() * 9) + 1);
}
@arminamirinasab
این کد رو ببینید. به صورت خیلی ساده نوشتم که صرفا کاری که گفتید رو انجام بده. امیدوارم کمک کنه بهتون.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body>
<h1 id="h1"></h1>
<h1 id="h2"></h1>
<input type="number" id="answer" />
<h1 id="h3"></h1>
<button type="button" onclick="check()">check</button>
<button disabled="disabled" type="submit" id="next" onclick="next()">
next
</button>
<script>
a = Math.floor(Math.random() * 10);
b = Math.floor(Math.random() * 10);
document.getElementById("h1").innerHTML = a;
document.getElementById("h2").innerHTML = b;
function next() {
a = Math.floor(Math.random() * 10);
b = Math.floor(Math.random() * 10);
document.getElementById("h1").innerHTML = a;
document.getElementById("h2").innerHTML = b;
document.getElementById("next").disabled = true;
}
function check() {
x = a + b;
y = document.getElementById("answer").value;
document.getElementById("h3").innerHTML = y;
if (y == x) {
document.getElementById("next").disabled = false;
}
}
</script>
</body>
</html>
ببینید شما اعدادی که برای اولین مرحله ایجاد شدن رو که دارید خوب حالا توی تابع چک کنید اگه عدد ایجاد شده تکراری بود مجدد یه کد دیگه براتون بسازه
یه چیزی تقریبا مثل این
var oldNum = document.getElementById('num').innerText;
do{
var a = Math.floor(Math.random() * 10);
}while( a !== oldNum);
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟