Технологии компьютерных игр

Тематика: 
Автор: 
Глазков Артем Николаевич
Руководитель: 
Самохвалова Вера Ивановна
Учреждение: 
МБОУ Гимназия имени Подольских курсантов
Класс: 
9

Готовый творческий проект по информатике "Технологии компьютерных игр" был создан учащимся 9 класса для того, чтобы раскрыть сущность технологии компьютерных игр. Учащийся рассматривает виды компьютерных игр и особенности их создания.

Подробнее о проекте:


Готовый творческий проект по информатике "Технологии компьютерных игр" посвящен исследованию технологии создания компьютерных игр. Учащийся подробно изучил историю развития компьютерных игр, а также рассмотрел этапы их разработки.

Индивидуальный проект на тему "Технологии компьютерных игр" содержит развернутое определение понятия "компьютерные игры", а также разработку автора по созданию игровой программы "крестики-нолики". В своей работе школьник рассуждает о тесном вхождении компьютерных технологий в нашу жизнь и особенностях разработки и создания компьютерных игр.

Оглавление

Введение
1. Виды компьютерных игр.
1.1 История развития компьютерных игр.
2. Технологии создания компьютерных игр.
2.1 Этапы разработки компьютерных игр.
2.2 Создание игровой программы "крестики-нолики".
Выводы и предложения
Список использованной литературы

Введение


Научно-технический прогресс, набравший к концу ХХ в. головокружительную скорость, послужил причиной появления такого чуда современности как компьютер и компьютерные технологии. Изобретение компьютеров послужило переломным моментом в развитии многих отраслей промышленности, на порядок повысило мощь и эффективность военной техники, внесло множество прогрессивных изменений в работу средств массовой информации, систем связи, качественно изменило принцип работы банков и административных учреждений.

Сегодняшние темпы компьютеризации превышают темпы развития всех других отраслей. Без компьютеров и компьютерных сетей не обходится сегодня ни одна средняя фирма, не говоря о крупных компаниях. Современный человек начинает взаимодействовать с компьютером постоянно на работе, дома, в машине и даже в самолете.

Компьютеры стремительно внедряются в человеческую жизнь, занимая свое место в нашем сознании, а мы зачастую не осознаем того, что начинаем во многом зависеть от работоспособности этих дорогостоящих кусков цветного металла. Уже сегодня компьютеры отвечают за наведение и запуск ядерных ракет, за банковские переводы многомиллионных сумм денег и многие другие системы, ошибки, в работе которых дорого обходятся людям. К сожалению даже этим не ограничивается зависимость человека от компьютера.

Компьютерные игры. С недавних пор это словосочетание прочно вошло в нашу жизнь, каждый, кто имеет компьютер наверняка смог почувствовать их притягательность, видимо, игра заложена в саму природу человека с древнейших времен - выследить зверя, заманить его в ловушку - это тоже своего рода игра. Но теперь мы лишены этого в жизни, а инстинкты остались и они находят свой выход в компьютерных играх.

Компьютерные игры относятся к числу актуальных проблем современной науки, так как представляют собой уникальный продукт развития техники и современной личности. Игры помогают нам смоделировать различные жизненные ситуации, проблемы и выдают некоторые возможные пути их решения. Игра содержит в себе все необходимые предпосылки для естественного развития личности и культуры общества.

С совершенствованием компьютеров совершенствовались и игры, привлекая все больше и больше людей. На сегодняшний день компьютерная техника достигла такого уровня развития, что позволяет программистам разрабатывать очень реалистичные игры с хорошим графическим и звуковым оформлением.

Целью данной курсовой работы является раскрытие сущности технологии компьютерных игр.

В соответствии с целью были определены задачи:

  1. Исследовать виды компьютерных игр.
  2. Рассмотреть технологию создания компьютерных игр
  3. Рассмотреть игровую программу на конкретном примере

Основными методами исследования являются: метод системного анализа, метод классификации, сравнительный метод, изучение монографических публикаций и статей.

При выполнении данной курсовой работы использовались следующие технические средства: IBM PC-совместимый компьютер; AMD Ryzen 3 1200 3.8 ГГц, 8192 МБ ОЗУ; принтер Ricoh 150SUw и программные средства: OS Windows 10 Professional; Microsoft Office Word 2020.

История развития компьютерных игр


Когда появились первые компьютерные игры, никто не мог им предсказать того фурора, который они произвели впоследствии. И это немудрено, ведь первые компьютерные игры были совсем не похожи на игры сегодняшние, которые представляют собой чуть ли не полноценное продолжение реальности. Первые игры были схематичны и даже довольно неуклюжи.

Одна из первых игр называлась “Sрасе Wаг”. Вполне возможно, нынешнее поколение игроков подумало бы, что их неумело разыгрывают, если бы кто-нибудь предложил сыграть им в нее. Итак, “Sрасе Wаг” — “Звездный войны”. Все очень просто. Два квадратики изображают космические корабли. В их задачу входит стрелять друг в друга (на поражение) мерцающими точками и уворачиваться от схематичных астероидов. Но тогда редкие обладатели компьютеров этой игре были очень рады.

С тех пор компьютерные игры пережили настоящую эволюцию, превратившись из простеньких, незамысловатых существ в роскошные создании с великолепной графикой, продуманным сюжетом, реалистичным звуком. Одним из результатов эволюции является многообразие видов. Эволюция компьютерных игр не стала исключением среди других эволюции. На сегодняшний день компьютерные игры включают в себя различные жанры и направления. Единственное же, что их объединяет, то, что в них играют посредством компьютера, а играющего в них называют геймером.

Вместе с появлением компьютеров появились компьютерные игры, которые сразу же нашли массу поклонников. Эти игры с детских лет сопровождают подрастающее поколение, вызывая, с одной стороны, замедление развития и даже атрофию опорно-двигательного аппарата и мышечной мускулатуры и, с другой стороны - быстро развивая интеллект, логическое мышление и воображение человека. Компьютерный игрок привыкает перемещаться из одного виртуального мира в другой, быстро воспринимать незнакомые ситуации и адаптироваться к ним.

В бурно изменяющемся обществе XXI века развитая интеллектуальная гибкость обеспечит приспособление к новым, неожиданным реалиям. Компьютерные игры выполняют, таким образом, функцию социализации молодежи в постиндустриальном обществе. Развитие и совершенствование игр тесно связано с развитием компьютерного обеспечения и технологий. Сейчас многие составные части компьютеров разрабатываются, чуть ли не специально для игр.

Например, дорогие видеокарты, стоимость которых доходит до половины стоимости удовлетворительного компьютера для работы в офисе. Все игры разрабатываются с учётом последних новинок компьютерной техники, реагируя на все достижения и всё ближе подходя к реальности изображения и звука. На сегодняшний день существуют поражающие своей правдоподобностью игры с хорошим графическим и звуковым оформлением, почти полностью имитирующим жизнь.

Имеется и постоянно возникает огромное количество фирм, которые предоставляют всё новые и новые игры крайне разнообразного характера. Хотя история компьютерных и видеоигр охватывает пять десятилетий, частью поп-культуры они стали только в конце 1970-х, 1950-х и 1960-х годах. Они работали на таких платформах, как осциллографы, университетские мейнфреймы и компьютеры ESDAC.

Изобретение видеоигр обычно приписывают кому-то из троих людей: Ральфу Баэру, инженеру, выдвинувшему в 1951 идею интерактивного телевидения, А.С. Дугласу, написавшему в 1952 “OXO” - компьютерную реализацию “крестиков-ноликов”, или Уильяму Хигинботему, создавшему в 1958 году игру “Tennis For Two”.

1962 - первый в своем роде игровой автомат “spacewar” для PDP-1

1970 - разработка игровых автоматов привела к так называемому «золотому веку аркад». Одна из самых известных игр того времени – “Pong”.

1980 - появление на свет “Pacman”, самой распространённой игры в мире, согласно книге рекордов Гиннеса.

1982 - появление прототипа приставки Nintendo Entertainment System. Начало эпохи игровых приставок.

1983 - изобретение и дальнейшая разработка технологии Motion Capture.

1986 - Алексеем Пажитновым написана самая популярная русская компьютерная игра - «тетрис».

1986 - игра «Metroid», одна из первых, предоставлявших нелинейное прохождение на домашней консоли, также заметна смешением различных жанров. Впервые была использована система паролей, позволяющих сохранять результаты и в любой момент возвратиться на нужный уровень.

1990 - вклад Майкла Джексона в историю компьютерных игр – “Michael Jackson's Moonwalker”. Аркада из 8 уровней, главный герой Джексон, главное оружие – музыка.

1991 - Выпуск “Civilization”. Начало знаменитой серии компьютерных игр в жанре пошаговой стратегии.

1993 - появление игры “Mortal Kombat II” с использованием технологии Motion Capture.

1993 - выпуск “DOOM”, легендарного шутера от первого лица.

1996 - малоизвестная калифорнийская компания 3dfx Interactive, ранее занимавшаяся производством графических адаптеров для игровых автоматов, выпустила свою первую видеокарту с поддержкой 3D-ускорения - Voodoo I, совершив тем самым революцию в мировой индустрии игр. Карта имела множество недостатков, однако благодаря дешевизне и скорой поддержке производителей игр эта карта стала популярной.

1997 - выходит “Quake”, совершивший прорыв в 3D-технологиях. Использование полигональных моделей вместо спрайтов (спрайт - двухмерное изображение), реализация полностью трёхмерного мира. Другим новшеством было использование динамических источников света. “Fallout”, ролевая игра, одно из основных произведений постапокалиптического жанра. Fallout стала первой компьютерной игрой, использующей собственные механизмы ролевой игры, без оглядки на настольные игры. Систему, созданную по подобию настольной GURPS, назвали S.P.E.C.I.A.L. по первым буквам основных характеристик персонажа: Strength (Сила), Perception (Восприятие), Endurance (Выносливость), Charisma (Обаяние), Intelligence (Интеллект), Agility (Ловкость), Luck (Удача).

1998 - выход компьютерной игры “Starcraft”, стратегии в реальном времени (RTS). Игру постиг невиданный успех - со времени релиза было продано около 8 миллионов копий. StarCraft была признана самой продаваемой компьютерной игрой 1998 и получила премию “Origins Award” в номинации “Лучшая стратегическая компьютерная игра 1998 г.”.

2000 - «The Sims», стратегия и симулятор, разработанная компанией Maxis, ставшей впоследствии легендарной. Было продано около 16 миллионов копий игры по всему миру, что позволило назвать её самой продаваемой PC-игрой в истории.

2001 – “Delta Force: Land Warrior”. Ролевая игра, военный симулятор, один из самых популярных среди своего ряда. “Tony Hawk's Pro Skater 2”, уникальный симулятор скейтборда, главный герой создан по образу знаменитого американского скейтбордера Тони Хоука. Высокое качество графики, уникальность сюжета, а также саундтрек, написанный культовыми музыкантами современности, сделали игру одним из непременных атрибутов жизни современного американского тинэйджера.

2002 - выпуск таких знаменитых игр, как «GrandTheft Auto III», “Battlefield 1942”, “Hitman” и “Mafia”.

2003 - выход “The Simpsons: Hit & Run”, игры, написанной по мотивам легендарного мультика Симпсоны.

2004 - выпуск в принципе однотипных шутеров от первого лица: “Max Payne 2”, “Call of Duty”, “SOCOM II: U.S. Navy Seals”.

2005 - военные шутеры нового поколения на тему Второй Мировой Войны “Battlefield 2”, “Блицкриг 2”, “Call of Duty II”. “Peter Jackson's King Kong” - бродилка, созданная по мотивам фильма “Кинг-Конг”. GTA: San Andreas - четвертая часть теперь уже культовой серии игр “Мор. Утопия” - квест, почти единогласно названный самым необычным проектом 2005 года.

Основной упор в игре делается не на развитие сюжета, а на создание необычной атмосферы: затерянный, покинутый всеми город, хмурое небо, зловещие звуки и неизвестность. «Civilization IV» - одна из самых долгожданных игр года «The Movies» - продолжающая традиции The Sims игра: «симулятор бога», полностью контролируемый город, управление юнитами, возможность «выращивать» режиссеров и актеров, строить студии и снимать там свои фильмы. [3]

2006 - десятка самых продаваемых игр (рейтинг выстроен по общему количеству проданных копий с момента выхода игры):


Герои Меча и Магии V
Принц Персии: Два трона
Lada Racing Club
The Elder Scrolls IV: Oblivion
В тылу врага 2
Готика 3
Titan Quest
FlatOut 2
Prey
SpellForce 2: Shadow Wars

2007- среди вышедших в 2007 году оказалось немало качественных и достойных уважения игр. “The Witcher” - являет собой новую вершину творчества в жанре ролевых игр. Богатейший игровой мир, где царит духовная смута и отсутствует грань между добром и злом, превращает игрока в эпического героя, историю которого определяет его же выбор. “BioShock” – “генетически модифицированный” шутер от первого лица.

Оказавшись в воде после авиакатастрофы, игрок обнаруживает подводный город Раптур, отрешенный в глубине от остального мира. В борьбе против теневых структур, сумасшедшего доктора Райана, окруженный злобными мутантами-сплайсерами и системами безопасности, он сможет постичь таинственный и загадочный мегаполис с уникальными технологиями и яркими обитателями. “S.T.A.L.K.E.R.: Shadow of Chernobyl” (“Сталкер”) - долгожданный многолетний проект GSC Game World, отправляющий нас в заброшенные, выжженные радиацией земли Чернобыля — жуткое, безмолвное кладбище из полуразрушенных зданий и отравленной природы.

Исследуя обширную территорию в поисках артефактов, игрок должен выжить среди мутантов-зомби, ядовитых облаков и смертельных аномальных зон, добывая себе, как и в реальном мире, деньги, пропитание и оружие. [8]

2008 – “Call of Duty: World at War” - красивейшее продолжение популярной серии игр “Call of Duty”, предлагающее для прохождения две кампании, время действия которых – почти самый конец войны. «Spore» - оригинальная идея – начать жизнь с бактерии и проследовать извилистым путем эволюции в открытый космос – была реализована в лучших традициях симулятора бога. Что за цивилизация выйдет из-под всемогущего перста создателя, решать вам: будут ли это гуманные ученые, сеющие свет знания во все уголки вселенной, или они окажутся кровожадной расой, не терпящей конкуренции и не признающей принципов добрососедства.

Свежая идея, хорошее исполнение. «Mass Effect» - очередной крупный проект от «Bioware - Mass Effect». Увлекательное космическое приключение с межзвездными путешествиями, посещением неизвестных планет и руин забытых цивилизаций. «Grand Theft Auto 4» - практически единогласно было признано игрой года творение Rockstar.

На этот раз разработчики серьезнее отнеслись к написанию сюжета, благодаря чему продвижение начинающего автовора Нико Беллича по карьерной лестнице не сможет свестись только к угону, отстрелу предателей и игре в прятки с полицией. Хотя, и этих забав в GTA 4 предостаточно. В игру добавлена система укрытий, благодаря чему перестрелки стали намного интереснее. Чувствуется, что работа проделана огромная и заслуживает всяческих похвал. [9]

2009 – “Need for Speed: Shift” - тринадцатая игра в серии “Need for Speed”, вышедшая в сентябре 2009 года. Игра разработана английской компанией Slightly Mad Studios и издана Electronic Arts. “FIFA 10” - футбольная игра из серии игр FIFA, издаваемая “Electronic Arts”. Как и прошлые игры серии, разрабатывалась “EA Canada” и издана “Electronic Arts” под брендом “EA Sports”. Впервые в серии игр FIFA в данной игре появился чемпионат России по футболу. По сравнению с предыдущими играми серии повышено качество игрового процесса.

Улучшена графика. Многие элементы игрового процесса были изменены таким образом, чтобы придать ему динамику и гибкость: была усовершенствована анимация, создана новая система обработки игровых столкновений с возможностью уклонения от них, проработаны действия вратарей, новая система ударов, борьба за мяч в воздухе и усиленная поддержка партнёров, позволяющая больше играть в пас и делать навесы. Введены быстрые вбрасывания, розыгрыши штрафных и угловых ударов, реалистичный темп игры и уровень сложности. Так же впервые в игре присутствует лицензированная сборная Голландии (в предыдущих версиях имена игроков сборной были вымышленными).[10]

2010 –“Mafia II” - видео игра в жанре шутер от третьего лица (автосимулятор), разрабатываемая компанией 2K Czech. События Mafia 2 развернутся в период 40-50ых годов XX века, в вымышленном городе Empire Bay, где заправляют три мафиозные “семьи”. Mafia II использует движок нового поколения разработки 2K Chezh, который позволит ещё более насыщенно передать атмосферу тех годов. Перестрелки, рукопашный бой, автомобильные погони добавили в игру новую глубину позволяющую игрокам расти в своём мире Мафии.

“Napoleon: Total War” - компьютерная игра в жанре пошаговой стратегии и военной тактики, разработанная британской компанией. Является шестой игрой в известной серии Total War. В игре совмещены режимы пошаговой стратегии и тактики в реальном времени. Управление государством происходит на стратегической карте в пошаговом режиме. Игрок занимается исследованиями, разведкой, экономикой, религией и другими важнейшими вопросами государства. Морские и сухопутные сражения происходят в реальном времени [11]

Этапы разработки компьютерных игр


Подготовка к производству

Задача разработчиков на этом этапе – разработать концепцию игры, дизайн персонажей, выбрать средства для реализации проекта, создать прототип игры, подготовить план, по которому будет создаваться игра.

Производство
В ходе производства игры – особенно это касается коммерческих версий – периодически устраивается рассмотрение текущих результатов разработки, к которым команда должна представить проект, достигший определенного уровня развития. То есть, например, к одному из таких моментов должна быть готова работающая демо-версия игры, к другому – первый уровень и так далее. Как правило, эти промежуточные результаты служат отличной рекламой новых игровых проектов – демо-версии публикуют на игровых сайтах, геймеры "примеряют" к этим версиям возможности своего оборудования.

Выпуск / Поддержка
Игры для ПК часто выходят с ошибками – все дело в том, что разработчикам вечно не хватает времени, чтобы все как следует отладить. Благо, есть возможность исправлять ошибки на уже установленных играх, устанавливая патчи (от английского patch – заплатка). Этим пользуются разработчики, выпуская сыроватую игру и, после этого, целую вереницу заплаток для нее. Такая практика не распространена для консольных игр – тут разработчики вынуждены ответственнее подходить к своей работе и выпускать полностью рабочую игру, не требующую вмешательств.

Рассмотрим этапы разработки типичной компьютерной игры.

Подготовка к производству. Подготовка к производству игры – это первый этап работы над игрой. Задача разработчиков на этом этапе – разработать концепцию игры, дизайн персонажей, выбрать средства для реализации проекта, создать прототип игры, подготовить план, по которому будет создаваться игра, и согласовать этот план с начальством, либо – с компанией, которая планирует издавать игру. Как правило, все современные игры пишутся под конкретного издателя, который часто вкладывает в разработку немалые средства.

Когда все административные вопросы решены, игра вступает на этап производства.

Производство. Производство – это ключевой этап в создании игры. Разработчики занимаются реализацией ранее созданного плана. Однако первоначальный план игры подвергается изменениям – иногда эти изменения происходят очень часто – вплоть до ежедневных корректировок.

В ходе производства игры – особенно это касается коммерческих версий – периодически устраивается рассмотрение текущих результатов разработки, к которым команда должна представить проект, достигший определенного уровня развития. То есть, например, к одному из таких моментов должна быть готова работающая демо-версия игры, к другому – первый уровень и так далее. Как правило, эти промежуточные результаты служат отличной рекламой новых игровых проектов – демо-версии публикуют на игровых сайтах, геймеры «примеряют» к этим версиям возможности своего оборудования.

Выпуск. После того, как игра создана, протестирована и отлажена, наступает время ее выпуска. Как правило, интерес к этому событию усиленно подогревается издателем игры – ведь не стоит забывать, что главная цель издателя – прибыль. Как правило, наиболее успешные игры с лихвой оправдывают ожидания издателей.

Поддержка. Игры для ПК часто выходят с ошибками – все дело в том, что разработчикам вечно не хватает времени, чтобы все как следует отладить. Благо, есть возможность исправлять ошибки на уже установленных играх, устанавливая патчи (от английского patch – заплатка). Этим пользуются разработчики, выпуская сыроватую игру и, после этого, целую вереницу заплаток для нее. Такая практика не распространена для консольных игр – тут разработчики вынуждены ответственнее подходить к своей работе и выпускать полностью рабочую игру, не требующую вмешательств.

Разработка игр – дело нелегкое. Конечно, выше приведена лишь примерная схема работы над игрой, однако практически все игры проходят через одинаковые этапы.[1]

Создание игровой программы «крестики-нолики»

Компоненты Delphi используемые в программе

Компонент TMainMenu

TMainMenu – позволяет поместить главное меню в программу. При помещении TMainMenu на форму это выглядит, как просто иконка (Рисунок 1. Иконки компонентов на форме, созданное меню, компонент TPanel). Иконки данного типа называют невидимым (невизуальным) компонентом, поскольку они невидимы во время выполнения программы.

Создание меню включает три шага:

  • помещение TMainMenu на форму;
  • вызов Menu Designer;
  • определение пунктов меню в Menu Designer.

Этот компонент доступен из модуля MENUS, и находится на странице Палитры компонентов Standard.

Этот компонент представляет главное меню формы и наследует все методы и свойства TMenu. Особенность его в том, что в нем реализован сложный механизм объединения меню. Это необходимо по следующим причинам:

Если в приложении имеется несколько форм со своими меню, то для упрощения работы целесообразно соединить их в одно и управлять меню из главной формы.

Объединение меню нужно при работе с интерфейсом MDI и его подокнами.

Механизм объединения меню используется серверами OLE, запускаемыми по месту нахождения объекта OLE. Загружаясь, сервер дописывает осуществляемые им операции к меню другого приложения.

Для того чтобы реализовать объединение меню, у тех форм, меню которых будут присоединены к главному, необходимо установить в True свойство:

(Pb) property AutoMerge: Boolean;

При этом у главного меню оно должно оставаться равным False, иначе главное меню будет вообще невидимым. Объединение будет происходить автоматически при активизации новых форм или серверов OLE. Кроме автоматического режима, объединение меню можно выполнить при вызове метода: procedure Merge (Menu: TMainMenu);

Компонент TLabel

TLabel – служит для отображения текста на экране (Рисунок 3. Вид программы после запуска). Можно изменить шрифт и цвет метки, если дважды щелкнуть на свойство Font в Инспекторе Объектов. Видно, что это легко сделать и во время выполнения программы, написав всего одну строчку кода.

Этот компонент доступен из модуля STDCTRLS, и находится на странице Палитры компонентов Standard.

Компонент представляет собой статический текст. С помощью этого компонента на рабочей поверхности формы можно отобразить информацию, сделать пояснения и показать названия других компонентов. Но он имеет и другую важную функцию – если в составе текста TLabel есть символы-акселераторы, информация об их нажатии может передаваться от TLabel другому элементу управления.

Компонент TPanel

TPanel – управляющий, похожий на TGroupBox, используется в декоративных целях. Чтобы использовать TPanel, просто поместите его на форму и затем положите другие компоненты на него (Рисунок 1. Иконки компонентов на форме, созданное меню, компонент TPanel). Теперь при перемещении TPanel будут передвигаться и эти компоненты. TPanel используется также для создания панели инструментов и окна статуса.

Этот компонент доступен из модуля EXTCTRLS, и находится на странице Палитры компонентов Standard.

Этот компонент — является несущей конструкцией для размещения других элементов управления. В отличие от простой рамки (TBevel) панель сама является оконным элементом управления и родителем для всех размещенных на ней компонентов. Часто ее используют для создания панелей инструментов, строк состояния и т. п.

На границах панели размещаются две специальные окаймляющие рамки (bevels): BevelInner и BevelOuter. При помощи комбинации белого и серого цветов они имитируют трёхмерность – приподнятость (bvRaised) или утопленность (bvLowered). Также рамки могут быть невидимыми (bvNone).

Выравнивание текста заголовка панели определяется при помощи свойства: (Pb) property Alignment: TAlignment;

Компонент TImage

TImage – отображает графическое изображение на форме. Воспринимает форматы BMP, ICO, WMF. Если картинку подключить во время дизайна программы, то она прикомпилируется к EXE файлу.

Этот компонент доступен из модуля EXTCTRLS, и находится на странице Палитры компонентов Additional.

Этот компонент служит надстройкой над классом TPicture и замыкает всю иерархию графических объектов VCL. Он предназначен для показа на форме изображения: битовой карты (TBitmap), метафайла (TMetafile), значка (TIcon).

Компонент TImageList

TImageList представляет собой контейнер для хранения множества рисунков одинакового размера. Он может быть полезен при программном создании набора инструментальных кнопок, секций управляющего заголовка, при разработке программ, использующих анимационные эффекты, и вообще там, где требуется индексированный доступ к изображениям. Воспринимает форматы BMP, ICO.

При помещении TImageList на форму это выглядит, как просто иконка. Иконки данного типа называют невидимым (невизуальным) компонентом, поскольку они невидимы во время выполнения программы. Этот компонент находится на странице Палитры компонентов Win 32.

Компонент TTimer

TTimer (таймер) служит для отсчета интервалов реального времени. Его свойство interval определяет интервал времени в миллисекундах, который должен пройти от включения таймера до наступления события onTimer. Таймер включается при установке значения True в его свойство Enabled. Раз, включенный таймер все время будет возбуждать события onTimer до тех пор, пока его свойство Enabled не примет значения False.

При помещении TTimer на форму это выглядит, как просто иконка (Рисунок 1. Иконки компонентов на форме, созданное меню, компонент TPanel). Иконки данного типа называют невидимым (невизуальным) компонентом, поскольку они не видимы во время выполнения программы. Этот компонент находится на странице Палитры компонентов System.[5]

Разработка программы


Разработать игровую программу «Крестики-нолики», которая включает в себя игровую панель, состоящую из девяти клеток (панелей), образующих собой один большой квадрат. Игровая программа рассчитана на двух игроков. Противникам поочерёдно предоставляется ход, один играет символом «X», другой – «O». Выигрывает тот, кто первым заполнит ряд панелей своим символом: любой из трёх рядов по горизонтали или вертикали, либо любой ряд по диагонали.

Алгоритм реализации игровой программы:

  • Запуск программы осуществляется следующим образом: необходимо открыть папку, содержащую данную игру, и найти исполняемый файл SGIRG.exe.
  • Проект программы состоит из файла проекта, содержащего необходимые конструкции для исполнения, и трёх модулей Unit1, Unit2 и Unit3.
  • Модуль Unit1 является основным модулем проекта, содержащим все необходимые для работы программы процедуры.
  • После запуска программы на экран выводится основная форма Form1, на которой расположены: главное меню и игровое поле.
  • Игра, т.е. работа программы, начинается сразу же после запуска, ход сначала предоставляется игроку, выбравшему символ «X».

В первую очередь пишем процедуру очистки игрового поля – clean. Сначала для надёжности выключаем таймер, меняем стиль панели на начальный (Form1.Panel2.BevelInner:=bvNone) и очищаем заголовок (Form1.Panel2.Caption:=' '). Данную операцию расписываем на все девять панелей игрового поля. В конце возобновляем работу таймера.

Далее выполняем проверку на “мухлёж”, т.е. проверяем заголовок каждой панели игрового поля. Если заголовок панели пуст, то на данную панель разрешено нажимать, если же ему присвоено какое-либо значение («X» либо «O»), то при нажатии на данную панель ничего не будет происходить:

if Panel2.Caption<>' ' then exit;

При нажатии на панель, для большей красоты, меняем её стиль (Panel2.BevelInner:=bvLowered). Встал вопрос: как сделать чередование «X» и «O»?! Всё просто, чередование делаем с помощью условного оператора If. Если Tag равен нулю, то в заголовок данной панели записываем символ “X” и присваиваем в Tag единицу, в противном случае в заголовок записываем символ “O” и присваиваем в Tag ноль.

if Form1.Tag=0
then
begin
Panel.Caption:='X';
Form1.Tag:=1;
end
else
begin
Panel.Caption:=
'O';
Form1.Tag:=0;
end;

Таким же образом описываем каждую панель игрового поля.

Следующим шагом написания программы является процедура проверки на выигрыш. В качестве данной процедуры используем компонент TTimer.

Когда подпрограмма сталкивается с невозможностью выполнения последующих действий, она создает объект с описанием ошибки и прерывает нормальный ход своей работы с помощью оператора Raise. Данный оператор создает объект класса EOutOfMemory (класс ошибок исчерпания памяти) и прерывает нормальное выполнение программы. Вызывающие подпрограммы могут эту ситуацию перехватить и обработать. Для этого в них организуется так называемый защищенный блок:

try

// Защищаемые от ошибок операторы

except

// Операторы обработки исключительной ситуации

end;

Между словами try и except помещаются защищаемые от ошибок операторы. Если при выполнении любого из этих операторов возникает исключительная ситуация, то управление передается операторам между словами except и end, образующим блок обработки исключительных ситуаций. При нормальном (безошибочном) выполнении программы блок except...end пропускается.

И так, дальнейшую разработку программы осуществляем в защищённом блоке.

Проверяем стиль панелей по горизонтали, вертикали и диагонали. Если хоть один ряд имеет не начальный стиль панелей, то сравниваем заголовки панелей данного ряда. Если после проверки выясняется, что заголовки данного ряда не равны – игра продолжается, а если же выясняется, что равны, то открываем модальное окно с поздравлением (Рисунок 4. Модальное окно с поздравлением) и присваиваем «X» или «O» (в зависимости от того, каким символом заполнен данный ряд) в лейбл формы поздравления:

Form3.Label1.Caption:=Form1.Panel2.Caption;

Form3.ShowModal;

После закрытия модального окна поздравления делаем очистку игрового поля с помощью ранее описанной процедуры clean.

Данная процедура проверки применяется ко всем восьми рядам панелей, и только после этого закрываем try.

В случае если все панели игрового поля заполнены, а победитель не определился, то выводим сообщение: “Ничья, попробуйте ещё раз”)

if (Panel2.BevelInner=bvLowered) and (Panel3.BevelInner=bvLowered) and (Panel4.BevelInner=bvLowered) and (Panel5.BevelInner=bvLowered) and (Panel6.BevelInner=bvLowered) and (Panel7.BevelInner=bvLowered) and (Panel8.BevelInner=bvLowered) and (Panel9.BevelInner=bvLowered) and (Panel10.BevelInner=bvLowered)

then
begin
Form1.Timer1.Enabled:=False;
ShowMessage (
'Ничья, попробуйте ещё раз!');
clean;
end;

Программирование кнопки “Новая игра” в меню программы делается в одну строку. Кнопка программируется в событии OnClick, просто указывается процедура очистки игрового поля – Clean:

procedure TForm1.NewMenuItemClick(Sender: TObject);
begin
clean;
end;

Программирование кнопки “Выход” в меню программы так же осуществляется очень просто. Кнопка программируется в событии OnClick и указывается процедура закрытия программы – Close:

procedure TForm1.N4Click(Sender: TObject);
begin
Close;
end;

Программирование кнопки “О программе” также производится в событии OnClick и открывается модальное окно “О программе”, в котором описаны краткие сведения о программе и её создателе:

procedure TForm1.AboutMenuItemClick(Sender: TObject);
begin
Form2.ShowModal;
end;

Описание пользовательского интерфейса:

  • Файл → Новая игра – начало новой игры.
  • Файл → Выход – выход из программы.
  • Справка → О программе – Вывод дополнительной информации о программе и о её создателе.

Выводы и предложения

В наши дни программирование нередко называют второй грамотностью. Его изучают и в школе, и в вузах, хотя, к сожалению, далеко не всегда успешно. Важность освоения этой дисциплины не вызывает сомнения с учетом тенденций внедрения информационных технологий в различные аспекты нашей жизни, будь то программирование домашнего видеомагнитофона или составление макроса в офисном пакете.

В мире уже создано, такое устройство, как VirtuSphere, которое является самым большим в мире устройством моделирования виртуальной реальности, ориентированным на его использование в компьютерных играх. В состав входит система распознания движений человека, которая способна точно определить положение тела, движения человека и перенести их в виртуальный мир компьютерной игры.

Благодаря сети датчиков и видеокамер, охватывающих своими «чувствами» все 360 градусов поверхности сферы, система в состоянии отследить все, даже незначительные, перемещения и движения игрока, и передвинуть виртуального игрока соответствующим образом. Одним из самых распространенных применений VirtuSphere в настоящее время является ее использование для тренировки солдат и служащих специальных подразделений.

Реалистичная программа-симулятор и соответствующие интерфейсные устройства способны удешевить и углубить подготовку специалистов. Симулятор окажется полезным пилоту, танкисту и военным других специальностей. Даже рядовому имеет смысл потренироваться на тренажере, который позволил бы ему познакомиться с районом боевых действий до непосредственного участия в самих боевых действиях. Виртуальная модель местности, на которую поступает с датчиков информация о реальных событиях, сильно поможет при тактическом планировании и командовании операциями.

Несомненно, симуляторы могут помочь (и уже помогают) врачам при подготовке к сложной операции и, даже, при определении диагноза. Представление результатов моделирования сложных процессов в виде интерактивной мультимедийной системы (то есть, игры) может помочь физику в мысленных (точнее виртуальных) экспериментах в мире элементарных частиц или астроному, для анализа поведения галактик.

Очевидна практическая польза обучающих игр, причем к разряду игр в данном случае можно отнести и такой, например, пакет, как "Уроки геометрии" от "Кирилла и Мефодия" или программу-планетарий "Distant Suns", поскольку это - вспомогательные пакеты, предназначенные скорее для досуга. Конечно, существуют и собственно обучающие игры, многие из которых предназначены для детской аудитории. Которые полезны не только содержанием самих игр; важно еще и то, что они помогают самым маленьким пользователям с интересом войти в мир современной компьютерной техники, в то время, когда для более "серьезных" продуктов они еще не готовы.

Я считаю, что дальнейшее совершенствование этих технологий позволит не только создать новые виды игр. Такие программно-технические комплексы, особенно система дополненной реальности, могут стать своеобразными тренажерами для различных человеческих функций, профессий и т.п. Обучение через игры — плодотворный и перспективный метод, который может с успехом использоваться на практике, особенно при работе с детьми и подростками. Ведь порой бывает достаточно небольшого толчка, чтобы пробудить интерес и мотивацию к изучению этой темы. И вот уже игрок сам, начиная с небольших скриптов, создает целые программные комплексы, которые решают поставленные перед ними задачи.

Список использованной литературы

  1. Дашко Ю.В., Заика А.А. "Основы разработки компьютерных игр" - М.: "Форум" 2009.-350с.
  2. Николаева О. "Эпидемия XXI века: телевидение, интернет и компьютерные игры".- Ростов н/Д: Феликс, 2008.-254с.
  3. Рейнбоу В., "Компьютерные игры". Энциклопедия. – С.: "Питер" 2005.-732с.
  4. Роллингз, Эндрю. "Проектирование и архитектура игр": пер. с англ./ Э. Роллингз, Д. Моррис. - М.: Вильямс, 2006.- 1040с.
  5. Фаронов В.В. Учебный курс. "Delphi".-М.: "Нолидж" 2001.-608с.
  6. Фленов М. "Библия Delphi" БХВ-Петербург, 2004.-912с.


Если страница Вам понравилась, поделитесь в социальных сетях:

Вставитьjs: 
нет