|
1 / 1 / 0
Регистрация: 24.10.2013
Сообщений: 70
|
|
Объясните реализацию логики тетриса27.07.2016, 11:30. Показов 6132. Ответов 65
Добрый день я учу Java и пробую практиковаться. Собрал свой первый арканойд на JavaFX. Теперь пытаюсь собрать тетрис. Сделал класс поля с массивом нулей и нарисовал его. Для тестирования загнал в этот массив вручную вместо нулей несколько единиц в качестве возможной фигурки и все это рендерится в одном методе по условию проверки на 1 или 0.
Но я не понимаю как мне передавать в массив фигурку и двигать ее там, перерисовывая весь массив на каждый сдвиг фигурки ? Если я правильно понимаю конечно. Нигде нет подробного объяснения. Подскажите как надо и как лучше
0
|
|
| 27.07.2016, 11:30 | |
|
Ответы с готовыми решениями:
65
Объясните реализацию формы Объясните реализацию интерфейсов на примере интерфейса IAny пытаюсь сделать реализацию через считывание из файла кол-ва чисел, i,но незнаю как сделать реализацию из файла в массив и сортировки. |
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 27.07.2016, 11:31 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 24.10.2013
Сообщений: 70
|
|
| 27.07.2016, 11:38 [ТС] | |
|
это понятно ) я просто переспросил, что удостоверится, что это оптимально и не сильно затратно по ресурсам.
Но как передавать туда фигурку, изменяя ее положение в массиве и очищая ячейки из прошлой позиции ?
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||
| 27.07.2016, 14:03 | ||
|
0
|
||
|
1 / 1 / 0
Регистрация: 24.10.2013
Сообщений: 70
|
|
| 27.07.2016, 14:20 [ТС] | |
|
не понимаю и не могу сформулировать ( Как доска узнает в каком месте надо ставить 1, а когда не надо ?
ну не могу я понять еще пока. И нет ни одного тутора русского объясняющего.
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 27.07.2016, 15:45 | |
|
Sergio89, есть у вас например квадратная матрица и там на координате [5][7] стоит 1, а остальные все нули. Как вы теперь эту 1 переместите на три клетку вправо? Правильно прибавите три ко второй координате и обнулите старую координату. То есть запишите 0 в [5][7] и запишите 1 в [5][10]. Так же и с фигурками, только там будет не одна единица, а несколько. Это если вы хотите на совсем низком уровне. Возможно в JavaFX можно просто нарисовать фигурки и проверять их на коллизии с другими фигурками.
0
|
|
|
1 / 1 / 0
Регистрация: 24.10.2013
Сообщений: 70
|
||||||
| 27.07.2016, 16:07 [ТС] | ||||||
|
Вот простой класс доски
в конструкторе заполняется массив нулями и там же я вручную ставлю единицы У фигурки будет свой массив. Но я все равно не поймаю паттерн, по которому переносить единицы из массива фигурки в массив доски. Мне необходим какой-то простой наглядный пример. Сорри я гуманитарий.
0
|
||||||
|
1 / 1 / 0
Регистрация: 24.10.2013
Сообщений: 70
|
|
| 28.07.2016, 16:17 [ТС] | |
|
Никто не делал тетрис ? я смотрел разные исходники - там используют систему координат в параметрах фигур, но я не понимаю как она работает - мне всего лишь не хватает объяснения.
PS периодически буду поднимать эту тему вверх ветки
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||
| 28.07.2016, 17:28 | ||
|
0
|
||
|
1 / 1 / 0
Регистрация: 24.10.2013
Сообщений: 70
|
|
| 28.07.2016, 17:35 [ТС] | |
|
Так я для этого и хочу набраться опыта и понять принцип. Все ровно практиковаться больше не начем
0
|
|
|
1 / 1 / 0
Регистрация: 24.10.2013
Сообщений: 70
|
||||||
| 30.07.2016, 13:13 [ТС] | ||||||
|
Продолжаем долбиться. Пойдем от обратного.
Я нарисовал на поле нулей одну единственную единицу. Написал обработчик для клавиш A и D, по нажатию, которых я циклом нахожу единицу, должен заменить на ноль и поставить в соседней ячейке Как мне мне перемещать эту единицу по полю и не получить эксепшен выхода за границы массива ?
0
|
||||||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||
| 30.07.2016, 13:54 | ||
|
0
|
||
|
1 / 1 / 0
Регистрация: 24.10.2013
Сообщений: 70
|
||
| 30.07.2016, 14:03 [ТС] | ||
я вроде же спросил как мне это сделать.Как получить соседнюю координату, если [j+1] мгновенно приводит к этому
0
|
||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 30.07.2016, 14:49 | |
|
Sergio89, если у вас массив размером N, то последняя координата будет именть индекс N-1 как говорит К.О
0
|
|
|
1 / 1 / 0
Регистрация: 24.10.2013
Сообщений: 70
|
|
| 30.07.2016, 15:15 [ТС] | |
|
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 30.07.2016, 15:51 | |
|
Sergio89, что значит что? Все. Проверяете если ваш индекс больше N-1 или нет. В чем проблема то?
0
|
|
|
1 / 1 / 0
Регистрация: 24.10.2013
Сообщений: 70
|
||
| 30.07.2016, 15:57 [ТС] | ||
|
0
|
||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||
| 30.07.2016, 16:00 | ||
|
Sergio89, смотрите в дебаге что не так.
0
|
||
|
1 / 1 / 0
Регистрация: 24.10.2013
Сообщений: 70
|
||
| 31.07.2016, 13:49 [ТС] | ||
|
Добавлено через 21 час 43 минуты 235 просмотров, но только один человек отвечает На youtube 0 русских туторов по написанию тетриса 0 толковых статей по написанию тетриса Никто не пробовал писать свой тетрис ?
0
|
||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 31.07.2016, 14:12 | |
|
Sergio89, вы толком не можете сформулировать вопрос, поэтому вам никто не отвечает.
0
|
|
| 31.07.2016, 14:12 | |
|
Помогаю со студенческими работами здесь
20
Программирование тетриса Программирование тетриса
Графическая часть Тетриса Статьи по созданию тетриса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
изучаю 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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|