راکت

اعداد تصادفی

یک برنامه دارم که دو تا عدد میده و طی زمان مشخص جواب رو میخواد میشه گفت یجور بازیه وقتی که جواب درست رو میده بعد از چند ثانیه میره مرحله بعد ولی اعداد عوض نمی شدند هر کاری که می کنم


ثبت پرسش جدید
سیدعلی موسوی
سیدعلی موسوی
تخصص :سی شارپ و پی اچ پی
@juza666 سال پیشمطرح شد
1

یک تابع بنویس که هروقت صداش زدی دوتا عدد راندوم برات برگردونه


جواد کرمی
جواد کرمی
تخصص :توسعه دهنده وب و اپلیکیشن | فرانت اند
@javadkarami6 سال پیشمطرح شد
1

بهتر بود کدی که نوشتی رو هم میذاشتی با دیدن کد بهتر میتونیم راهنماییت کنیم که اشکال از کجاست


آرمین امیری نسب
آرمین امیری نسب
تخصص :برنامه نویس فرانت اند
@arminamirinasab6 سال پیشمطرح شد
0

کد خیلی زیاده نمیشه گذاشتش
@javadkarami14


آرمین امیری نسب
آرمین امیری نسب
تخصص :برنامه نویس فرانت اند
@arminamirinasab6 سال پیشمطرح شد
0

کدش رو بنویس
@juza66


سید حسین رضوی
سید حسین رضوی
تخصص :برنامه نویس وب و طراح رابط کاربری
@hossein.r.14426 سال پیشمطرح شد
0

ببیند شما حداقل اون بخشهایی از کد که مشکل داری رو بذار تا ببینیم


میلاد-م
میلاد-م
تخصص :توسعه‌دهنده رابط کاربری - Front-End
@milad6 سال پیشمطرح شد
0

دو تا عدد تصادفی ایجاد کن.


آرمین امیری نسب
آرمین امیری نسب
تخصص :برنامه نویس فرانت اند
@arminamirinasab6 سال پیشمطرح شد
1

بفرمایید
@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


آرمین امیری نسب
آرمین امیری نسب
تخصص :برنامه نویس فرانت اند
@arminamirinasab6 سال پیشمطرح شد
میلاد-م
میلاد-م
تخصص :توسعه‌دهنده رابط کاربری - Front-End
@milad6 سال پیشمطرح شد
1

من متوجه صورت سوال و مشکل شما نمیشم.


آرمین امیری نسب
آرمین امیری نسب
تخصص :برنامه نویس فرانت اند
@arminamirinasab6 سال پیشمطرح شد
0

کد رو ببینید خودتون متوجه میشید
http://s7.picofile.com/file/8392431942/number.rar.html


علی بیات
علی بیات
تخصص :توسعه دهنده ارشد وب
@ali.bayat6 سال پیشمطرح شد
1

متوجه نشدم منظورت چیه


میلاد-م
میلاد-م
تخصص :توسعه‌دهنده رابط کاربری - Front-End
@milad6 سال پیشمطرح شد
-1

اینطور که من دیدم، شما برای رفتن به مرحله بعد، از همون صفحه استفاده نکردی، یک صفحه ی جدید و مجزا ایجاد کردین برای هر مرحله.
منتها فکر کنم مشکل ناشی از اینه که: وقتی میزنم روی next نشانی صفحه عوض نمیشه، توی همون صفحه می مونه، برای همین هستش که اعداد جدید ظاهر نمیشن.


علی بیات
علی بیات
تخصص :توسعه دهنده ارشد وب
@ali.bayat6 سال پیشمطرح شد
1

همونطور که دوستان گفتن، میتونی یه تابع درست کنی که اون تابع اعداد رندم رو برات برگردونه.
و هر وقت که به اعداد جدید نیاز داری اون تابع رو فراخونی میکنی


آرمین امیری نسب
آرمین امیری نسب
تخصص :برنامه نویس فرانت اند
@arminamirinasab6 سال پیشمطرح شد
0

آقای بیات متاسفانه تابعش رو نمی تونم بنویسم اگه میشه کدش رو بازنویسی کنید یا تابع رو برام قرار بدید ممنون میشم
@ali.bayat


آرمین امیری نسب
آرمین امیری نسب
تخصص :برنامه نویس فرانت اند
@arminamirinasab6 سال پیشمطرح شد
0

خب قرار بود همین باشه یعنی صفحه تغییر نکنه فقط با جاوا اسکریپت جا به جا بشه
@milad


علی بیات
علی بیات
تخصص :توسعه دهنده ارشد وب
@ali.bayat6 سال پیشمطرح شد
2

وقتی از این کد استفاده کنی:

Math.floor(Math.random() * 10)

بعضی مواقع ممکنه ۰ رو برگردونه. فکر کنم مشکل کار هم همینه
اگر میخواهی عدد بین ۱ تا ۹ باشه میتونی به شکل زیر استفاده کنی
دیگه ۰ هم بر نمیگردونه

Math.floor((Math.random() * 9) + 1)

حالا همین کد رو میتونی بذاری داخل یه تابع:

function randomNumber() {
  return Math.floor((Math.random() * 9) + 1);
}

جواد کرمی
جواد کرمی
تخصص :توسعه دهنده وب و اپلیکیشن | فرانت اند
@javadkarami6 سال پیشمطرح شد
2

@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>

سید حسین رضوی
سید حسین رضوی
تخصص :برنامه نویس وب و طراح رابط کاربری
@hossein.r.14426 سال پیشمطرح شد
0

ببینید شما اعدادی که برای اولین مرحله ایجاد شدن رو که دارید خوب حالا توی تابع چک کنید اگه عدد ایجاد شده تکراری بود مجدد یه کد دیگه براتون بسازه
یه چیزی تقریبا مثل این

var oldNum = document.getElementById('num').innerText;
do{
    var a = Math.floor(Math.random() * 10);
}while( a !== oldNum);

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام