Создание игровой программы "WP-Billiards"

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

 

 

 

 

 

 

 

 

 

Создание игровой программы "WP-Billiards"

 

 

Введение

 

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

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

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

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

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

Целью данной работы является создание игровой программы, реализующей игру в бильярд на компьютере. В качестве названия программы будем использовать WP-Billiards (Windows Programming Billiards). Для достижения этой цели необходимо решить следующие задачи:

произвести сбор данных: выяснить математическое описание законов физики, определяющих траекторию движения шаров по бильярдному столу;

произвести анализ существующих аналогов разрабатываемого продукта, выяснить его практическую значимость;

произвести анализ возможных сред для работы программы, выявить лучшие;

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

реализовать алгоритмы программы;

произвести тестирование и отладку программного продукта.

На сегодняшний день существует несколько реализаций бильярда на компьютере: от самых старых игр (Video Pool) до новейших (Perfect Pool). В данном проекте будут реализованы следующие черты, в совокупности не реализованные ни в одном из известных аналогов:

красочная тщательно прорисованная графика (с эффектом трехмерности);

алгоритм подсчета очков, учитывающий текущий уровень, сложность ходов, количество соударений шаров и т.д.;

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

наличие таблицы рекордов (двадцать имен).

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

программа бильярд алгоритм физика

 

1. Описание предметной области

 

.1 Исследование предметной области

 

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

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

Помимо огромного количества классификаций компьютерных игр, их можно поделить на двухмерные и трехмерные, причем в настоящее время большинство компьютерных игр разработчики стараются сделать именно трехмерными: действительно, наш мир имеет три измерения, соответственно, логичной кажется мысль, что любая игровая программа, использующая трехмерный дизайн ?/p>