Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 02.03.2020
Сообщений: 27

Мини игра

22.01.2021, 09:47. Показов 1376. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
К данной мини игре нужно добавить возможность выбора диапазона (диапазон нужно выбрать один раз, а потом предлагать серию заданий)
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function getRandomInt(max){
return Math.floor(Math.random()*Math.floor(max));
}
while (true)
{
 
var a=getRandomInt(10);
var b=getRandomInt(10);
var c=getRandomInt(10);
var d=getRandomInt(2);
var znak=getRandomInt(3);
if (znak==0)
{
  var otvet = prompt (a+"+"+b+"=");
  if (otvet == a+b) alert ("Krasava");
                  else alert ("Y4i yroki, clown");                  
}
 else if (znak==1)
 {
  var otvet = prompt (a+"-"+b+"=");
  if (otvet == a-b) alert ("Krasava");
                  else alert ("Y4i yroki, clown");       
}
else if (znak==2)
{
  var otvet = prompt (a+"*"+b+"=");
  if (otvet == a*b) alert ("Krasava");
                  else alert ("Y4i yroki, clown");       
}
else (znak==3)
{
  var otvet = prompt (c+"/"+d+"=");
  if (otvet == c/d) alert ("Krasava");
                  else alert ("Y4i yroki, clown");      
}
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.01.2021, 09:47
Ответы с готовыми решениями:

Игра в загадки. Загадать загадку. Если ответ верен – поздравить пользователя. Затем сообщить, что игра окончена.
Всем привет! Меня зовут VitoScaletta, совсем недавно начал обучаться JS, но очень тяжело в голову заходит информация, но я не сдаюсь! В...

Мини-тест
у меня есть программа тестирования. в ней расположены 15 вопросов. мне нужно, чтобы они переключались по нажатию на кнопку. я это делаю вот...

Мини цикл
Вечер добрый. Подскажите, где я туплю? Не запускается var arr = new Array(1, 2, 3); for(var i = 0; arr.length = max; i < max;...

1
 Аватар для web_coder2
755 / 359 / 100
Регистрация: 04.10.2018
Сообщений: 548
23.01.2021, 10:00
Лучший ответ Сообщение было отмечено web_coder2 как решение

Решение

Привет Darach,

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function getRandomInt(n) {
  let rand = Math.random() * (n + 1);
  return Math.floor(rand);
}
var message = "Давай сыграем в игру!?"
 
var repeat = confirm(message);
var iterations = 1
while (repeat) {
 
    var a = getRandomInt(10);
    var b = getRandomInt(10);
    var c = getRandomInt(10);
    var d = getRandomInt(2);
    var znak = getRandomInt(3);
    if (znak == 0) {
        var otvet = +prompt(a + "+" + b + "=");
        if (otvet == a + b) alert("Krasava");
        else alert("Y4i yroki, clown");
    } else if (znak == 1) {
        var otvet = +prompt(a + "-" + b + "=");
        if (otvet == a - b) alert("Krasava");
        else alert("Y4i yroki, clown");
    } else if (znak == 2) {
        var otvet = +prompt(a + "*" + b + "=");
        if (otvet == a * b) alert("Krasava");
        else alert("Y4i yroki, clown");
    } else {
        var otvet = +prompt(c + "/" + d + "=");
        if (otvet == c / d) alert("Krasava");
        else alert("Y4i yroki, clown");
    }
    iterations++
    repeat = confirm(message + ` (${iterations}) `);
}
Добавлено через 1 час 3 минуты
кулинарный поединок погнали я создал =)

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function getRandomInt(n) {
  let rand = Math.random() * (n + 1);
  return Math.floor(rand);
}
 
var message = "Давай сыграем в игру!?"
var message_right = "Krasava"
var message_wrong = "Y4i yroki, clown"
 
async function op_calc(op){
 
    var arr = new Array(2).fill(1).map((_, a) => getRandomInt(10)).sort()
 
    if(op == "/") arr[1] || 1
    var answer = parseInt(prompt(`Введите целую часть числа ${arr[0]} ${op} ${arr[1]}`))
    if(answer == parseInt(eval(`${arr[0]} ${op} ${arr[1]}`)))
        alert(message_right);
    else
        alert(message_wrong);
}
 
var op = ["+", "-", "*", "/"]
var iterations = 1
var repeat = confirm(message + ` (${iterations}) `)
 
while (repeat) {
    op_calc(op[getRandomInt(3)])
    repeat = confirm(message + ` (${iterations}) `)
    iterations++
}
Добавлено через 42 минуты
еще вариант

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//https://www.cyberforum.ru/javascript-beginners/thread2739347.html
 
function getRandomInt(numbers, lengthRnd = 2){
    let arrOfRandom = Array.from(Array(numbers).keys()).map(x => x);
 
    //Тасуем массив за Ричардом Дурштенфельдом
    for (let i = arrOfRandom.length - 1; i > 0; i--) {
        let j = ~~(Math.random() * i);
        [arrOfRandom[i], arrOfRandom[j]] = [arrOfRandom[j], arrOfRandom[i]];
    }
    //Оставляем длину массива такую, какое количество значений нужно сгенерировать.
    arrOfRandom.length = lengthRnd;
    return arrOfRandom;
}
 
var message = "Давай сыграем в игру!?"
var message_right = "Krasava"
var message_wrong = "Y4i yroki, clown"
 
async function op_calc(op){
    var arr = new getRandomInt(10)
    if(op == "/" && !arr[1]) arr[1] = 1
    var answer = parseInt(prompt(`Введите целую часть числа ${arr[0]} ${op} ${arr[1]}`))
    if(answer == parseInt(eval(`${arr[0]} ${op} ${arr[1]}`)))
        alert(message_right);
    else
        alert(message_wrong);
}
 
var op = ["+", "-", "*", "/"]
var iterations = 1
var repeat = confirm(message + ` (${iterations}) `)
 
while (repeat) {
    op_calc(op[Math.floor(Math.random() * 4)])
    repeat = confirm(message + ` (${iterations}) `)
    iterations++
}
Добавлено через 28 минут
Блин так увлекся поиском заданий что забыл про условие

Цитата Сообщение от Darach Посмотреть сообщение
добавить возможность выбора диапазона
сек

Добавлено через 29 минут
готово

решение с массив за Ричардом Дурштенфельдом, пока не доконца протестил оно почему-то в диапазон не попало
поэтому задержался =(

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
function getRandomInt(min, max) {
  // случайное число от min до (max+1)
  let rand = min + Math.random() * (max + 1 - min);
  return Math.floor(rand);
}
 
var range
var message = "Давай сыграем в игру!?"
var message_right = "Krasava"
var message_wrong = "Y4i yroki, clown"
 
function op_calc(op){
    var arr = new Array(2).fill(1).map((_, a) => getRandomInt(range[0], range[1]))
    if(op == "/" && !arr[1]) arr[1] = 1
    var answer = parseInt(prompt(`Введите целую часть числа ${arr[0]} ${op} ${arr[1]}`))
    if(answer == parseInt(eval(`${arr[0]} ${op} ${arr[1]}`)))
        alert(message_right);
    else
        alert(message_wrong);
}
 
function minmax(...elements) {
  return [Math.min(...elements), Math.max(...elements)];
}
 
function getRange(){
    var r = prompt(`Введите диапазон ЧислоОт, ЧислоДо`)
    var arr = r.split(",")
    try{
        arr.map(e => {
            var e = parseInt(e)
            if (isNaN(e))
                throw Error("Вы не смогли в диапазон =(, но мы смогли [-20, 20]")
            else
                return e
        })
        range = minmax(...arr)
        alert("Спасибо диапазон принят")
    }
    catch(err){
        alert(err.message)
        range = [-20, 20]
    }
 
}
getRange()
var op = ["+", "-", "*", "/"]
var iterations = 1
var repeat = confirm(message + ` (${iterations}) `)
 
while (repeat) {
    op_calc(op[Math.floor(Math.random() * 4)])
    repeat = confirm(message + ` (${iterations}) `)
    iterations++
}
Добавлено через 27 минут
плохо обработал ввод неправильных диапазонов, исправленный вариаент

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
function getRandomInt(min, max) {
  let rand = min + Math.random() * (max + 1 - min);
  return Math.floor(rand);
}
 
var range
var message = "Давай сыграем в игру!?"
var message_err_rrange = "Вы не смогли в диапазон =(, но мы смогли [-20, 20]"
var message_right = "Krasava"
var message_wrong = "Y4i yroki, clown"
 
function op_calc(op){
    var arr = new Array(2).fill(1).map(_ => getRandomInt(range[0], range[1]))
    if(op == "/" && !arr[1]) arr[1] = 1
    var answer = parseInt(prompt(`Введите целую часть числа ${arr[0]} ${op} ${arr[1]}`))
    if(answer == parseInt(eval(`${arr[0]} ${op} ${arr[1]}`)))
        alert(message_right);
    else
        alert(message_wrong);
}
 
function minmax(...elements) {
  return [Math.min(...elements), Math.max(...elements)];
}
 
function getRange(){
    var r = prompt(`Введите диапазон ЧислоОт, ЧислоДо`)
    var arr = r.split(",")
    try{
        if(arr.length != 2)
            throw Error(message_err_rrange)
 
        arr.map(e => {
            var e = parseInt(e)
            if (isNaN(e))
                throw Error(message_err_rrange)
            else
                return e
        })
        range = minmax(...arr)
        alert("Спасибо диапазон принят")
    }
    catch(err){
        alert(err.message)
        range = [-20, 20]
    }
 
}
getRange()
var op = ["+", "-", "*", "/"]
var iterations = 1
var repeat = confirm(message + ` (${iterations}) `)
 
while (repeat) {
    op_calc(op[Math.floor(Math.random() * 4)])
    repeat = confirm(message + ` (${iterations}) `)
    iterations++
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.01.2021, 10:00
Помогаю со студенческими работами здесь

Мини-бот
Здравствуйте. Мне нужен человек, который поможет сделать скрипт мини-бота Желательно бесплатно, но и за оплату можно, только не прям...

Создание мини-теста
Здравствуйте! есть вот такой код, в котором сначала идут вопросы, где необходимо вписывать ответы, и эти вопросы должны чередоваться с...

мини слайдер
добрый день.хочу поставить себе на сайт внизу в футере "наши партнеры" ,туда поставит 5 миниатюр картинок с логотипами компаний.НУ и чтоб...

Мини-тест
Доброго времени суток, форумчане. Очень нужна Ваша помощь в написании этого чуда: Вывести на экран запрос на ввод имени и прочитать...

AJAX мини обновление
$(document).ready(function(){ $(".download").click(function(){ $.get('includes/update_downloaded.php', {"song": 39},...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru