Бесплатные рефераты


В мире
Календарь новостей
« Ноя.2017
Пн.Вт.Ср.Чт.Пт.Сб.Вс.
  12345
6789101112
13141516171819
20212223242526
27282930   
ВНИМАНИЕ!!!
УВАЖАЕМЫЕ ПОЛЬЗОВАТЕЛИ!!!
Сайт поменял владельца и на нём грядут большие перемены.
Убедительная просьба не пользоваться покупкой рефератов через смс.
ДАННЫЙ СЕРВИС БОЛЬШЕ НЕ РАБОТАЕТ
Стоит вопрос об его удалении, дабы сделать рефераты бесплатными. Извините за неудобство и спасибо за понимание
Поиск реферата

Реферат, курсовая, контрольная, доклад на тему: Программ-игра «Морской бой», с использованием анимированных графических объектов и возможностью управлять их движением с помощью клавиатуры

ВНИМАНИЕ! Работа на этой странице представлена для Вашего ознакомления в текстовом (сокращенном) виде. Для того, чтобы получить полностью оформленную работу в формате Word, со всеми сносками, таблицами, рисунками (вместо pic), графиками, приложениями, списком литературы и т.д., необходимо скачать работу.

Домашняя работа по программированию за второй семестр

Игра «Морской Бой»

Выполнил: Макаров В. А. группа: С-26

Игра «Морской Бой»
Требуется:
Разработать программу-игру «Морской бой», с использованием анимированных графических объектов и возможностью управлять их движением с помощью клавиатуры.

Эскиз:
[pic]

Аномалии:
|Аномалия |Действие программы |
|1) Произошла ошибка инициализации|Вывод сообщения: |
|графики |«InitGraph ERROR!» |
|2) При игре было допущено более |Вывод сообщения |
|пяти промахов. Проигрыш. |«GAME OVER» |

Внешняя спецификация:

Вход:
|Vipolnil: Makarov Vladimir |
|Group: C-26 |
| |
| |
| |
|Press to start play game! |
| |
| |
| |

Выход при проигрыше:
| |
| |
| |
| |
|GAME OVER |
| |
| |
| |

Метод:
Описание:
Во время игры на экране изображена водная поверхность и две скалы по бокам. Время от времени из-за скал выплывают различные корабли, которые движутся вдоль горизонта к противоположенной скале. Существует три типа кораблей: маленький, средний и большой. Тип корабля всегда выбирается случайным образом. Скорость каждого корабля зависит от размера самого корабля: маленький самый быстрый, остальные соответственно обладают более низкой скоростью. Цель игрока состоит в том, чтобы с помощью пушки и прицела подбить как можно большое количество кораблей и не промахиваться.
Количество подбитых кораблей (scope) показывается в нижнем левом углу экрана. Игрок должен нацеливать пушку влево или вправо и стрелять по возможности на опережение, так как снаряд вылетающий из пушки обладает относительно малой скоростью. В случае промаха игрока, корабль разворачивается и уплывает в обратную сторону. Если игрок совершил более пяти промахов, то он проигрывает и выходит из игры.
Прицеливание осуществляется с помощью стрелок (вправо и влево) на клавиатуре, пробел – стрельба и escape – выход.
Основной метод:
В основе работы программы лежит главный зацикленный цикл, выход из которого осуществляется только при выходе или при проигрыше. В цикле выполняются действия, зависящие от состояния флагов, так как каждому событию в программе соответствует свой флаг. Так же в этом цикле отслеживаются нажатия определённых клавиш. Цикл прокручивается с, заранее определённой и постоянной, временной задержкой.
Когда какой-нибудь флаг принимает истинное значение, в цикле проделывается соответствующее ему действие, после чего флаг сразу сбрасывается в положение ложь.
Рисование всех двигающихся объектов производится для удобства в отдельных процедурах. В качестве параметров туда передаётся координата по оси или x или y, так же туда передаётся флаг, указывающий на то – рисовать объект или стирать. Под стиранием объекта понимается его рисование цветом фона.
Движение всех графических объектов в программе осуществляется стандартным методом: сначала рисуется объект, а после временной задержки он рисуется на том же месте цветом фона (стирается) и рисуется в новом месте.
Скорости всех двигающихся в программе объектов различны:

Vснаряда > Vкорабля №1 > Vкорабля №2 > Vкорабля №3
Временная задержка во всей программе постоянная и используется один раз за цикл. Если один проход цикла назвать тактом, то разность скоростей объектов реализована за счёт того, что каждый объект перемещается на единицу расстояния не за каждый такт, а за каждый n-ный такт, а n определено для каждого объекта по-разному. Чем меньше n, тем быстрее скорость. В данной программе все скорости постоянны.

Алгоритм:
Procedure target (ix: integer; bb: boolean)
|Входные данные: ix:цел bb:лог |
|Внутренние постоянные переменные: iy=200 |
| |
|начало |
|если bb то {Отображение} |
|Установить цвет(green) |
|Установить тип заливки(SolidFill,green) |
|Нарисовать закрашенный эллипс(ix,430,26,100) |
|Выбрать цвет(lightgreen) |
|Нарисовать линию(ix-10,iy,ix+10,iy) |
|Нарисовать линию(ix,iy-10,ix,iy+10) |
|иначе {Стирание} |
|Установить тип заливки(SolidFill,blue) |
|Установить цвет(blue) |
|Нарисовать закрашенный эллипс( (ix,430,26,100) |
|Установить цвет(blue) |
|Нарисовать линию(ix-10,iy,ix+10,iy) |
|Нарисовать линию(ix,iy-10,ix,iy+10) |
|всё |
|конец |

Часть 2: Поиск в тексте единиц и вставка после них нулей
|Входные данные: var st:мас:стр r:цел var one:лог |
|Выходные данные: rez:масс:стр iz:цел |
|Внутренние переменные: k,l:цел |
| |
|начало |
|one:=ложь |
|цикл для k:=1 до r делать |
|l:=1 |
|цикл пока l

ВНИМАНИЕ! Работа на этой странице представлена для Вашего ознакомления в текстовом (сокращенном) виде. Для того, чтобы получить полностью оформленную работу в формате Word, со всеми сносками, таблицами, рисунками (вместо pic), графиками, приложениями, списком литературы и т.д., необходимо А можно заказать оригинальный реферат
Опубликовано: 20.08.10 | [ + ]   [ - ]  
Просмотров: 116
Загрузок: 0
Рекомендуем
{dnmbottom}
БАНК РЕФЕРАТОВ содержит более 70 000 рефератов, курсовых, контрольных работ, сочинений и шпаргалок.