Проект "Моя первая программа на Паскаль. Компьютерная игра "

Download Report

Transcript Проект "Моя первая программа на Паскаль. Компьютерная игра "

Муниципальное общеобразовательное учреждение:
средняя общеобразовательная школа, с Нялинское.
Компьютерная игра
«Chapaev
vs
HOLLYWOOD».
(Моя первая программа на языке программирования Pascal.)
Выполнил
ученик 9 класса
Спресов Игорь.
Учитель: Чанышева
Татьяна Владимировна.
2005 г
По инициативе комитета по образованию летом 2005 года
был открыт профильный лагерь «Эрудит» на базе
коррекционной школы с.Нялинское. Мне посчастливилось
попасть на первую смену «Юный информатик Югры».
Это было просто здорово!
И мы, сельские дети, получили возможность
в течение месяца углубленно заниматься информатикой.
А когда я узнал, что мы сами будем разрабатывать
компьютерные игры, радости моей не было предела.
Меня так увлекло это занятие, что я забыл про время.
Полученные в лагере знания я применил для создания
своей игры.
Кажется, уже стало правилом хорошего тона ругать
компьютерные игры. Выявили даже синдром болезни –
игроманией называется. Причем критики предмет своих
нападок часто не считают необходимым рассмотреть со
всех сторон. Между тем, я считаю, что компьютерные игры
имеют большое значение. Они помогают в преодолении
страха перед компьютером, создают интерес к его изучению,
вырабатывают первоначальные знания, навыки работы.
Чего ждет ребенок, впервые севший за компьютер?
Он ждет игры. И, если его ожидания оправдались, то можно
считать, что страх перед компьютером исчез. Я считаю,
пусть сначала ребенок сделает для себя открытие, поймет,
что компьютер – это развлечение, игрушка, а уже затем
узнает, что он к тому же рабочий инструмент и помощник
в учебе. Чему и способствует разработанная мною игра,
которая предназначена для учащихся начальной школы,
но в нее с интересом играют и ребята 5, 6 класса и
даже мои одноклассники.
Цель проекта:
 Освоить технологию разработки программного продукта на
языке Pascal путем создания компьютерной игры «Chapaev vs
HOLLYWOOD».
 Заинтересовать учащихся старших классов изучением языка
программирования Pascal.
Задачи:
 1. Научиться работать в среде программирования TurboPascal.
 2. Научиться создавать изображения в графическом редакторе
EDP.
 3.Разработать компьютерную игру «Chapaev vs HOLLYWOOD».
 4. Составить презентацию своего проекта.
 5. Ознакомить учащихся нашей школы со своим проектом.





Жанром своей игры я выбрал аркаду. Я считаю, что
программировать аркады наиболее интересно и, в то же время,
наиболее сложно.
В моей игре вы управляете Василием Ивановичем Чапаевым,
героем гражданской войны. Пусть мнение об этой войне
противоречивое, но все же имя этого героя на слуху.
Он может передвигаться (стрелки), стрелять из пулемёта (enter),
махать шашкой (пробел).
В качестве монстров выступают Голливудские персонажи:
Человек-паук, Черепашка-ниндзя, Фредди Крюгер, Супермен .
Цель игры – помочь Василию Ивановичу Чапаеву освободиться из
плена.
Для реализации своего проекта мне необходимо было
освоить и использовать:

алгоритм мультипликации;
Алгоритм мультипликации состоит в том, что каждый
цикл изображение стирается и рисуется в новом месте
экрана. В результате чего создается иллюзия движения.
Для реализации своего проекта мне необходимо было
освоить и использовать:
 прямолинейное неуправляемое движение;
Прямолинейное неуправляемое движение в данном
проекте реализуется с помощью циклов. Такое
движение Вы можете наблюдать на примере
монстров, т.е. они движутся независимо от нажатий
на клавиши клавиатуры.
Для реализации своего проекта мне необходимо было
освоить и использовать:
 управляемое движение;
Управляемое движение в игре прослеживается в
действиях Василия Ивановича Чапаева. Он
движется при нажатии клавиш клавиатуры.
Для реализации своего проекта мне необходимо было
освоить и использовать:
 графические примитивы;
Графические примитивы - это геометрические
фигуры. Их я использовал в меню своей игры.
Для реализации своего проекта мне необходимо было
освоить и использовать:
 изображения, подготовленные
в графическом редакторе;
 ячейки памяти;
В ячейках памяти хранится определенная информация.
Например, в ячейках памяти я запрограммировал
движение Чапаева.
 команды ветвления и цикла;
Команды ветвления и цикла – это определенные
операции, при которых каждый цикл проводится
проверка условия. И на основе ее результата
выполняются дальнейшие действия.
В своем проекте команды ветвления я использовал
для проверки условий: нажата ли клавиша, находится
ли объект в заданной точке и др.
А команды цикла, т.е. команды повторения одного и
того же действия заданное количество раз,
реализуются в движении персонажей моей игры.
Для реализации своего проекта мне необходимо было
освоить и использовать:
 Массивы (матрицы);
Массивы я использовал в качестве карт уровней.
Где цифрами обозначены определенные блоки изображения:
0-пустое пространство, 1- камни, 2- лестница,
3-аптечка, 4-патроны.
(
(
5
,
0
,
0
,
6
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
)
,
(
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
)
,
(
1
,
1
,
1
,
2
,
1
,
1
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
)
,
(
1
,
0
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
3
,
1
)
,
(
1
,
4
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
1
,
1
,
1
)
,
(
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
1
,
2
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
0
,
0
,
1
)
,
(
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
)
)
;
Для реализации своего проекта мне необходимо было
освоить и использовать:
 Массивы (матрицы);
Здесь Вы можете увидеть, как изменится карта уровней,
если одни цифры в массиве заменить на другие.
(
(
5
,
0
,
0
,
6
,
0
,
0
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
)
,
(
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
)
,
(
1
,
1
,
1
,
2
,
1
,
1
,
0
,
0
,
1
,
1
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
2
,
1
)
,
(
1
,
0
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
4
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
1
)
,
(
1
,
0
,
0
,
2
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
2
,
1
,
1
,
1
)
,
(
1
,
1
,
1
,
1
,
1
,
2
,
2
,
2
,
1
,
1
,
1
,
1
,
1
,
0
,
0
,
1
,
2
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
5
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
4
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
3
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
3
,
1
,
1
,
2
,
0
,
0
,
0
,
0
,
0
,
2
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
1
)
,
(
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
)
,
(
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
)
)
;

На текущий момент в моей игре уже есть управляемое и
неуправляемое движение, использование массива в качестве
карты уровня, взаимодействие объектов, индикаторысчётчики. Но главное - я освоил язык Pascal, научился работать
в среде программирования TurboPascal, узнал технологию
производства программного продукта.
Программа состоит из 5000 строк. Несмотря на то,
что при выполнении этого проекта мне пришлось
встретиться с рядом трудностей и период его выполнения
составляет 2 месяца, но интерес к проекту не исчез.
Я с большим удовольствием каждый день обращаюсь
к своей игре. А учащиеся начальной школы освоили
6 клавиш клавиатуры. Учащиеся старших классов стали
серьезнее относиться к изучению
языка программирования Pascal.
 Усовершенствование движения героя.
 Разработка взаимодействия героя и
монстров.
 Разработка следующих уровней.
Уважаемые взрослые!
Помните, что нередко ребенок за компьютерными играми
становится специалистом – самоучкой и незаметно приобретает
рабочие навыки. Я посоветую Вам после первого и весьма
плодотворного этапа самостоятельного освоения ребенком
этой игрушки взять инициативу в свои руки. И крепко порадеть
в воспитании элементарной компьютерной культуры, которая,
если разобраться, от обыкновенной культуры ничем
не отличается. Информационная культура предусматривает
умеренность в поглощении однотипной информации и
расширение границ осведомленности.
Увлечение компьютерными играми – это область
информационной культуры, а не показатель
компьютерной грамотности. Умение создать
компьютерную игру – это уже показатель компьютерной
грамотности, но только в определенной ограниченной
области информатики.
Это мой первый проект по информатике, но я точно знаю,
что не последний, потому что в будущем я хочу стать
программистом.