Консольные игры!
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Всем доброго времени суток!
Кто-нибудь может посоветовать книгу или сайт, где написано очень подробно как писать консольные игры(типо змейка и т.д.). Я много просмотрел сайтов, где есть исходники игр, но не могу понять почему написаны именно эти цифры. Вот пример:
И таких моментов, к сожалению, при достаточно.
Заранее спасибо за полезную информацию.
Это ты отсюда исходник брал?
Говнокод :(
По ходу там система координат: начало координат левый верхний угол, X идет вертикально вниз, Y — горизонтально вправо.
change_x
иchange_y
— приращения координат головы змейки на каждом цикле движения.Строчка
расшифровывается примерно так:
w
— команда движения вверх (по экрану).change_x != 1
), но в любую из сторон (change_y != 0
),change_x = -1
), и не в одну из сторон (change_y = 0
).Макар, нет. Хотел кинуть сайт откуда скачал, но не смог найти потому что уже не помню. Слишком много пересмотрел их. Если нужно могу весь код кинуть? Спасибо за расшифровку данного кусочка кода.
Можешь объяснить почему используются именно эти цифры: 1, 0, -1 ?
Ты написал вот, что:
По идее Y должен идти вниз, а X вправо. Следуя логике, то должно быть так:
Если змейка двигалась не вниз (change_y != -1), но в любую из сторон (change_x != 0), то теперь змейка будет двигаться вверх (change_y = 1), и не в одну из сторон (change_x = 0).
систему координат ведь так выглядит(?):
0 1 2 3 4 5.... X
-1
-2
-3
.
.
Y
Почему-то мне кажется, что верхние строчки — это детский лепет, поэтому хотелось бы узреть и понять истину!!!
Сейчас попробовал применить свою теорию на практике. Она полностью провалилась из-за того, что при нажатии 'w' змейка изменяла направление не вверх, а вправо.
p.s. Если знаешь, то мог бы кинуть сайт, где нормальный исходник змейки?
Интересный ты человек! Напиши змейку сам, тогда координатную систему можешь располагать так, как посчитаешь нужным ты. Какими соображениями руководствовался автор этого варианта я без понятия. И честно говоря разбираться в этом говнокоде особого желания нет.
Числа -1, 0, 1 — это приращения координат. В программе есть основной игровой цикл в котором происходит опрос клавиатуры и перерисовка игрового поля. С каждым проходом цикла координаты головы змейки изменяются на текущие приращения, которые хранятся в
change_x
иchange_y
. 0 — координата не изменяется. -1 — координата изменяется на единицу в одну сторону, 1 — координата изменяется на единицу в другую сторону.Нормальным исходником змейки не интересовался. Просто погуглил на тему «управление змейкой у нас через wasd», что бы нарыть полный текст программы максимально похожей на ту что у тебя.
Макар, спасибо, буду искать и разбираться!
ph@nntom, вчера статью выложил Пишем змейку на C++. Может оно тебе как-то поможет.