<< Вернуться на главную

Внимание конкурс

Начинаем подготовку к очередному новогоднему конкурсу программистов. Как обычно задание даем заранее, можно готовиться, читать литературу, вопросы задавать. И программу писать, а результаты нам высылать :-)

Давненко с лабиринтами не воевали. Прийдется восполнить пробел.

Была в свое время такая интересная игра "ПАКМАН". Вот как принято говорить "по мотивам" этой игры мы и разработали конкурс.

Правила игры немножко пришлось подкорректировать для соответствия принципам нашего конкурса. И вот что у нас получилось...

В лабиринте 16 на 16 клеток находится "ПАКМАН", несколько злых "КРАКОЗЯБРов" и призы. Вы управляете пакманом при помощи специальной подпрограммы. Главная задача собирать в лабиринте призы. Призы бывают 10 очков, 15 очков и 20. При поедании приза, он появляется в случайном месте лабиринта и снова готов к "поеданию". И все-бы ничего, но увлекательному процессу собирания призов мешают злющие "КРАКОЗЯБРы" , которые шляются по лабиринту куда попало. Если "ПАКМАН" сталкивается с "КРАКОЗЯБРОЙ", то игроку дается МИНУС 10 очков. А "КРАКОЗЯБРА" лопается и появляется в центре лабиринта.

Будьте осторожны, "КРАКОЗЯБРЫ" двигаются с той-же скоростью что и "ПАКМАН", но мы специально "ЗАГЛУПИЛИ" им интеллект (иначе совсем уж плохо было :-) ). Так что они конечно гоняются за "ПАКМАНом" но особого рвения в этом процессе не проявляют. Обычно для спасения достаточно завернуть за угол.

Задача традиционна для нашего конкурса: Набрать максимум очков за 1000 ходов. Соответственно кто больше всего наберет, тот и победитель!.

Для вникания в проблему написана игрушка. Скачиваем и пробуем.
ВОТ ОНА!(141кБ)

Ну если собираетесь принять участие, то вот подробности.

Основу как всегда мы уже написали, Правда наш "ПАКМАН" настолько бестолковый, что результат его работы аж -800 очков! Но мы надеемся, что у вас лучше получится :-). Игровой массив 16 на 16 описывает лабиринт. В массиве:

  0 - пустое поле
  1 - Кирпич
  2 - ПАКМАН (ВЫ)
  3 - КРАКОЗЯБРА
  4 - приз 10 очков
  5 - приз 15 очков
  6 - приз 20 очков
Управление производится при помощи подпрограммы P_RAB(ход); где:
  ход=1 - вверх
  ход=2 - вправо
  ход=3 - вниз
  ход=4 - влево
Как видите, все очень просто :-)

Мы написали программу с расчетом на LAZARUS, поскольку именно эту оболочку можно спокойно скачать в интернете или с нашего сайта. Таким образом для работы достаточно знаний обыкновенного "паскаля". Программа хорошо откомментирована, там в исходниках и описание игрового массива, и описание команд. И выделена подпрограмма для реализации вашего алгоритма

Исходники для LAZARUSa(143кБ)

Если что не понятно, задавайте вопросы по почте.
Контактный адрес администрации сайта -

Кроме того можно задавать вопросы по системе ВОПРОС-ОТВЕТ из главного меню.

При желании, возможна адаптация и под другие языки программирования, однако в этом случае необходимо ваше содействие. Пишите на E-MAIL.

Напоминаем правила проведения нашего конкурса.

Конкурс проводится в 2-а этапа. Сначала заочная часть. Вы регистрируетесь у нас на страничке пишете и пробуете свою программу. чем больше вам удастся набрать очков, тем лучше. Десять лучших в двух номинациях (8-9й класс и 10-11 класс) во время новогоднего компютерного фестиваля приходят на очный этап. И там, в классе за 4-ре часа дорабатывают свои программы под слегка измененные условия. победит тот, кто наберет максимальное количество очков. Как всегда гарантируем справедливое судейство. У кого больше очков (без нарушений) тот и победит. Теперь о нарушениях. Запрещается редактировать все кроме подпрограммы управления. Запрещается использовать недокументированные возможности. Борьба должна быть честной и равной!

Конкурс предназначен только для учащихся г.Железногорска. Остальные могут принять участие только вне конкурса. Для регистрации необходимо заполнить АНКЕТУ и выслать ее нам по адресу на сайте.

По результатам ожидаются призы (по номинациям отдельно 8-9е классы и 10-11 классы). Как всегда 2-а первых места, 2-а вторых и 2-а третьих.

Призы высыпаются на стол, и победители подходят и выбирают то, что им нужно. Право подойти к столу с призами первым, получит первое место в номинации 10-11 классы, затем 1-е место в номинации 8-9 классы, затем 2-е от 10-11 и так далее. Конечно мы считаем, что обе номинации равнозначны, но у 8-и классников еще все впереди, а 11-ти классники участвуют последний раз, поэтому заранее утверждаем такой порядок.

Настоятельно рекомендуем прошедшие конкурсы почитать, там много интересного можно найти :-)