<< Вернуться на главную Внимание конкурсНачинаем подготовку к очередному новогоднему конкурсу программистов. Как обычно задание даем заранее, можно готовиться, читать литературу, вопросы задавать. И программу писать, а результаты нам высылать :-) Давненко с лабиринтами не воевали. Прийдется восполнить пробел. Была в свое время такая интересная игра "ПАКМАН". Вот как принято говорить "по мотивам" этой игры мы и разработали конкурс. Правила игры немножко пришлось подкорректировать для соответствия принципам нашего конкурса. И вот что у нас получилось... В лабиринте 16 на 16 клеток находится "ПАКМАН", несколько злых "КРАКОЗЯБРов" и призы. Вы управляете пакманом при помощи специальной подпрограммы. Главная задача собирать в лабиринте призы. Призы бывают 10 очков, 15 очков и 20. При поедании приза, он появляется в случайном месте лабиринта и снова готов к "поеданию". И все-бы ничего, но увлекательному процессу собирания призов мешают злющие "КРАКОЗЯБРы" , которые шляются по лабиринту куда попало. Если "ПАКМАН" сталкивается с "КРАКОЗЯБРОЙ", то игроку дается МИНУС 10 очков. А "КРАКОЗЯБРА" лопается и появляется в центре лабиринта. Будьте осторожны, "КРАКОЗЯБРЫ" двигаются с той-же скоростью что и "ПАКМАН", но мы специально "ЗАГЛУПИЛИ" им интеллект (иначе совсем уж плохо было :-) ). Так что они конечно гоняются за "ПАКМАНом" но особого рвения в этом процессе не проявляют. Обычно для спасения достаточно завернуть за угол. Задача традиционна для нашего конкурса: Набрать максимум очков за 1000 ходов. Соответственно кто больше всего наберет, тот и победитель!.
Для вникания в проблему написана игрушка. Скачиваем и пробуем. Ну если собираетесь принять участие, то вот подробности. Основу как всегда мы уже написали, Правда наш "ПАКМАН" настолько бестолковый, что результат его работы аж -800 очков! Но мы надеемся, что у вас лучше получится :-). Игровой массив 16 на 16 описывает лабиринт. В массиве: 0 - пустое поле 1 - Кирпич 2 - ПАКМАН (ВЫ) 3 - КРАКОЗЯБРА 4 - приз 10 очков 5 - приз 15 очков 6 - приз 20 очков Управление производится при помощи подпрограммы P_RAB(ход); где: ход=1 - вверх ход=2 - вправо ход=3 - вниз ход=4 - влево Как видите, все очень просто :-) Мы написали программу с расчетом на LAZARUS, поскольку именно эту оболочку можно спокойно скачать в интернете или с нашего сайта. Таким образом для работы достаточно знаний обыкновенного "паскаля". Программа хорошо откомментирована, там в исходниках и описание игрового массива, и описание команд. И выделена подпрограмма для реализации вашего алгоритма
Если что не понятно, задавайте
вопросы по почте. Кроме того можно задавать вопросы по системе ВОПРОС-ОТВЕТ из главного меню. При желании, возможна адаптация и под другие языки программирования, однако в этом случае необходимо ваше содействие. Пишите на 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-ти классники участвуют последний раз, поэтому заранее утверждаем такой порядок. Настоятельно рекомендуем прошедшие конкурсы почитать, там много интересного можно найти :-) |