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

Игра пятнашки, перемещение блоков

17.10.2022, 00:17. Показов 585. Ответов 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
var arr = [1, 2, 3, 4, 5]
var arr2 = []
var buttons = document.querySelectorAll('.block')
 
function getrandom() 
{
  while (true)
  {
    var num = Math.floor(Math.random() * arr.length)
    if (!arr2.includes(num))
    {
      arr2.push(num)
      return num
    }
  }
}
 
function pushrand()
{
  buttons.forEach(element => 
  {
    let random = getrandom()
    element.innerHTML = arr[random]
  })
  arr2 = [];
}
HTML5
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
<!DOCTYPE html>
<html lang="ru">
 
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="wclassth=device-wclassth, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <title>Пятнашки</title>
</head>
 
<body>
    <button class="block1" onclick = pushrand()><span class="randNumbers">Новая игра</span>
    </button>
    <div class="container">
        <div class="game">
            <div class="blocks">
                <button class="block"></button>
                <button class="block"></button>
                <button class="block"></button>
                <button class="block"></button>
                <button class="block"></button>
            </div>
        </div>
    </div>
 
    <script src="index.js"></script>
</body>
 
</html>
CSS
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
html {
    font-size: 62.5%;
    height: 100%;
}
.container{
    display: flex;
    height: 100%;
    justify-content: center;
    align-items:center;
    flex-direction: column;
}
 
.blocks {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}
 
.block {
    width: 10rem;
    height: 10rem;
    justify-self: center;
    align-self: center;
}
 
button{
    font-size: 3rem;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.10.2022, 00:17
Ответы с готовыми решениями:

Перемещение блоков
Как делать так, чтобы, допустим. 5 блоков, один ниже другого, то есть с каждой новой строчки. При клике определяем, на который...

игра пятнашки
помогите пожалуста с пятнашками. Написал поле а как перемешать и потом перемещать незнаю &lt;script&gt; ...

Игра пятнашки
Нужно вместо кнопки новая игра,чтобы было число проделанных ходов,т.е. нажимаем на цифры считает ходы &lt;head&gt; &lt;meta...

3
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
17.10.2022, 04:50
meksik111, кнопки никуда не двигаются: просто меняется текстовое содержание двух соседних кнопок -- число с "передвигаемой" кнопки меняется на пустоту &nbsp;, а пустота кнопки, куда "передвигается" предыдущая -- меняется на то самое число


кроме того, простая рандомизация не прокатит -- прочитайте в википедии статью "Пятнашки", там описан алгоритм проверки начального положения костяшек на итоговую "собираемость" головоломки
0
0 / 0 / 0
Регистрация: 17.10.2022
Сообщений: 2
17.10.2022, 10:24  [ТС]
добрый день, не могли бы вы отправить код замены значений в кнопках, с объяснением и используя эту рандомизацию, если вам не сложно. Мне бы просто алгоритм, все статьи перечитал, я ничего там не понял если честно
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
17.10.2022, 20:37
meksik111, посмотрите Пятнашки на javascript
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.10.2022, 20:37
Помогаю со студенческими работами здесь

Почему не работает игра пятнашки
Я делаю игру пятнашки. Когда я просто использую html и js, я генерирую элементы динамически и нажимаю на каждый из них, выбранная клетка...

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

Перемещение блоков с анимацией
Здравствуйте. Не подскажете библиотеку, а может у кого нибудь есть уже готовый код для перемещение блоков с анимацией. Суть вопроса: есть...

jQuery перемещение блоков
Есть несколько блоков. По наведению мышки влево или вправо (тоже блоки) - эти блоки должны &quot;ползти&quot; (двигаться) влево и вправо...

Плавное перемещение одного блока наверх и исчезновение других блоков при клике
Добрый день, Подскажите, пожалуйста, есть ли уже реализованный код или где можно найти идейки для реализации такого замысла: нужно...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
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. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru