Создание компьютерных игр
Решение матричной игры в чистых стратегиях. Применение смешанных стратегий. Правила "Однорукого бандита", рулетки и Блэк Джэка. Написание компьютерной программы, которая имитирует игру в казино и тестирование ее результатов. Исходный код программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 28.11.2011 |
Размер файла | 287,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН
«Казахский экономический университет экономики финансов
и международной торговли»
Кафедра математики и информатики
Курсовая работа
по дисциплине: «Технология программирования»
на тему: «Создание компьютерных игр»
Выполнил:
студент I курса;
109й группы
специальности: «Информационные системы».
Тлеулесов Р.С.
Проверила:
преподаватель Баженова А. А.
г. Астана
2011год
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
ЦЕЛИ И ЗАДАЧИ
1 ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ
1.1 Теория игр
1.2 Решение матричной игры в чистых стратегиях
1.3 Применение смешанных стратегий
1.4 Правила Блэк Джэка
1.5 Правила «Однорукого бандита»
1.6 Правила рулетки
2 ПРАКТИЧЕСКИЙ РАЗДЕЛ
2.1 Описание программы
2.2 Тестирование программы
3 ИСХОДНЫЙ КОД ПРОГРАММЫ
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
ВВЕДЕНИЕ
компьютерная игра казино
Внедрение ЭВМ во все сферы человеческой деятельности требует от специалистов разного профиля овладения навыками использования вычислительной техники. Повышается уровень подготовки студентов вузов, которые уже с первых курсов приобщаются к использованию ЭВМ и простейших численных методов, не говоря уже о том, при что выполнении курсовых и дипломных проектов применение вычислительной техники становится нормой в подавляющем большинстве вузов.
Вычислительная техника используется сейчас не только в инженерных расчетах и экономических науках, но и таких традиционно нематематических специальностях, как медицина, лингвистика, психология, создание компьютерных игр. В связи с этим можно констатировать, что применение ЭВМ приобрело массовый характер. Возникла многочисленная категория специалистов - пользователей ЭВМ, которым необходимы знания по применению ЭВМ в своей отрасли - навыки работы с уже имеющимся программным обеспечением, а также создания своего собственного программного обеспечения, приспособленного для решения конкретной задачи. И здесь на помощь пользователю приходят описания языков программирования высокого уровня и численные методы.
Численные методы разрабатывают и исследуют, как правило, высококвалифицированные специалисты-математики. Для большинства пользователей главной задачей является понимание основных идей и методов, особенностей и областей применения. Однако, пользователи хотят работать с ЭВМ не только как с высокоинтеллектуальным калькулятором, а еще и как с помощником в повседневной работе, хранилищем информации с быстрым и упорядоченным доступом, источником и обработчиком графической информации, а также средством развлечения. Последняя функция современной ЭВМ предполагается продемонстрировать в настоящей курсовой работе.
ЦЕЛИ И ЗАДАЧИ
Целью данной курсовой работы является изучение и реализация в программном продукте создание компьютерной игры на примере казино. Данная работа состоит из трёх разделов, заключения и приложения. Первый раздел - теоретический и содержит общие сведения. Второй - это практическая часть. Здесь описывается метод, разобранный на конкретных примерах. Третий посвящён тестированию программы и анализу получившихся результатов. В заключении представлен вывод о проделанной работе.
Целью данной курсовой работы является программная реализация компьютерной игры.
Для этого необходимо выполнить следующие задачи.
1) Изучить необходимую литературу.
2) Обзорно рассмотреть имеющиеся в казино услуги.
3) Изучить правила каждой из игр.
4) Рассмотреть каждую часть на конкретных примерах.
5) Разработать программу, имитирующую игру в казино.
6) Проанализировать получившиеся результаты.
1 ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ
Так как будет создано несколько типов игр в казино, придется каждую часть писать в отдельную процедуру или функцию.
Игра в казино - игра на удачу. Это может дать внутренняя функция случайного числа.
Для азартности вводится переменная, которая обозначает так называемые «кредиты». В игре они могут называться разными именами - деньги, монеты, чеки, крышки. Это значение меняется в функциях и когда его значение становится равным нулю, игра оканчивается. Можно вести число, после которого игрок выигрывает.
1.1 Теория игр
Теория игр -- математический метод изучения оптимальных стратегий в играх. Под игрой понимается процесс, в котором участвуют две и более сторон, ведущих борьбу за реализацию своих интересов. Каждая из сторон имеет свою цель и использует некоторую стратегию, которая может вести к выигрышу или проигрышу -- в зависимости от поведения других игроков. Теория игр помогает выбрать лучшие стратегии с учётом представлений о других участниках, их ресурсах и их возможных поступках.
Теория игр -- это раздел прикладной математики, точнее -- исследования операций. Чаще всего методы теории игр находят применение в экономике, чуть реже в других общественных науках -- социологии, политологии, психологии, этике и других. Начиная с 1970-х годов её взяли на вооружение биологи для исследования поведения животных и теории эволюции. Очень важное значение она имеет для искусственного интеллекта и кибернетики, особенно с проявлением интереса к интеллектуальным агентам.
Игры представляют собой строго определённые математические объекты. Игра образуется игроками, набором стратегий для каждого игрока и указания выигрышей, или платежей, игроков для каждой комбинации стратегий. Большинство кооперативных игр описываются характеристической функцией, в то время как для остальных видов чаще используют нормальную или экстенсивную форму.
Игры в экстенсивной, или расширенной, форме представляются в виде ориентированного дерева, где каждая вершина соответствует ситуации выбора игроком своей стратегии. Каждому игроку сопоставлен целый уровень вершин. Платежи записываются внизу дерева, под каждой листовой вершиной.
В нормальной, или стратегической, форме игра описывается платёжной матрицей. Каждая сторона (точнее, измерение) матрицы -- это игрок, строки определяют стратегии первого игрока, а столбцы -- второго. На пересечении двух стратегий можно увидеть выигрыши, которые получат игроки. В примере справа, если игрок 1 выбирает первую стратегию, а второй игрок -- вторую стратегию, то на пересечении мы видим (?1, ?1), это значит, что в результате хода оба игрока потеряли по одному очку.
В таблице 1 приведены выигрыши игроков при разных стратегиях.
Таблица 1
Выигрыши игроков при разных стратегиях
Игрок 2 Стратегия 1 |
Игрок 2 Стратегия 2 |
||
Игрок 1 Стратегия 1 |
4,3 |
-1,-1 |
|
Игрок 1 Стратегия 2 |
0,0 |
3,4 |
1.2 Решение матричной игры в чистых стратегиях
Пусть множества стратегий обеих сторон конечны:
; .
Тогда игра представляется платежной матрицей ||Fij||, показывающей, какой платеж Fij получает оперирующая сторона, применяя Xi, когда противник выбрал Yj.
Дискретные конечные игры называются матричными. Для этих игр максимин получается простым перебором.
Имеется достаточно простая процедура определения седловой точки:
1. Выбирают произвольно j1, находят и соответствующую i1.
2. Определяют j2 из условия ; если j1 = j2, то седловая точка найдена.
3. Определяют i1, из условия ; если i1 = i2, то седловая точка найдена, в противном случае процедура повторяется.
В таком виде возможно зацикливание процесса. Чтобы это исключить, имеет смысл модифицировать процедуру следующим образом:
1. Выбирают произвольно j1 и рассматривают все i1, на которых реализуется .
2. Для каждого из i1 определяют все j2, на которых реализуется ; если при этом какое-то j2 совпадет с j1, то седловой точкой является (i1, j1); если все , то j1 вычеркивается.
3. Выбирают какую-нибудь i1 и рассматривают все , на которых реализуется ; для каждого из этих j2 определяют i1, на которых достигается ; если среди них есть i2 = i1, то седловая точка (i1, j2 ); если все , то i1 вычеркивается.
Задача отыскания седловой точки в платежной матрице называется задачей решения игр в чистых стратегиях.
1.3 Применение смешанных стратегий
Внимание к седловым точкам в теории игр традиционно. Объясняется это недоверием к максимину, как к принципу оптимального выбора в том случае, когда нет седловой точки. Поэтому естественно стремление заполнить промежуток между максимином и минимаксом путем применения смешанных стратегий.
Однако, не следует забывать, что:
1) применение смешанных стратегий рисковано, когда игра не повторяется;
2) если игра повторяется, надо иметь уверенность, что у противника нет информации о конкретных решениях другого игрока;
3) противник не обязан применять смешанные стратегии, равно как и стремиться к цели, противоположной цели другого игрока.
Обозначим смешанную стратегию первого игрока p = {pi}, где pi - вероятность применения i-й стратегии, , . Пусть смешанная стратегия второго игрока , , qj - вероятность применения j-й стратегии, , . Р и Q определяют математическое ожидание платежа:
.
Теорема фон Неймана. Любая матричная игра имеет седловую точку в смешанных стратегиях.
Доказательство. Множества M и N ограничены и замкнуты, так как , , а функция W непрерывна по P и Q . W линейна по P при фиксированных Q, следовательно, вогнута по P при фиксированных Q. Аналогично W выпукла по Q при фиксированных P. M и N выпуклы.
Действительно, рассмотрим такие и , что , , тогда
, .
Складывая, получим .
Кроме того, .
Следовательно, при и
тоже смешанная стратегия.
Применяя фундаментальную теорему, получим то, что требуется доказать:
.
Опираясь на доказанную теорему, можно быть уверенным, что решение игры в смешанных стратегиях всегда существует (если только вообще их можно применять). В теории игр доказывается теорема, указывающая на эквивалентность решения матричной игры в смешанных стратегиях и двойственной задачи линейного программирования.
Пусть Po и Qo оптимальные смешанные стратегии, v - цена игры, тогда
.
Из теорема следует, что
Обозначим .
Поделим (4) на v , получим
.
Из этой задачи линейного программирования можно получить оптимальные стратегии первого игрока (оперирующей стороны).
Аналогично, если , получится задача линейного программирования для получения оптимальных стратегий второго игрока: .
Пример
Платежная матрица задана в некоторых условных единицах
стратегия 1 |
стратегия ?1 |
-2 |
|
стратегия 2 |
стратегия ?2 |
0 |
|
стратегия 1) |
стратегия ?2 |
3 |
|
стратегия 2 |
стратегия ?1 |
1 |
Если игровая ситуация встречается только один раз и первому игроку надо решать вопрос: о выборе стратегии, и есть веские основания не рисковать, то нужно использовать максиминную стратегию ?2 (тогда первый игрок выиграет не менее нуля).
Аналогично второй игрок выбирает минимаксную стратегию ?1 (он проиграет не более единицы в этом случае).
Если же ситуация повторяется много раз, то имеет смысл применять смешанные стратегии.
Решая задачу линейного программирования:
получим .
Решая двойственную задачу линейного программирования:
получим .
Таким образом, первый игрок выбирает стратегии ?1 и ?2 с вероятностью и не посылать с вероятностью .
Второй игрок должен выбирает ?1 и ?2 с вероятностью и не с вероятностью .
Поскольку цена игры здесь оказалась положительной, то данная ситуация более благоприятна для первого игрока, если он будет применять свою оптимальную стратегию
Если же он отклонится от своей оптимальной стратегии, то ситуация может оказаться более благоприятной для второго игрока.
1.2 Правила Блэк Джэка
За столом играют минимум 2 человека. Один из них обязательно должен быть крупье.
Сначала ставится ставка, т.е. сколько игрок поставит на стол «кредитов».
Выигрывает тот, кто наберет наибольшее количество очков, но не больше 21. Если набрано более 21, то игрок проигрывает и теряет кредиты, поставленные на стол.
На первом ходе каждому игроку (кроме крупье) раздается по 2 карты. После этого у него есть 2 выбора: или остановится, или взять еще 1 карту. Последнее действие может повторяться, пока игрок не остановится.
После ходов всех игроков ход начинает крупье. После того как он наберет 16 очков или более он не может производить ход.
Выигравший игрок забирает все «кредиты».
1.3 Правила «Однорукого бандита»
Игра «Однорукий бандит» производится за игровым автоматом. Игрок кидает в автомат n-ое количество «кредитов». Автомат начинает выводить на экран произвольно картинки. При определенный комбинациях игрок получает n*k (k - множитель комбинации).
1.4 Правила рулетки
За столом должны находиться минимум 2 человека, и 1 из них обязательно работник казино. Стол представляет собой числовое пространство из цифр, как красных, так и черный, групп чисел, отсеков «красные», «черные» и т.д. и самой рулетки, имеющая цифры с разными цветами. Каждый отсек имеет свой множитель.
Игроки вначале расставляют «кредиты» на стол по отсекам. Возможно за 1 раз расставлять сразу на несколько отсеков.
После расстановки работник казино раскручивает рулетку и «закидывает» туда пластмассовый белый шарик. Если какой либо из параметров на рулетке совпадает с расставленными «кредитами», то игрок получает n*k (n - поставленный «кредит», k - множитель комбинации).
2. НАПИСАНИЕ ПРОГРАММЫ И ТЕСТИРОВАНИЕ РЕЗУЛЬТАТОВ
2.1 Описание программы
Данная программа создана для работы в текстовом режиме. Она состоит из модулей stdio, conio, math, vcl,iostream и трёх функций.
1) модуль stdio предназначен для вывода текста и ввода данных;
2) модуль math предназначен для обеспечения работы с математическими операции;
3) модуль vcl предназначен для обеспечения работы в консоли;
4) Function int Rul - игра рулетка;
5) Function int BlackJack - игра Блэк Джэк;
6) Function int OdnoRuk - игра однорукий бандит;
Coins=1000 - константа, определяющая количество «кредитов»;
v - переменная для определения игры;
2.2 Тестирование программы
Для тестирования программы запустим файл «Kazino.exe». Сперва выводится начальные сведения и дается выбор, во что играть.
1) Black Jack.
Тест:
Данная программа имитирует игру в Блэк Джэк.
Рассказать правила?2(нет)
Делайте ваши ставки500
У вас 10 очков. Возьмете еще? 1-да 2-нет1
У вас 17 очков. Возьмете еще? 1-да 2-нет1
У вас 22 очков. Вы проиграли. -500 крышек
У вас 500 крышек. Начать заново? 1-да 2-нет1
Делайте ваши ставки500
У вас 10 очков. Возьмете еще? 1-да 2-нет1
У вас 17 очков. Возьмете еще? 1-да 2-нет1
У вас 20 очков. Возьмете еще? 1-да 2-нет2
Дилер - 11
Дилер - 14
Дилер - 22
У дилера 22 очков. Вы выиграли 500 крышек.
У вас 1000 крышек. Начать заново? 1-да 2-нет2.
2) Odnorukiy bandit.
Тест:
Данная программа имитирует автомат «Однорукий бандит».
Добро пожаловать! Вы находитесь за игральным автоматом Однорукий бандит.
Рассказать правила? 1-да 2-нет2
Делайте ваши ставки=250
На какой секунде дернуть рычаг? 5
481
У вас 750 крышек. Начать заново? 1-да 2-нет1
Делайте ваши ставки=500
На какой секунде дернуть рычаг? 7
564
У вас 250 крышек. Начать заново? 1-да 2-нет1
Делайте ваши ставки=250
На какой секунде дернуть рычаг? 12
268
У вас 0 крышек. Вы проиграли(
3) Ruletka.
Тест:
Данная программа имитирует игру в рулетку.
Добро пожаловать на нашу слим рулетку
Правила игры просты:
1 - Вы делаете вашу ставку.
2 - Ставите на число, цвет или группу чисел.
3 - Игра продолжается до тех пор, пока у вас не закончатся крышки.
Вперед!!! У вас 1000 крышек.
Делайте ваши ставки260
Выберите тип игры:
1 - На число(0-36)
2 - На цвет (черный или красный)
3 - На группу чисел(1-12,13-24,25-36)3
На какую группу ставите?(1 - 1-12, 2 - 13-24, 3 - 25-36) - 2
Выпало на 2 группу. Вы выиграли 260 крышек.
У вас 1260 крышек. Играем снова? 1-да 2-нет2
3. ИСХОДНЫЙ КОД ПРОГРАММЫ
/*Created by Gessar */
/*Borland C+ builder 6*/
/*Gessar2010@gmail.com*/
#include <vcl.h>
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <math.h>
int Rul(int coins)
{
int e, stavka, chislo, rchislo, cvet, rcvet, gruppa, rgruppa, v;
e=1;
randomize;
printf("Dobro pozhalovat na nashu 'Slim' ruletku\nPravila igri prosty:\n 1 - Vi delaete vashu stavku.\n 2 - Stavite na chislo, cvet ili gruppu chisel.\n 3 - Igra prodolzhaetsya do teh por, poka u vas ne zakonchatsya krishki\nili vi ne viydite.\nVpered!!! U vas %d krishek.\n",coins);
while(e!=2)
{
stav:printf("Delayte vashi stavki");
scanf("%d",&stavka);
if (stavka>coins)
{
printf("Slishkom mnogo!\n");
goto stav;
}
if (stavka<=0)
{
printf("Slishkom malo!\n");
goto stav;
}
printf("Viberite tip igru:\n 1 - Na chislo(0-36).\n 2 - Na cvet(Cherniy ili zeleniy).\n 3 - Na gruppu chisel(1-12,13-24,25-36)");
scanf("%d",&v);
if(v==1)
{
randomize;
printf("Na kakoe chislo stavite? - ");
scanf("%d",&chislo);
rchislo=random(36)+1;
if (chislo==rchislo)
{
printf("Vipalo na %d! Vi viigrali %d*10 krishek!", rchislo, stavka);
coins=coins+(stavka*10);
}
else
{
printf("Vipalo na %d. Vi proigrali %d krishek.", rchislo, stavka);
coins=coins-stavka;
}
}
if(v==2)
{
randomize;
printf("Na kakoy cvet stavite?(1 - krasniy, 2 - cherniy) - ");
scanf("%d",&cvet);
rcvet=random(2)+1;
if(rcvet==1)printf("Vipalo na krasnuy. ");
else printf("Vipalo na chernoye. ");
if(cvet==rcvet)
{
printf("Vi viigrali %d krishek\n",stavka);
coins=coins+stavka;
}
else
{
printf("Vi proigrali %d krishek\n",stavka);
coins=coins-stavka;
}
}
if(v==3)
{
printf("Na kakuyu gruppu stavite?(1 - 1-12, 2 - 13-24, 3 - 25-36) - ");
scanf("%d",&gruppa);
rgruppa=random(3)+1;
if(rgruppa==1)printf("Vipalo na 1 gruppu. ");
else if(rgruppa==2)printf("Vipalo na 2 gruppu. ");
else if(rgruppa==3)printf("Vipalo na 3 gruppu. ");
if(gruppa==rgruppa)
{
printf("Vi viigrali %d krishek.\n", stavka);
coins=coins+stavka;
}
else
{
printf("Vi proigrali %d krishek.\n", stavka);
coins=coins-stavka;
}
}
if(coins<=0)
{
printf("U vas 0 krishek. Vi proigraly.");
break;
}
printf("\nU vas %d krishek. Iraem snova? 1 - da, 2 - net.",coins);
scanf("%d",&e);
}
return coins;
}
int BlackJack(int coins)
{
int e,v,t,kp,kk,stavka;
printf("Black Jack\nRaskazat praviala?");
scanf("%d",&v);
if(v==1)printf("Cifri po nominalu.\nValet, Dama, Korol - po 10.\nTuz - 1 ili 10 po situacii.\nU vas 100 krishek.\nNachali!!!");
v=1;
kk=0;
kp=0;
while(v!=2)
{
randomize;
stavka=0;
zxc:printf("Delayte vashi stavki");
scanf("%d",&stavka);
if(stavka>coins)
{
printf("Slishkom mnogo.\n");
goto zxc;
}
t=0;
kp=kp+random(10)+1;
if(kp==1)
{
kp=11;
t=t+1;
}
kk=kk+random(10)+1;
printf("U vas %d ochkov. Vozmete eshe? 1-da 2-net",kp);
scanf("%d",&e);
if(e==1)while(e==1)
{
kp=kp+random(10)+1;
if(kp>21)
{
if(t>0)kp=kp-10;
else
{
printf("U vas %d ochkov. Vi proigrali. -%d krishek\n",kp,stavka);
coins=coins-stavka;
e=0;
}
}
else
{
printf("U vas %d ochov. Vozmete eshe? 1-da 2-net",kp);
scanf("%d",&e);
}
}
if(kp<=21)while(kk<kp)
{
randomize;
kk=kk+random(10)+1;
printf("Diler - %d ochkov\n",kk);
}
if(kk>21&&kp<=21)
{
printf("U dillera %d ochkov. Vi viigrali %d krishek\n",kk,stavka);
coins=coins+stavka;
}
if(kk<21&&kp<=21)
{
printf("U dillera %d ochkov. Vi proigrali %d krishek\n.",kk,stavka);
coins=coins-stavka;
}
kp=0;
kk=0;
printf("U vas %d krishek. Nachat' zanovo? 1-da 2-net",coins);
scanf("%d",&v);
}
return coins;
}
int OdnoRuk(int coins)
{
int e, v, stavka, sek, i, c1, c2, c3;
printf("Dobro pozhalovat'! Vi nahodites' za igral'nim avtomatom 'Odnorukiy Bandit.\nRaskazat' pravila? 1 - da, 2 - net");
scanf("%d",&v);
if(v==1)printf("Vipadaet 3 sluchaynih chisel.\nEsli 2 iz nih odinakovi, to vi poluchaete stavka*chislo,\na esli 3 sovpali to poluchaete stavka*chislo*3.\nVpered!!!\n");
e=1;
while(e==1)
{
v=0;
stav:printf("Delayte vashi stavki =");
scanf("%d",&stavka);
if(stavka>coins)
{
printf("Slishkom mnogo\n");
goto stav;
}
if(stavka<=0)
{
printf("Slishkom malo\n");
goto stav;
}
coins=coins-stavka;
seki:printf("Na kakoy sekunde dernut' richag? ");
scanf("%d",&sek);
if(sek<=0)
{
printf("Kak tak?\n");
goto seki;
}
for(i=1;i<=sek;i++)
{
c1=random(9)+1;
c2=random(9)+1;
c3=random(9)+1;
}
printf("%d%d%d\n",c1,c2,c3);
if(c1==c2&&c1==c3)
{
printf("Vi viigrali %d*%d*3\n",stavka,c1);
coins=coins+(stavka*c2*3);
v=1;
}
if(c1==c2||c1==c3&&v==0)
{
printf("Vi viigrali %d*%d\n",stavka,c1);
coins=coins+(stavka*c1);
v=1;
}
if(c2==c3&&v==0)
{
printf("Vi viigrali %d*%d\n",stavka,c2);
coins=coins+(stavka*c2);
v=1;
}
if(coins<=0)
{
printf("U vas 0 krishek. Vi proigrali(");
break;
}
printf("U vas %d krishek. Nachat' zanovo? 1 - da, 2 - net",coins);
scanf("%d",&e);
}
return coins;
}
main()
{
int v,coins;
printf("Dobro pozhalovat' v nashe kazino\n");
printf("Sdes' mi igraem ne na dengi\n");
printf("U nas cenyatsya krishki!\n");
printf("Snachala mi vam dadim 1000 krishek\n");
coins=1000;
printf("Vi viigraete esli naberete 1000000 krishek\n");
printf("S chego nachnem?\n");
while(v!=4)
{
printf("Black Jack-1\n");
printf("Odnorukiy bandit-2\n");
printf("Ruletka-3\n");
printf("Vihod-4\n");
scanf("%d",&v);
if(coins==0)break;
if(coins>=1000000)
{
printf("Vi zdelaly nevozmozhnoye!!!\nU vas bolsee 1000000 milliona krishek!!!\n");
break;
}
if(v==1)coins=BlackJack(coins);
if(v==3)coins=Rul(coins);
if(v==2)coins=OdnoRuk(coins);
if(v==4)break;
}
printf("Segodnya vi viigrali %d krishek. Udachi vam!",coins);
getch();
return 0;
}
ЗАКЛЮЧЕНИЕ
Целью работы было создать программу, которая имитирует игру в казино. Исходя из этого, можно сделать вывод, что цель достигнута, так как для ее осуществления были решены следующие задачи.
1) Изучена необходимая литература.
2) Обзорно рассмотрены имеющиеся услуги казино.
3) Изучен правила каждой игры.
4) Рассмотрено каждая часть на отдельном примере.
5) Проведены тестирование и отладка программы.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1 Архангельский А.Я., Тагин М.А. Программирование на С++ Builder 6. - М.: Мир, 2007.
Размещено на Allbest.ru
Подобные документы
Разработка эскизного и технического проектов компьютерной игры "Скачки". Назначение и область применения программы. Выбор состава технических и программных средств. Составление текста программы, ее спецификация, тестирование и условия выполнения.
курсовая работа [681,4 K], добавлен 18.10.2014Написание программы, которая позволяет пользователю играть в графическом режиме в игру "Тетрис". Разработка функционала с возможностью выбора скорости. Обзор требований к аппаратному и программному обеспечению. Интерфейс, описание данных и тестирование.
курсовая работа [506,3 K], добавлен 17.12.2014Разработка компьютерной программы, которая реализует игру "Арканоид". Освоение приемов программирования на языке С++ с использованием средств OpenGL, разбор структуры и логики игры, приобретение навыков работы с 3D графикой. Руководство пользователя.
курсовая работа [1,2 M], добавлен 02.03.2017Введение в объектно-ориентированное программирование. Постановка задачи. Описание алгоритма решения в псевдокоде (команды в виде текста на русском языке). Исходный текст программы на С. Тестирование программы. Модификация программы. Полиморфизм.
курсовая работа [294,0 K], добавлен 08.09.2008Реализация программы для решения матричных игр. Задание матрицы игры вручную и случайным образом, нахождение оптимальных стратегий игроков итерационным и методом чистых стратегий. Проектирование и листинг программного кода, сохранение матрицы игры.
контрольная работа [716,7 K], добавлен 11.06.2011Разработка эскизного и технического проектов программы, моделирующей игру "Кости". Постановка задачи, описание алгоритма; написание программы, организация входных и выходных данных; выбор программных средств; спецификация, текст, условия выполнения.
курсовая работа [93,8 K], добавлен 11.02.2012История развития языка программирования Java. История тетриса - культовой компьютерной игры, изобретённой в СССР. Правила проведения игры, особенности начисления очков. Создание интерфейса программы, ее реализация в среде Java, кодирование, тестирование.
курсовая работа [168,1 K], добавлен 27.09.2013Создание компьютерной игры посредством среды программирования Delphi. Инструменты разработки, компоненты и методы для разработки программы. Логическая и физическая структуры, основные функции и элементы управления программы, ее тестирование и отладка.
курсовая работа [27,9 K], добавлен 26.07.2014Разработка программы для тестирования студентов в интегрированной среде разработки Lazarus. Создание формы, отображение графического изображения, выхода, ответа, завершения теста. Процесс выбора ответа студентом. Исходный вид программы тестирования.
курсовая работа [388,4 K], добавлен 23.12.2014Разработка программ с использованием оператора выбора Switch. Программирование компьютерной игры в карты. Составление программы, которая по введенным значениям и номеру действия выполняет действия над числами. Тестирование работоспособности программы.
лабораторная работа [1,2 M], добавлен 23.11.2014