Миничат

MarkerIl 12 мин. Фига себе. Это что, обновление сайта?!
AnnTenna 2 дн. даже не верится что завтра уже 1 мая
poca 3 дн. А вот и среда =)
AnnTenna 4 дн. Ничего скоро уже майские...
MarsKnight 24.04.2026 18:48 Пережили эту рабочую недельку, пора пепечилить)
poca 24.04.2026 03:26 o_O пасиб за ссыль, похождения зелёной какахи доставили :D Ёмаё, куда катится игропром? =_=
Kerotan 24.04.2026 00:43 https://www.youtube.com/watch?v=vdUo12Zb1FU&t=5194s
Kerotan 24.04.2026 00:43 Из наших видел на RPG Maker Showcase 2026 - Exellent Award - "Heroines of Swords & Spells 2" (Best Comment Award) 1:00:03
Jas6666 23.04.2026 20:14 В принципе сами разработчики мейкера каждый год проводят "Фестиваль RPG Maker" вбей в поиск, выдаст страницу в стиме, там игры. сам уж решай стоящие ли игры, просто по отзыва
tim103 23.04.2026 15:05 Слушайте, а есть за последнее время вообще какие-то прорывные игры, которые в какой-то степени выстрелили в стим, и написанные на Rpg Maker? Если не считать старые проекты, по типу to the moon?
AnnTenna 23.04.2026 14:56 у нас жесть а не погодка)
AnnTenna 23.04.2026 14:45 доброго дня) как у вас погодка?)
ajir 20.04.2026 11:44 Phavn: Отлично!
Phavn 20.04.2026 10:54 Спасибо помогло. Вышел - куки данного сайта стёр - зашёл - заработало.
ajir 20.04.2026 10:37 Phavn: Если и это не помогает, не видишь - значит увы сбой с залогиниванием на форуме, попробуй очисть все данные сайта в браузере, залогиниться на первой странице сайта, перейти на форум, перейти в нужный подфорум и создать тему.
ajir 20.04.2026 10:35 Phavn: "Форум Светлая Зона и Академия RPG Maker Свободный Новая тема Темы прочитаны Подписаться" т.е. ищи "Новая тема".
Phavn 20.04.2026 10:10 Привет всем, кажется я уже спрашивал когда-то об этом — но как мне создать тут новую тему на форуме? Я их уже создавал, но теперь кнопки "создать тему" не вижу.
VaNyuHa 18.04.2026 05:33 мда... писал писал, а оказывается длинные смс нельзя, хах! В общем, понимаю, что можно через общие события и переменные было указывать координаты событий и игрока, и если мое нужное условие выполняется - активировать событие, но на этот раз просто решил узнать способ проще, вот и все)
VaNyuHa 18.04.2026 05:30 MarkerIl, согласен, этим мне и нравится rpgmv. Фантазия есть, в своей игре уже много головоломок на разную тему реализовал через общие события и встроенные функции. Но из-за работы и семьи мало времени на это... так что бывает в свободное время на работе сразу на черновике прописываю то, как будет работать задуманная головоломка, например (вращающи
VaNyuHa 18.04.2026 05:30 MarkerIl, согласен, этим мне и нравится rpgmv. Фантазия есть, в своей игре уже много головоломок на разную тему реализовал через общие события и встроенные функции. Но из-за работы и семьи мало времени на это... так что бывает в свободное время на работе сразу на черновике прописываю то, как будет работать задуманная головоломка, например (вращающи

Вопрос по массивам Javascript

Ветеран Разработчик
Больше
6 года 1 мес. назад - 6 года 1 мес. назад #115589 от Seibur
Доброй ночи


Подскажите пожалуйста решение

Есть простой одномерный массив 0,1,2,3

и заполняется он рандомно числами:

1,1,1,1 2,2,2,2 3,3,3,3 4,4,4,4

Нужно сделать проверку на 1,2,3,4 случайных, одинаковых, рядом стоящих значений в массиве.

Вопрос: как это сделать?

Пример:

2,2,3,2 или 3,2,2,1 или 4,1,2,2 - пара 2 рядом стоящих, одинаковых числа

2,2,4,4 - две пары рядом стоящих, случайных значений

если 1,1 или 2,2 или 3,3 или 4,4 - стоят рядом в массиве, то происходит действие

1,1,1,4 - 3 рядом стоящих, одинаковых числа

4,4,4,4 - 4 рядом стоящих, одинаковых числа

Будь таким, каким хочешь казаться.
Последнее редактирование: 6 года 1 мес. назад пользователем Seibur.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Даритель Стимкея Проект месяца 2 место 1 место в Готв 3 место Готв 3 место Ветеран
Больше
6 года 1 мес. назад #115590 от MaltonTheWarrior
Я, конечно, не знаток джава скрипта, но... Не проще ли, именно проще, не говорю, что правильнее, будет конвертнуть массив в строку и просто искать нахождения в ней интересующих тебя сочетаний?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Ветеран Разработчик
Больше
6 года 1 мес. назад #115591 от Seibur

MaltonTheWarrior пишет: Я, конечно, не знаток джава скрипта, но... Не проще ли, именно проще, не говорю, что правильнее, будет конвертнуть массив в строку и просто искать нахождения в ней интересующих тебя сочетаний?


Можно и не на js - мне хотя бы понять алгоритм решения выдуманной мной задачи

Будь таким, каким хочешь казаться.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
6 года 1 мес. назад - 6 года 1 мес. назад #115592 от Sphinx

Seibur пишет: Можно и не на js - мне хотя бы понять алгоритм решения выдуманной мной задачи

Если язык не важен, а нужен именно сам алгоритм, то вот держи на Си-подобном синтаксисе:
Code:
const int n - длина массива int count = 0; // счетчик совпадений //начинаем проход массива со второго элемента for (int i = 1; i < n; i++) { if (arr[i] == arr[i - 1] ) count++;//инкрементируем счетчик if ( (arr[i] != arr[i - 1] ) || (i == n - 1) ) { //почему if, а не else. см внизу switch (count) { case 3: //действия для 4-x чисел break; case 2: //действия для 3-x чисел break; case 1: //действия для 2-х чисел break; default: //когда одинаковых чисел нет или их больше 4-х, то ничего не делаем break; } count = 0;//обнуляем счетчик } }
Данный алгоритм проходит массив и выполняет заданные действия для всех последовательностей одинаковых чисел длиной от 2-х до 4-х чисел в массиве.
Второй if вместо else используем, чтобы алгоритм отрабатывал на граничном случае, когда массив заканчивается последовательностью одинаковых чисел.
Последнее редактирование: 6 года 1 мес. назад пользователем Sphinx.
Спасибо сказали: ZX_Lost_Soul, Lekste, Seibur, Doctor_Bug

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Оратор 1 место в Готв 3 место Готв 2 место Учитель Композитор Победитель конкурса Организатор конкурсов
Больше
6 года 1 мес. назад #115597 от yuryol

Seibur пишет: Доброй ночи


Подскажите пожалуйста решение

Есть простой одномерный массив 0,1,2,3

и заполняется он рандомно числами:

1,1,1,1 2,2,2,2 3,3,3,3 4,4,4,4

Нужно сделать проверку на 1,2,3,4 случайных, одинаковых, рядом стоящих значений в массиве.

Вопрос: как это сделать?

Пример:

2,2,3,2 или 3,2,2,1 или 4,1,2,2 - пара 2 рядом стоящих, одинаковых числа

2,2,4,4 - две пары рядом стоящих, случайных значений

если 1,1 или 2,2 или 3,3 или 4,4 - стоят рядом в массиве, то происходит действие

1,1,1,4 - 3 рядом стоящих, одинаковых числа

4,4,4,4 - 4 рядом стоящих, одинаковых числа


что за тему-то проходишь?
если про ес6, то скорее всего следует использовать метод reduce, который позволяет сравнивать соседние элементы массива. метод довольно сложный, поэтому скорее всего придется посидеть повникать

developer.mozilla.org/ru/docs/Web/JavaSc...Objects/Array/Reduce
learn.javascript.ru/array-iteration
Спасибо сказали: Seibur

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Ветеран Даритель Стимкея Оратор Программист JavaScript
Больше
6 года 1 мес. назад #115600 от Lekste
reduce не для сравнения, а для получения одного значения (например, суммы) из массива
Спасибо сказали: Seibur

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Ветеран Разработчик
Больше
6 года 1 мес. назад #115602 от Seibur
Спасибо за ответы, ребята!

Будь таким, каким хочешь казаться.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Оратор 1 место в Готв 3 место Готв 2 место Учитель Композитор Победитель конкурса Организатор конкурсов
Больше
6 года 1 мес. назад - 6 года 1 мес. назад #115603 от yuryol

Lekste пишет: reduce не для сравнения, а для получения одного значения (например, суммы) из массива


тонкость редюс именно в том как он получает это значение. он сравнивает промежуточное значение (например предыдущий элемент массива) с текущим элементом массивом.

например чтоб сравнить каждое число с предыдущим и вывести в консоль все одинаковые числа, стоящие друг за другом можно написать одну строчкой че-то типа
Code:
[3, 1, 1, 2].reduce((a, b) => (a === b ? console.info(`пара числа ${a}`) : null, b), null);
Последнее редактирование: 6 года 1 мес. назад пользователем yuryol.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Ветеран Даритель Стимкея Оратор Программист JavaScript
Больше
6 года 1 мес. назад #115605 от Lekste
Все бы вам впихивать побочные эффекты.
Если так и делать, то через reduce получить Массив с тем, что сколько раз встречалось, а дальше по цепочке передать эту информацию куда надо, например, через foreach

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.099 секунд
Работает на Kunena форум