![]() |
![]() |
a100 |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: a100 Репутация: ![]() ![]() ![]() |
Здравствуйте! Благодаря информации с вашего форума, получилось написать, так сказать. костяк программы) не просто списать, а понять что для чего, это получилось. Опыт программирования еще совсем маленький.
Вот мой код:
пока не хватает знаний, чтоб сделать хвост змее, который растет, когда змея съедает яблоко... надеюсь на вашу помощь |
![]() ![]() |
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
надеюсь на вашу помощь Самый лучший вариант - завести двумерный массив из байтов по числу клеток игрового поляb: array [xn..xx,yn..yx] of byte; В нем рисуй тело от хвоста до головы. Вот такие обозначения: 0 - пустая клетка 1 - тело идет вверх 2 - тело идет вправо 3 - тело идет вниз 4 - тело идет влево 5 - голова (тело закончилось 6 - кролик 7 - мангуста 8 - препятствие .... Вот тебе пример такого поля и змеи на нем: 0000000000 При этом храни в двух парах переменных текущие координаты головы и хвоста. Так ты сможешь "двигать змею". Если змея в этот момент движется вправо, то следующий кадр будет такой: 0000000000 Подумай над этим как следует. Если будут вопросы - задавай. Меня не будет до ночи, но кто-то еще может подсказать.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
a100 |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: a100 Репутация: ![]() ![]() ![]() |
Самый лучший вариант - завести двумерный массив из байтов по числу клеток игрового поля b: array [xn..xx,yn..yx] of byte; В нем рисуй тело от хвоста до головы. Вот такие обозначения: 0 - пустая клетка 1 - тело идет вверх 2 - тело идет вправо 3 - тело идет вниз 4 - тело идет влево 5 - голова (тело закончилось 6 - кролик 7 - мангуста 8 - препятствие .... Вот тебе пример такого поля и змеи на нем: 0000000000 При этом храни в двух парах переменных текущие координаты головы и хвоста. Так ты сможешь "двигать змею". Если змея в этот момент движется вправо, то следующий кадр будет такой: 0000000000 Подумай над этим как следует. Если будут вопросы - задавай. Меня не будет до ночи, но кто-то еще может подсказать.. получается, сначала надо заполнить массив нулями, а потом в ячейки добавить значения? чтот пока не доходит |
Lapp |
![]()
Сообщение
#4
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
получается, сначала надо заполнить массив нулями, а потом в ячейки добавить значения? чтот пока не доходит Заполнить нулями, начальным телом змеи и поставить кролика.Вот, смотри. Тут практически все готово кроме вывода. То есть вывод самый примитивный. Нужно добавить визуализацию на основе либо CRT, либо графики. Когда разберешься с основой, можно будет этим заняться. uses -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
a100 |
![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: a100 Репутация: ![]() ![]() ![]() |
спаааааасибо! буду разбираться
|
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 14:39 |