Оглавление
ТКАЧЕНКО Марина Владимировна
Краснодарский край, Ейский район, г. Ейск
МБОУ СОШ №7 им. историка, профессора Н. И Павленко, 6 класс
Создание компьютерной игры «Угадай число»
Научный руководитель: Ткаченко Аксана Николаевна, учитель информатики МБОУ СОШ №7 им. историка, профессора Н. И. Павленко
Введение
В настоящее время компьютеры, планшеты, смартфоны являются неотъемлемой частью нашей жизни. Одни используют компьютер для работы, другие в качестве развлечения. Но в каких бы целях мы не использовали компьютер, ему необходимо программное обеспечение. Поэтому осуществление проектов по созданию новых компьютерных программ сейчас очень актуально.
Мне, как и всем детям, нравиться играть в компьютерные игры. Сейчас в мире существует много компьютерных игр. Некоторые из них направлены на развитие памяти, внимания. Я решила попробовать создать собственную компьютерную игру. Но как создаются компьютерные игры? Есть ли программы, позволяющие пользователю, знающему язык программирования самостоятельно создать компьютерную игру? Так как я ещё была не знакома с языками программирования, мне требовалась понятная и простая в освоении среда разработки, имеющая русский язык, как в интерфейсе, так и в справке, легкий и понятный синтаксис. Я остановила свой выбор на PascalABC.net.
Цель работы – создать компьютерную игру.
Задачи:
- узнать, как создаются компьютерные игры;
- изучить язык программирования;
- составить блок схему к компьютерной игре;
- создать и оформить компьютерную игру.
Проектным продуктом будет компьютерная игра.
Проблема: как создать компьютерную игру.
Объект исследования: компьютерная игра.
Предмет исследования: язык программирования PascalABC.net.
-
Часть первая
Я начала свою работу с того, что познакомилась с историей создания компьютерных игр, узнала, какие этапы необходимо пройти, чтобы создать компьютерную игру.
Компьютеры, или ЭВМ первоначально создавались как серьёзные устройства для выполнения различных вычислений. Но молодые и изобретательные студенты серьёзную машину приспособили для выполнения «несерьёзных» задач. Сейчас мы уже привыкли, что слова «компьютер» и «игра» – это почти слова синонимы. А ведь интересно, как создают компьютерные игры?
История компьютерной игры
Компьютерные игры появились поколение назад. Это были простые чёрно-белые видеоигры в пинг-понг на экране телевизора.
А началось всё в 1952 году с докторской диссертации в Кембриджском университете на тему взаимодействия человека и компьютера. Один студент, который был привлечён к работе над диссертацией, изобрёл примитивную игру на ламповой вычислительной машине. Игра это называлась крестики-нолики. Это была самая первая компьютерная игра с использованием графики. В 1962 году команда программистов из компании MIT разработала первую общепризнанную компьютерную игру. Затем, в 1972 году, студент Стендфордского университета разработал аркадную игру под названием «Pong», которая познее была модифицирована для игровой приставки, подключаемой к телевизору.
Сегодняшние видеоигры – это яркие, сложные и стремительные зрелища на основе самого современного программного обеспечения с использованием последних разработок в компьютерной графике. [5]
Этапы разработки компьютерной игры
Разработка компьютерных игр – это четко отлаженный процесс, который имеет определенные этапы, так или иначе проходимые играми при их создании.
Рассмотрим этапы разработки типичной компьютерной игры.
Подготовка к производству игры – это первый этап работы над игрой. Задача разработчиков на этом этапе – разработать концепцию игры, дизайн персонажей, выбрать средства для реализации проекта, создать прототип игры, подготовить план, по которому будет создаваться игра, и согласовать этот план с начальством.
Производство – это основной этап в создании игры. Разработчики занимаются реализацией ранее созданного плана. Однако первоначальный план игры может подвергаться изменениям. Во время производства игры периодически устраиваются рассмотрения текущих результатов разработки, к которым команда должна представить проект, достигший определенного уровня развития.
После того, как игра создана, протестирована и отлажена, наступает время ее выпуска. [6]
Игровые профессии
В процессе производства компьютерной игры задействовано множество "игровых" профессий.
Программисты заняты работой по написанию программного кода игры. Практически все коммерческие игры написаны на языке C++ или С, некоторые, особенно ответственные части игры, пишут на языке Assembler. В последнее время набирает популярность язык программирования C#. Игру реально написать на практически любом языке программирования – например, простые игры можно создавать в Microsoft Word или Microsoft Excel, используя встроенный в эти продукты Visual Basic For Applications.
Роль художников при создании игры трудно переоценить. Во все времена одним из критериев оценки игры была ее графическая составляющая – а современные средства работы с графикой позволяют создавать красивейшие игровые миры, в основе которых лежит кропотливая работа художников во все ее проявлениях..
Композиторы, музыканты, актеры, звукорежиссеры работают над звуковым оформлением игры. Они пишут и исполняют музыку, читают тексты персонажей. Без достойной музыки и качественного озвучивания, как и без хорошей графики, современная игра вряд ли будет успешной.
Редкая современная игра не построена вокруг какого-то сценария. Особенно сильна роль сценариев в ролевых, приключенческих играх и в играх смешанных жанров. Всем этим занимаются сценаристы, режиссеры, писатели.
Когда программисты, художники, музыканты выполнят основную работу по созданию персонажей игры, игровых интерьеров, звуков, за дело берутся дизайнеры уровней. Если даже игра представляет собой один большой "уровень" без явного разбиения на части, дизайнерам приходится немало поработать над созданием игровой вселенной.
Игра – это огромная программа, которая перед выходом в свет должна быть протестирована. Тестированием занимаются – тестеры, которых часто набирают из числа добровольцев. Если в ходе тестирования возникают ошибки, тестер сообщает о них разработчикам. [6]
Часть вторая.
Разработка сюжетной компьютерной игры – дело нелегкое. Над созданием сложной компьютерной игры трудится целая команда. Одни отвечают за графические эффекты, другие за программный код, тестирование и отладку программы. Мне, незнакомой с программированием совсем написать такую игру пока не по силам. Но я решила освоить язык программирования и написать простую игру.
Прежде всего, я должна выбрать язык программирования, который мне наиболее подходит. Потом сформулировать условие задачи. После этого предстоит кропотливая работа по написанию программного кода, его тестирования.
Я остановила свой выбор на PascalABC.net.
PascalABC.NET – это система программирования и язык Pascal нового поколения для платформы Microsoft.NET. Язык PascalABC.NET содержит все основные элементы современных языков программирования: модули, классы, перегрузку операций, интерфейсы и многое другое. Система PascalABC.NET включает в себя также простую интегрированную среду, ориентированную на эффективное обучение современному программированию, обеспечивает подсветку синтаксиса, подсказку по коду (подсказка по точке, подсказка параметров подпрограмм, всплывающая подсказка по коду), форматирование текста программы по запросу, переход к определению и реализации имени. PascalABC.NET опирается на передовую платформу программирования Microsoft.NET, которая обеспечивает язык PascalABC.NET огромным количеством стандартных библиотек и позволяет легко сочетать его с другими .NET-языками: C#, Visual Basic.NET, управляемый C++ и др.[4]
Для создания игры я выбрала задачу «Угадай число»: с помощью датчика случайных чисел в программе загадывается число в диапазоне от 0 до 99. На отгадывание числа даётся 10 попыток. Играющий вводит каждый раз очередное число. После каждого ответа программа выводит на экран одно из сообщений: «больше», «меньше» или «угадано» в зависимости от введённого числа. Цикл завершается при выполнении одного из условий: либо дан правильный ответ, либо число попыток достигло 10.[2]
Потом я приступила к изучению языка программирования и созданию компьютерной игры. Мне пришлось познакомиться с интерфейсом программы, структурой программы, операторами ввода, вывода данных, присваивания. Изучить алгоритмические конструкции ветвления и цикла.
Система PascalABC.NET
Структура программы:
Программа на языке PascalABC.NET имеет следующий вид:
program имя программы;
uses раздел описаний
begin
операторы
end.
Первая строка называется заголовком программы и не является обязательной.
Раздел uses начинается с ключевого слова uses, за которым следует список имен модулей и пространств имен .NET, перечисляемых через запятую.
Раздел описаний может включать следующие подразделы:
Данные подразделы следуют друг за другом в произвольном порядке.
Далее следует блок begin/end, внутри которого находятся операторы, отделяемые один от другого символом "точка с запятой". Раздел uses и раздел описаний могут отсутствовать [4]
Оператор присваивания:
Оператор присваивания имеет вид:
переменная:= выражение
Оператор присваивания заменяет текущее значение переменной значением выражения.
Ввод данных:
Для ввода исходных данных чаще всего используется процедура ReadLn: ReadLn(A1,A2,...AK);
Процедура производит чтение К значений исходных данных и присваивает эти значения переменным А1, А2, ..., АК. При вводе исходных данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных. Значения исходных данных могут отделяться друг от друга пробелами и нажатием клавиш табуляции и Enter. Не допускается разделение вводимых чисел запятыми!
Вывод данных:
Для вывода результатов работы программы на экран используются процедуры:
Write(A1,A2,...AK); WriteLn(A1,A2,...AK);
Первый из этих операторов производит вывод значений переменных А1, А2,...,АК в строку экрана. Второй оператор, в отличие от первого, не только производит вывод данных на экран, но и производит переход к началу следующей экранной строки. Если процедура writeln используется без параметров, то она просто производит пропуск строки и переход к началу следующей строки.
Условный оператор:
Условный оператор имеет полную и краткую формы.
Полная форма условного оператора выглядит следующим образом:
if условие then оператор 1 else оператор2
В качестве условия указывается некоторое логическое выражение. Если условие оказывается истинным, то выполняется оператор 1, в противном случае выполняется оператор2.
Краткая форма условного оператора имеет вид:
if условие then оператор
Если условие оказывается истинным, то выполняется оператор, в противном случае происходит переход к следующему оператору программы.
Оператор цикла while:
Оператор цикла while имеет следующую форму:
while условие do
оператор
Условие представляет собой выражение логического типа, а оператор после do называется телом цикла. Перед каждой итерацией цикла условие вычисляется, и если оно истинно, то выполняется тело цикла, в противном случае происходит выход из цикла.
Если условие всегда оказывается истинным, то может произойти зацикливание:
while 2>1 do write(1);
Отладка программы:
В ходе работы я столкнулась с несколькими проблемами:
Первая проблема: по условию задачи игра должна завершаться при выполнении одного из условий: дан правильный ответ или число попыток достигло 10, а у меня выполнялось только одно из условий. Чтобы устранить эту ошибку я стала изучать встроенный справочный материал в PascalABC.net и узнала, что выражения с or вычисляются по короткой схеме: в выражении x or y если x истинно, то все выражение истинно, и y не вычисляется. [4]
Для решения этой проблемы я, использовала оператор break. Оператор break предназначен для досрочного завершения цикла. При его выполнении происходит немедленный выход из текущего цикла и переход к выполнению оператора, следующего за циклом.[4]
Вторая проблема: это вывод результата. В текстовом режиме вывод результата осуществляется на синем фоне, мелким шрифтом. Справиться с цветом мне удалось, при помощи оператора очистки экрана, а вот шрифт увеличить не получилось. Поэтому выводить результат я решила в графическом окне, для которого легко задать цвет фона, шрифта, размер и начертание шрифта.
Всю необходимую информацию я нашла во встроенном справочнике.
procedure SetFontSize(size: integer);
Устанавливает размер текущего шрифта в пунктах
procedure SetFontName(name: string);
Устанавливает имя текущего шрифта
procedure SetFontColor(c: Color);
Устанавливает цвет текущего шрифта
procedure SetFontStyle(fs: integer);
Устанавливает стиль текущего шрифта [4]
ТКАЧЕНКО Марина Владимировна
Краснодарский край, г. Ейск
МБОУ СОШ №7 им. историка, профессора Н. И Павленко, 6 класс
Создание компьютерной игры «Угадай число»
Научный руководитель: Ткаченко Аксана Николаевна, учитель информатики МБОУ СОШ №7 им. историка, профессора Н. И. Павленко
Заключение
Работа над проектом показала мне, что создавать компьютерные игры не так просто как я думала, но интересно их делать. Раньше, играя в компьютерные игры, я даже не представляла себе, сколько трудов вложено в каждую игру. Сейчас я знаю, что создание игры это продолжительный и трудоёмкий процесс, состоящий из самых разнообразных этапов, включающий в себя как технические, так и творческие моменты.
В следующем году я продолжу эту работу для того, чтобы создать более сложную игру. Я думаю, что я решила проблему своего проекта, так как узнала, как создаются компьютерные игры, в ходе проектирования и создания игры был приобретен навык работы с языком программирования PascalABC.net , формировался навык пошагового составления алгоритма.
Используемая литература
Ушаков Д. М., Юркова Е. А. Паскаль для школьников. – СПб.: Питер, 2008. – 256с.
Семакин И. Г., А. П. Шестаков Основы программирования: Учебник для сред. проф. образования. - М.: Издательский центр «Академия», 2003. – 432с
Культин Н. Б. Turbo Pascal в задачах и примерах. – СПб.: БХВ-Петербург, 2001. – 256.
Встроенный справочник системы программирования PascalABC.NET
Как создают компьютерные игры/http://kid-info.ru/
Основы разработки компьютерных игр/http://www.intuit.ru
-
ТКАЧЕНКО Марина Владимировна
Краснодарский край, Ейский район, г. Ейск
МБОУ СОШ №7 им. историка, профессора Н. И Павленко, 6 класс
Создание компьютерной игры «Угадай число»
Научный руководитель: Ткаченко Аксана Николаевна, учитель информатики МБОУ СОШ №7 им. историка, профессора Н. И. Павленко
Приложение 1:.
Program ugaday_chislo;
Uses GraphABC;
Var a,n,c:integer;
Begin
SetFontColor(clBlue);
SetFontSize(13);
SetFontStyle(fsItalic);
Writeln('Сыграем в игру "угадай число"');
Writeln('Угадайте число от 0 до 99. У Вас 10 попыток. Введите число.');
A:=random(100);
c:=1;
While c<11 do
Begin
Readln(n);
Writeln(n);
IF n=a then
Begin
Writeln('Вы угадали число за ',c,' попыток. Задуманное число - ', a);
Break;
End
Else
IF nthen
Writeln('Ваше число меньше задуманного.')
Else
Writeln('Ваше число больше задуманного.');
c:=c+1;
End;
IF c=11 then
Writeln(' Вы не угадали. Задуманное число - ',a);
End.
Приложение 2.
C:=1 С:=1
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.