راکت

اعداد تصادفی

18 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

18
سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

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

جواد کرمی
جواد کرمی
@javadkarami

تخصص: توسعه دهنده وب و اپلیکیشن | فرانت اند

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

شاید پاسخ شما همین‌جا باشد

آرمین امیری نسب
آرمین امیری نسب
@arminamirinasab

تخصص: برنامه نویس فرانت اند

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

آرمین امیری نسب
آرمین امیری نسب
@arminamirinasab

تخصص: برنامه نویس فرانت اند

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

سید حسین رضوی
سید حسین رضوی
@hossein.r.1442

تخصص: برنامه نویس وب و طراح رابط کاربری

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

میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

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

آرمین امیری نسب
آرمین امیری نسب
@arminamirinasab

تخصص: برنامه نویس فرانت اند

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

آرمین امیری نسب
آرمین امیری نسب
@arminamirinasab

تخصص: برنامه نویس فرانت اند

میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

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

آرمین امیری نسب
آرمین امیری نسب
@arminamirinasab

تخصص: برنامه نویس فرانت اند

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

میلاد-م
میلاد-م
@milad

تخصص: توسعه‌دهنده رابط کاربری - Front-End

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

آرمین امیری نسب
آرمین امیری نسب
@arminamirinasab

تخصص: برنامه نویس فرانت اند

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

آرمین امیری نسب
آرمین امیری نسب
@arminamirinasab

تخصص: برنامه نویس فرانت اند

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

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

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

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

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

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

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

function randomNumber() {
  return Math.floor((Math.random() * 9) + 1);
}
جواد کرمی
جواد کرمی
@javadkarami

تخصص: توسعه دهنده وب و اپلیکیشن | فرانت اند

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

تخصص: برنامه نویس وب و طراح رابط کاربری

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

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

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

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