ВНИМАНИЕ ВНИМАНИЕ!

Регистрируйтесь ребята, давно пора. Очный этап состоится 9 января в 11 часов в кабинете 2-27 СЮТ

Начинаем очередной (4-й), конкурс программистов То мы ловили шарики и откармливали удавов в лабиринтах, то катали народ на лифте. В этом году все просто - надо спасти мир! :-)
Как всегда все написано за вас, и ваша задача - придумать и реализовать собственный алгоритм управления.
Итак условия такие: Всем известно, какую опасность для цивилизации, представляют крупные метеориты. Для борьбы с этой напастью, нашими гениальными учеными выведены на орбиту планеты сотни боевых лазеров. Но вот беда, системы управления пока не разработаны! Вам предстоит написать программу управления этими самыми лазерами. Мы понимаем, что все метеориты сбить не удастся, но нужно попытаться...
Вам выделен участок неба размером 640 на 480 пикселов.
Вы управляете "MAX_L" боевыми лазерами (для начала 3-и лазера, однако на очном финале эта величина может существенно изменяться!
Система предварительного отбора передает вам координаты "MAX_A" наиболее опасных метеоритов (для начала ровно 100, однако на финале...)
Координаты Выделенных астероидов находятся в массиве MA. В котором для каждого атероида записаны его координаты (X,Y) и скорости (DX,DY) все целые числа.
Параметры ваших лазеров (координаты и количество очков "X,Y,KOL") хранятся в массиве ML. Кроме того вам доступна переменная "REZULT" c результатами вашей стрельбы. И переменная "STEP" с количеством ходов При попадании лазером в астероид, он испаряется, и на его место в массиве, система предварительного отбора записывает параметры нового опасного метеорита. Таким образом вы всегда имеете дело с постоянным количеством метеоритов.
За каждое попадание вам даются очки. Если вы попали прямо в центр, то 3-и очка, если промахнулись на один пиксел - 2-а, если на два пиксела, то только очко.
Управление лазерами производится через специальные подпрограммы (где N - номер лазера)
RIGHT_L(N); - переместить указанный лазер вправо на 2-а пиксела
LEFT_L(N) - переместить указанный лазер влево на 2-а пиксела
UP_L(N) - переместить указанный лазер вверх на 2-а пиксела
DOWN_L(N) - переместить указанный лазер вниз на 2-а пиксела
FIRE(N) - Стрелять выбранным лазером

Кроме того перед началом работы необходимо вызвать подпрограмму "BEG" (для начала работы) И при желании, можно пропустить ход при помощи подпрограммы "NOP"
Вам предлагается за 1000 ходов набрать максимальное количество очков.
В качестве демонстрации предлагаю программу, где против 100 метеоритов можно вручную "поработать" 2-мя лазерами. Один лазер управляется от мышки, а другой от клавиатуры. Попробуйте, сразу убедитесь, что без хорошей системы автоматического управления огнем результат очень плачевный!
Игрушка для вникания
Как всегда все реализовано за вас, (правда алгоритм так себе, случайный). Вам нужно предложить и реализовать свой алгоритм управления, естественно как можно более эффективный.
Проект для DELPHI5
Начинайте работать, продумывайте стратегию, Кстати для участия в конкурсе достаточно знаний обычного ПАСКАЛя. Если вам нужна консультация то можете связаться с нами по почте или лично, для этого можно подойти в кабинет 2-27 во вторник или четверг в 19:40 . При регистрации необходимо по указанному адресу послать анкету участника
анкета
адрес


Поторопитесь с регистрацией, особенно с заявками на языки программирования. Нам понадобится время для реализации программ.
Как всегда, до нового года идет заочный этап. Вы боретесь сами с собой, пробуете алгоритмы и присылаете нам результаты. Мы естественно ведем на сайте таблицу достижений и отвечаем на все ваши вопросы. (кстати, за одно вылавливаем ошибки в нашей программе) :-) После нового года, в рамках городского, компьютерного фестиваля, проводится очный этап, на который будут приглашены 10 самых лучших участников.
Всего две номинации. 10-11 классы и 8-9й классы. По каждой предполагаются призы (хотя ведь не в призах дело :-) ) Если вы не знакомы с принципами нашего конкурса, посмотрите страничку (прошедшие конкурсы). (особенно заключительный анализ). Это вам пригодится, чтобы не повторять чужие ошибки.
С уважением, организатор конкурса Дубенко В.А.

ВНИМАНИЕ ВНИМАНИЕ!

Господа программисты! ПОРА РЕГИСТРИРОВАТЬСЯ! Очный этап состоится 9-го ЯНВАРЯ 2006г
На Станции Юных Техников кабинет 2-27
В 11 часов 00 минут. Этап будет продолжаться 4-ре часа!

С собой приносить дискету со своей программой (иначе как вы докажете, что у вас именно столько очков, сколько вы говорили?)

НА СЕГОДНЯ ЗАРЕГИСТРИРОВАЛИСЬ:

Участник класс

Русанов Иван - 10
Козырев Владимир - 10
Воропаев Михаил - 10
Дудкин Борис - 11
Балабанов Василий - 8
Дудкин Иван - 9
Селезнев Роман - 9