![]() |
![]() |
Volf |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: ![]() ![]() ![]() |
задача вроде не сложная, но я весь запутался, решается практически моя судьба, поэтому ооочень надеюсь на вашу Помощь!!!!
очень срочно!!! игра сама по себе сделана, нужно переделать такую вещь как: вместо ходящего элемента * сделать змейку состоящую из 3-х элементов *-- Прикрепленные файлы ![]() |
![]() ![]() |
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
задача вроде не сложная, но я весь запутался, решается практически моя судьба, поэтому ооочень надеюсь на вашу Помощь!!!! очень срочно!!! игра сама по себе сделана, нужно переделать такую вещь как: вместо ходящего элемента * сделать змейку состоящую из 3-х элементов *-- А если она идет вертикально - использовать "|" ? В принципе, это можно сделать без особо больших изменений, мне кажется. Для этого : 1. затирать старое положение звездочки нужно не пробелом, а либо -, либо |. Можно ввести этот символ в число параметров процедуры Move и вызывать ее с нужным символом из управления. 2. Нужно запоминать все промежуточные положения в буфер типа FIFO и затирать пробелом хвост в координатах выходящего элемента этого буфера. 3. Ход назад придется запретить. Для этого надо хранить последний ход или проверять значение поля на экране.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Volf |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: ![]() ![]() ![]() |
А если она идет вертикально - использовать "|" ? В принципе, это можно сделать без особо больших изменений, мне кажется. нет...там у меня ошибка...3 символ не -, а спецсимвол псевдографики (#217)... а в программир я практически 0, и вообще нихрена не получается...=''''''((((((( |
Volf |
![]() ![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: ![]() ![]() ![]() |
SOS!!!
SOS!!! SOS!!! |
Lapp |
![]()
Сообщение
#5
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
нет...там у меня ошибка...3 символ не -, а спецсимвол псевдографики (#217)... Ты не мог бы подробнее сказать? Проблема в том, что когда она движется влево - все хорошо, у нее хвост приподнят (#217 выглядит уголком). Но если она идет вправо - хвост уже странный. И совсем странно, если она идет вверх или вниз: * - - Ты точно этого хочешь? Почему нужно выпытывать? Это нужно тебе или мне? Я же явно спросил про вертикальное движение в прошлом посте.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Volf |
![]()
Сообщение
#6
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ты точно этого хочешь? Почему нужно выпытывать? Это нужно тебе или мне? Я же явно спросил про вертикальное движение в прошлом посте.. Да мне УЖЕ хоть как!!!!!!! Лищь бы змейка ходила!!!!!!!!лишь бы сдать!!!!!!!!! время есть до 11,00!!!!!!!!!!! HELPPPPPPPPPPPPPPPPPP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! =((((((((((((( |
Lapp |
![]()
Сообщение
#7
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Да мне УЖЕ хоть как!!!!!!! Лищь бы змейка ходила!!!!!!!!лишь бы сдать!!!!!!!!! время есть до 11,00!!!!!!!!!!! HELPPPPPPPPPPPPPPPPPP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! =((((((((((((( Нет, до 11 я точно не могу даже заняться. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Volf |
![]()
Сообщение
#8
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
Volf |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: ![]() ![]() ![]() |
ШАНС НА СПАСЕНИЕ!!!
сдачу переназначили!!!!! так что зов о помощи с этой злосчастной змейкой в силе!!!!!!!!!!!!!!!!!!! |
Lapp |
![]()
Сообщение
#10
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
сдачу переназначили!!!!! так что зов о помощи с этой злосчастной змейкой в силе!!!!!!!!!!!!!!!!!!! Твоя настойчивость достойна поощрения ![]() Ладно, ночью попробую что-то придумать.. Но на легкий путь не рассчитывай. Делать будем вместе ![]() В порядке первого упражнения - попробуй, если сможешь, что-то сделать сам, руководствуясь тем, что я написал выше.. А пока - пока! ![]() -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Volf |
![]()
Сообщение
#11
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: ![]() ![]() ![]() |
Твоя настойчивость достойна поощрения ![]() Делать будем вместе ![]() В порядке первого упражнения - попробуй, если сможешь, что-то сделать сам, руководствуясь тем, что ОК! хотя я столько пробовал, и результат - практически 0... а сдача либо завтра во второй половине дня, либо в понедельник...известно будет завтра с утра... |
Lapp |
![]()
Сообщение
#12
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
хотя я столько пробовал, и результат - практически 0... Вот и показал бы свой "практически 0"... а сдача либо завтра во второй половине дня, либо в понедельник...известно будет завтра с утра... Ладно, на этот раз не буду сильно мучить тебя. Выкладываю вариант со змейкой длины 3. Замечания: 1. Я причесал весь код (поставил правильные отступы и ввел большие буквы в идентификаторы для лучшей читаемости). 2. Исправил нечитабельный русский на читабельный английский. Если хочешь русский - переводи сам. 3. Исправил вертикальную черту в отрисовке лабиринта. 4. Кое-где изменил код для оптимзации. Например, множественный IF заменен на CASE (не везде). 5. При длине 3 затевать кухню с FIFO все же не стоит. Я просто добавил пару переменных VeryOldX и VeryOldY и сделал перекладывание. Если нужно будет реализовать бОльшую длину - надо делать FIFO. 6. Добавил проверку на самопересечение, которое считаю запрещенным. 7. При запрете на самопересечение возможна блокировка. Добавил проверку блокировки с выходом из програмы (сообщение "You are lost", то есть "Вы потерялись"). 8. Все более-менее существенные изменения и добавления снабжены комментариями. 9. Компилировалось с использованием FPC с опцией совместимости с TP. ![]() Volf, в следующий раз приходи заранее (неделя как минимум). Никаких суперсрочных решений больше не будет (по крайней мере от меня). Или уж иди в Задачи на Заказ, но и там нужно время.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Volf |
![]()
Сообщение
#13
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: ![]() ![]() ![]() |
ОК!
СПАСИБО огромное!!! все работает, единственное это то,что при любом исходе, даже при выигрыше выдает "Вы потерялись" =) ну это мелочи, еще раз СПАСИБО! ![]() |
Lapp |
![]()
Сообщение
#14
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
даже при выигрыше выдает "Вы потерялись" В конце процедуры CheckMove измени так: Код if (CurX=1) or (CurX=10) or (CurY=1) or (CurY=10) then exitcode:=2 else if (Lab[CurX-1,CurY]<>' ')and(Lab[CurX+1,CurY]<>' ')and(Lab[CurX,CurY-1]<>' ')and(Lab[CurX,CurY+1]<>' ') then ExitCode:=3 -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 14.07.2025 22:49 |