|
4 / 4 / 1
Регистрация: 03.02.2017
Сообщений: 29
|
|
Игра Balls и алгоритмы удаления шаров и поворот фигурки18.04.2017, 13:27. Показов 1706. Ответов 11
Метки нет (Все метки)
Здравствуйте! Нужна помощь в составлении 2 алгоритмов.
1 - Удаление мячей(они должны быть одного цвета и больше или равно 4). 2 - поворот фигурки(в фигурке 2 мяча). Вот с ними у меня возникли проблемы, уже который день не могу их реализовать. Есть метод "leaveOnTheField()" - он записывает в 2мерный массив "matrix" значение цвета фигурки(например 1 - синий, 2 - красный и т.д.). Также есть мапа с мячами(объекты) за счет нее я рисую их на поле. ключом выступает id мяча. За счет матрицы и значений я реализовал проверки на столкновения со стенкой и другими мячами, но вот с удалением ни вкакую не выходит и поворот тоже не могу придумать как реализовать, потому прошу помощи. Адекватная критика по коду тоже приветствуется. Вот ссылка на репозиторий https://github.com/JavaBoy3578/The-Balls-Game.git
0
|
|
| 18.04.2017, 13:27 | |
|
Ответы с готовыми решениями:
11
Bkrfdf.xyz/balls
Игра Шары: чтобы выстроенные в ряд три и более шаров одинакового цвета сгорали |
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 18.04.2017, 13:57 | |
|
какие мячи, какое поле, какое удаление...
Тут ваще никто не в курсе, чем ты занимаешься, телепаты все в отпуске.
0
|
|
|
4 / 4 / 1
Регистрация: 03.02.2017
Сообщений: 29
|
|
| 18.04.2017, 14:44 [ТС] | |
|
ок я понял, просто первый раз пишу тут.
вот само тз Кликните здесь для просмотра всего текста
Шары спускаются с верхней части игрового поля парами. Игрок может вращать их пока они спускаются вниз.
Шары могут быть 4-х различных цветов: красный, синий, зеленый и желтый Если собралась группа из четырех шаров одного и того же цвета (по горизонтали, по вертикали или оба варианта сразу (как в тетрис)) — эти шары с игрового поля убираются, что позволяет любым оставшимся шарам упасть и заполнить освободившееся пространство. Это может привести к ряду возможных «цепочек комбо», если упавшие шары также создают группы. Игровое поле может быть любого размера вы хотите (мы рекомендуем 6x12) Обратите внимание, что пара шаров не связаны друг с другом. Если один шар блокируется, потому что есть что-то внизу, другой будет продолжать падать (без контроля игрока над ним), пока он не достигнет чего-либо под собой. проблема как раз с пунктом удаления шаров и поворотом вот джарник на то что уже есть исходники указаны в первом посте.
0
|
|
|
9 / 9 / 3
Регистрация: 20.04.2016
Сообщений: 33
|
|
| 18.04.2017, 15:34 | |
|
а почему поворот не получается?
0
|
|
|
4 / 4 / 1
Регистрация: 03.02.2017
Сообщений: 29
|
|
| 18.04.2017, 15:53 [ТС] | |
|
Дело в том, что я только учусь и с играми я в принципе столкнулся впервые, просто развернуть фигурку я могу, но как сделать, что бы она вращалась по часовой стрелке, одной клавишей, не могу додуматься)
0
|
|
|
9 / 9 / 3
Регистрация: 20.04.2016
Сообщений: 33
|
||||||
| 18.04.2017, 17:34 | ||||||
|
немного попробывал разобраться вот первый результат попробуй добавь в rotate метод
1
|
||||||
|
4 / 4 / 1
Регистрация: 03.02.2017
Сообщений: 29
|
||||||
| 18.04.2017, 18:20 [ТС] | ||||||
|
спасибо за направление))
немного доработав получилось сделать поворот фигурки примерно так
теперь появились пару маленьких багов с движением фигурки, но я исправлю уже сам их спс) но вот проблемма с убиранием шаров еще актуальна.
0
|
||||||
|
9 / 9 / 3
Регистрация: 20.04.2016
Сообщений: 33
|
|
| 18.04.2017, 18:24 | |
|
Cлушай, а какую функцию выполняет matrix?
0
|
|
|
4 / 4 / 1
Регистрация: 03.02.2017
Сообщений: 29
|
|
| 18.04.2017, 18:33 [ТС] | |
|
matrix - это поле(стакан/шахта хз как назвать) когда мяч падает на пол или другой шар, то в matrix записывается значение цвета этого шара(0 - клетка свободна, 1 - занята синим шаром, 2 - красным и т.д.), за счет этого я реализовал проверку на столкновение шаров. За счет него же хотел сделать проверку линий, но вот тут и наткнулся на забор.
0
|
|
|
9 / 9 / 3
Регистрация: 20.04.2016
Сообщений: 33
|
|||||||||||
| 18.04.2017, 19:03 | |||||||||||
|
Я думаю в Figure-классe нужно добавить значeния, чтобы определять в каком положении находится фигура.
проверка линий думаю можно двумя способами сделать первый способ, только нужно ещё добавить способ чтобы определить какая именно линия полная и сбрасывать её:
1
|
|||||||||||
|
4 / 4 / 1
Регистрация: 03.02.2017
Сообщений: 29
|
|
| 18.04.2017, 19:49 [ТС] | |
|
ок завтра буду пробовать, сейчас уже голова не работает)
0
|
|
|
4 / 4 / 1
Регистрация: 03.02.2017
Сообщений: 29
|
|
| 20.04.2017, 14:34 [ТС] | |
|
спс в принципе разобрался. Если потребуется еще помощь отпишу)
0
|
|
| 20.04.2017, 14:34 | |
|
Помогаю со студенческими работами здесь
12
Игра шары. Сделать , чтобы выстроенные в ряд три и более шаров одинакового цвета сгорали? Компьютерная игра "Семь лунок": Сделать массив, который бы реагировал на перестановку шаров в лунках Игра Го. Нужен алгоритм, для удаления камней, захваченных соперником В урне содержится 8 шаров и 6 белых шаров. Случайным образом вынимают 4 шара Найти скорость шаров после столкновения и изменение кинетической энергии шаров в результате удара. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|