Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2008, 15:05   #1
Agent[PNZ]
Пользователь
 
Регистрация: 20.11.2007
Сообщений: 37
По умолчанию Delphi 7 задача на графику, игрушка

Сдал все задачи, осталась последняя, самая жесткая, графика блин. Читал, читал, но чую самому не справится мне, а тут и сроки поджимают уже. Помогите пожалуйста, может у кого есть такая задачка.(Delphi 7)

Разработать генератор случайных лабиринтов и программу, отображающую движение по лабиринту.
Требования:
- лабиринт отобразить в виде плана
- размер лабиринта - весь экран, за исключением строки подсказки внизу экрана;
- пройденный путь отобразить изменением цвета лабиринта;

Управвление:
- перемещение путешественника по доступным проходам - стрелки управления курсоров (<Left>,<Right>,<Up>,<Down>);
Примечание:
- предусмотреть запись лабиринта в файл
- выход из лабиринта отобразить специальным экраном
F2 - запись лабиринта
F3 - загрузка предыдущего лабиринта
F4 - генерация нового лабиринта
F10 - выход


заранее благодарен и спасибо
Agent[PNZ] вне форума Ответить с цитированием
Старый 29.04.2008, 09:35   #2
Agent[PNZ]
Пользователь
 
Регистрация: 20.11.2007
Сообщений: 37
По умолчанию

Ребят, я ж не прошу просто выложить мне сюда задачу, канешн неплохо бло бы если так, но всеже мне бы на первое время хватило словестного алгоритма решения хотя бы. просто с графикой я работать ну совсем не умею. Ваши советы бы мне очень помогли.
Agent[PNZ] вне форума Ответить с цитированием
Старый 29.04.2008, 10:54   #3
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Рисуй либо прямо на форме, либо в Пейнтбоксе. Пейнтбокс удобен если зона отрисовки занимает лишь часть окна, а остальную часть занимают панели всякие, тогда координаты не нарушаются. Если же рисовать надо по всему окну, можно прямо на форме.

Рисовать надо методами канвы - Form.Canvas или PaintBox.Canvas
Открывай справку Дельфи - TCanvas и изучай. Для отрисовки растров как минимум понадобится метод Draw, для процедурной графики (линии, кружочки и т.д.) методы MoveTo, LineTo, Ellipse, Rectangle.

Идем дальше, все что ты рисуешь должно правильно отображаться на экране. Для этого нужно картинку обновлять, если использовать таймер, то по таймеру, если не использовать то по нажатию кнопок и по событию OnPaint того объекта в к-ром рисуешь.

Для рисования понадобится один или два буфера - объекты TBitmap, тоже самое идешь в справку Дельфи и читаешь что это, для чего, и как с ним работать. Вкратце, TBitmap это растр, с набором методов и свойств, он также имеет свойство Canvas.

Алгоритм рисования: рисуешь фон (лабиринт) в первом буфере, делаешь это один раз в начале. Далее при каждой отрисовке копируешь первый буфер во второй, во втором поверх лабиринта рисуешь путешественника по его текущим координатам, второй буфер выводишь на экран - канву формы или пэйнтбокса (можно имиджа).

Закругляюсь, а то писать можно очень долго, будут конкретные вопросы - задавай.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить значение по графику? leonid Microsoft Office Excel 4 27.05.2008 08:48
Delphi.2 Задачи на простейшую графику. Skoty Помощь студентам 1 27.04.2008 23:36
игрушка в курсовике EDG_aka_Dima Помощь студентам 2 25.05.2007 06:13
как при помоши делфи сделать графику nata1111 Помощь студентам 12 24.03.2007 01:45
Игрушка Rozalinda Gamedev - cоздание игр: Unity, OpenGL, DirectX 9 14.01.2007 22:00