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

Lapp Фу, это же магические числа.
Я предпочитаю делать ... 15.12.2010 14:34
Lapp получается, сначала надо заполнить массив нулями, ... 16.12.2010 12:03
a100 спаааааасибо! буду разбираться 16.12.2010 22:45
TarasBer Как раз с отладкой проблем меньше, потому что когд... 15.12.2010 14:37
Lapp Что касается печати, то тут да, язык в данной реал... 15.12.2010 14:59
a100 в принципе более менее разобрался)
но есть куча во... 21.12.2010 11:50
Lapp Спасибо, Тарас, +1 (P.S. - сделаю завтра, на сегод... 21.12.2010 15:11
TarasBer > Вот это место, Write(CellPrint[b[j,i]+1]), чт... 21.12.2010 12:15
a100 Друзья, огромное Вам спасибо за помощь!
попро... 22.12.2010 6:46
a100 не получается сделать, чтоб змейка постоянно была ... 22.12.2010 14:31![]() ![]() |
|
Текстовая версия | 8.12.2025 21:53 |