Разработка программы для реализации игры "Крестики-нолики"
Крестики-нолики – логическая игра между двумя противниками на квадратном поле. Си как универсальный язык программирования, для которого характерны экономичность выражения и современный набор типов данных. Особенности реализации программного кода.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.02.2019 |
Размер файла | 25,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Введение
Язык Си - это универсальный язык программирования, для которого характерны экономичность выражения, современный набор операторов и типов данных.
Язык Си не является ни языком «очень высокого уровня», ни «большим» языком, и не предназначается для некоторой специальной области применения, но отсутствие ограничений и общность языка делают его для многих задач более удобным и эффективным, чем языки, предположительно более мощные.
В языке Си отсутствуют операции, имеющие дело непосредственно с составными объектами, такими как строки символов, множества, списки или с массивами, рассматриваемыми как целое. Язык не предоставляет никаких других возможностей распределения памяти, кроме статического определения и механизма стеков, обеспечиваемого локальными переменных функций.
Сам по себе язык Си не обеспечивает никаких возможностей ввода-вывода. Все эти механизмы высокого уровня должны обеспечиваться явно вызываемыми функциями.
Удержание языка в скромных размерах дает реальные преимущества. Так как Си относительно мал, он не требует много места для своего описания и может быть быстро выучен.
Курсовая работа является примером использования языка Си.
1. Правила игры
Крестики-нолики - логическая игра между двумя противниками на квадратном поле 3 на 3 клетки или большего размера (вплоть до «бесконечного поля»). Один из игроков играет «крестиками», второй - «ноликами».
Игроки по очереди ставят на свободные клетки поля 10х10 знаки (один всегда крестики, другой всегда нолики). Первый, выстроивший в ряд 5 своих фигур по вертикали, горизонтали или диагонали, выигрывает.
программный код логический игра
2. Реализация программного кода с комментариями
В программе используются библиотеки:
#include <stdio.h> // библиотека ввода-вывода
#include <conio.h> // библиотека функций общего назначения
#include <stdlib.h> // библиотека функций общего назначения
#include <time.h> // библиотека, содержащая типы и функции для работы с датой и временем
В начале кода игры приведены различные функции для упрощения реализации работы.
Функция, которая превращает число в нужный символ:
char IntConvertToChar(int value)
{
if(value>0)
return 'X';
if(value<0)
return 'O';
return ' ';
Функция, которая выводит игровое поле:
void PrintArr(int arr[][10])
{ int i,j,k;
printf("\n");
for(i=0;i<n;i++)
{
for(j=0;j<n-1;j++)
{
printf("%c|",IntConvertToChar(arr[i][j]));
}
printf("%c\n",IntConvertToChar(arr[i][n-1]));
if(i!=n-1)
{
for(k=0;k<n*2-1;k++)
{
printf("-");
}
printf("\n");
}
}
printf("\n");
}
Функция, которая реализует исполнение хода или передачу информации об ошибке:
int GoHod(int numberHoda,int arr[][10],int value)
{
int i = numberHoda/10;//получаем первую цифру
int j = numberHoda%10;//получаем вторую цифру
if(numberHoda > ((n-1) * 11)||numberHoda<0||j > (n - 1))//проверка на неправильность ввода координат
return -1;
if(arr[i][j] != 0)//проверка на занятое поле
return 0;
arr[i][j] = value;//записываем правильный ход
return 1;
}
Функция, реализующая ход компьютера:
int hodII(int arr[][10])
{
int ri=0,rj=0,sumaD1,sumaD2,i=0,j=0,sumaH=0,sumaV=0,numberCenter=n/2;
if(arr[numberCenter][numberCenter]==0)//если свободно ходим по центру
return numberCenter * 11;
for(i = 0;i < n;i++)
{
for(j = 0;j < n;j++)
{
if(arr[i][j] == -1)//навредить игроку
{
int value = Proverka(arr,i,j + 1,1,-1,0,0,1);//вправо
if(value!=0)
return value;
value = Proverka(arr,i + 1,j,1,-1,1,0,1);//вниз
if(value!=0)
return value;
value = Proverka(arr,i + 1,j + 1,1,-1,2,0,1);//по диагонали
if(value!=0)
return value;
}
else if(arr[i][j] == 1)//помочь себе
{
int value = Proverka(arr,i,j + 1,1,1,0,0,1);//вправо
if(value!=0)
return value;
value = Proverka(arr,i + 1,j,1,1,1,0,1);//вниз
if(value!=0)
return value;
value = Proverka(arr,i + 1,j + 1,1,1,2,0,1);//по диагонали
if(value!=0)
return value;
}
}
}
//если все другие варианты не подошли, выбираем любое свободное место
for(;;)
{
ri=rand()%n;
rj=rand()%n;
if(arr[ri][rj]==0)
return ri*10+rj;
}
}
int ProverkaByNapryam(int arr[][10],int i,int j,int number,int komp,int napryam,int propusk ,int SPropuskom)//используется для упрощения доступа к функции Proverka. Изменяет параметры согласно направлению
{
if(napryam == 0)
return Proverka(arr,i,j + 1,number,komp,napryam,propusk,SPropuskom);
if(napryam == 1)
return Proverka(arr,i + 1,j,number,komp,napryam,propusk,SPropuskom);
if(napryam == 2)
return Proverka(arr,i + 1,j + 1,number,komp,napryam,propusk,SPropuskom);
}
int Proverka(int arr[][10],int i,int j,int number,int komp,int napryam,int propusk ,int SPropuskom)//когда SPropuskom=0, тогда проверяет получается ли выиграшная линия, а когда SPropuskom=1, тогда проверяет почти заполненную линию из 4 символов, для хода компьютера
{
int resultEnd = 0;
if(j >= n ||i >= n || arr[i][j]==-1 * komp)
return 0;
if(SPropuskom == 1 && number == LengthOnViktory - 1)
{
if(arr[i][j] == 0)
return i*10 + j;
return 0;
}
if(arr[i][j] == komp)
{
if(SPropuskom == 0 && number == LengthOnViktory - 1)
{
if(arr[i][j] == komp)
return i*10 + j;
return 0;
}
return ProverkaByNapryam(arr,i,j,number + 1,komp,napryam,propusk,SPropuskom);
}
if(SPropuskom == 1)
{
if(propusk==1)
return 0;
resultEnd = ProverkaByNapryam(arr,i,j,number,komp,napryam,1,SPropuskom);
if(resultEnd==0)
return 0;
return i*10 + j;
}
return 0;
}
Функция проверяющая окончание пустых полей:
int TheEnd(int arr[][10])
{
int i,j,result=1;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
result*=arr[i][j];
}
}
return result;//если хотя бы одно место свободно (равно 0) - мы получаем 0, иначе все занято
}
Функция проверки на победу:
int Pobeda(int arr[][10])//проверка на победу
{
int i,j;
for(i = 0;i < n;i++)
{
for(j = 0;j < n;j++)
{
if(arr[i][j] == -1)//навредить игроку
{
int value = ProverkaByNapryam(arr,i,j,1,-1,0,0,0);//вправо
if(value!=0)
return -1;
value = ProverkaByNapryam(arr,i,j,1,-1,1,0,0);//вниз
if(value!=0)
return -1;
value = ProverkaByNapryam(arr,i,j,1,-1,2,0,0);//по диагонали
if(value!=0)
return -1;
}
else if(arr[i][j] == 1)//помочь себе
{
int value = ProverkaByNapryam(arr,i,j,1,1,0,0,0);//вправо
if(value!=0)
return 1;
value = ProverkaByNapryam(arr,i,j,1,1,1,0,0);//вниз
if(value!=0)
return 1;
value = ProverkaByNapryam(arr,i,j,1,1,2,0,0);//по диагонали
if(value!=0)
return 1;
}
}
}
return 0;
}
После описания всех функций приведена главная часть программы, в которой в соответствующих местах кода вызываются описанные ранее функции.
Следующий фрагмент кода осуществляет игровой процесс: выбор хода (игрок или компьютер), вывод игрового поля, поиск выигрышного ряда из 5 одинаковых знаков.
int main ()
{
int pervuyHodComp = 1;//переменная для выбора первого хода - [1] - компьютер, [-1] - игрок
int hod = 0;//переменная для записи координат ходов
int i,j;//переменные для работы в цикле
int result,pobeda = 0,theEnd = 0;//переменная для получения результата хода, флаг победы и флаг окончания игры - ничья
int arr[10][10] = { 0 };//массив поля
srand(time(0));//включение генератора случайных чисел
printf("Выберите кто ходит первым:\n[0] - игрок , [1] - компьютер \n");
scanf("%d",&pervuyHodComp);
if(pervuyHodComp!=1) pervuyHodComp = -1;
for(;;)//вечный цикл
{
system("cls");//очистка экрана
hod=0;
PrintArr(arr);//печать поля
if(pervuyHodComp==1)//если ходит компьютер
{
hod = hodII(arr);
}
else//если ходит игрок
{
scanf("%d", &hod);//ввод координат:первая цифра - номер строки, вторая цифра - номер столбца
}
result = GoHod(hod,arr,pervuyHodComp);//получаем результат хода
if(result == -1)
{
printf("\nНеправильный ввод!\n");
getch();//ожидание окончательного ввода
}
else if(result == 0)
{
printf("\nМесто уже занято!\n");
getch();//ожидание окончательного ввода
}
else
{
pervuyHodComp*=-1;//если ход прошел успешно, меняем того, кто будет ходить
}
pobeda = Pobeda(arr);//проверка на победу
theEnd = TheEnd(arr);//проверка на окончание пустых полей
if(pobeda!=0||theEnd!=0)//если одно из условий подходит
{
break;//заканчиваем игру
}
}
system("cls");//очистка экрана
PrintArr(arr);//печать поля
if(pobeda!=0)//если был выигрыш, то показываем кто выиграл
{
printf("\nПобедили - %c\n",IntConvertToChar(pobeda));
}
else//иначе говорим о ничьей
{
printf("\nНичья\n");
}
getch();//ожидание окончательного ввода
return 0;
}
3. Инструкция пользователя
Игра начинается таким образом: выводится меню, где играющему предлагается выбрать, кто будет ходить первым.
Рисунок 1 - Выбор хода (игрок или компьютер)
После выбора первого хода, на экране появляется игровое поле. Игроку предлагается ввести координаты его хода, после чего на экране появляется изображение поля, с только что расположенным в нём ноликом.
Рисунок 2 - Размещение ноликов в поле игроком
После того как игрок ввел все координаты начинается процесс игры между компьютером и игроком. Первый ход совершает либо игрок, либо компьютер, в зависимости от выбора. Далее необходимо ввести координаты, где первая цифра - номер строки, вторая цифра - номер столбца. После чего на экране появляется поле, с уже выполненным ходом игрока и с ходом компьютера вместе.
Рисунок 3 - Отображение ходов на поле
Игра продолжается до тех пор, пока кто-то из игроков не построит в ряд 5 знаков. В этом случае на экране отображается соответствующее сообщение об окончании игры.
Рисунок 4 - Конец игры
Заключение
Во время выполнения курсовой работы были получены основные навыки использования языка Си, создания игры с искусственным интеллектом, были освоены концепции и стратегии по созданию консольного приложения «Крестики-нолики», которое является результатом выполнения курсовой работы.
Литература
1. М. Уэит, С. Прата, Д. Мартин. Язык Си - Руководство для начинающих. Издательство: "Мир", 1998. 401 с.
2. Википедия. Свободная энциклопедия [Электронный ресурс] / Режим доступа: https://ru.wikipedia.org/wiki/Крестики-нолики
3. М. Ритчи. Язык программирования Си. Издание 3-е. 2001, 337 с.
Приложение А
Код программы
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
const int n = 10;
const int LengthOnViktory = 5;
char IntConvertToChar(int value)//превращает число в нужный символ
{
if(value>0)
return 'X';
if(value<0)
return 'O';
return ' ';
}
void PrintArr(int arr[][10])//печать поля
{
int i,j,k;
printf("\n");
for(i=0;i<n;i++)
{
for(j=0;j<n-1;j++)
{
printf("%c|",IntConvertToChar(arr[i][j]));
}
printf("%c\n",IntConvertToChar(arr[i][n-1]));
if(i!=n-1)
{
for(k=0;k<n*2-1;k++)
{
printf("-");
}
printf("\n");
}
}
printf("\n");
}
int GoHod(int numberHoda,int arr[][10],int value)//исполнить ход или передать информацию об ошибке
{
int i = numberHoda/10;//получаем первую цифру
int j = numberHoda%10;//получаем вторую цифру
if(numberHoda > ((n-1) * 11)||numberHoda<0||j > (n - 1))//проверка на неправильность ввода координат
return -1;
if(arr[i][j] != 0)//проверка на занятое поле
return 0;
arr[i][j] = value;//записываем правильный ход
return 1;
}
int ProverkaByNapryam(int arr[][10],int i,int j,int number,int komp,int napryam,int propusk ,int SPropuskom)
{
if(napryam == 0)
return Proverka(arr,i,j + 1,number,komp,napryam,propusk,SPropuskom);
if(napryam == 1)
return Proverka(arr,i + 1,j,number,komp,napryam,propusk,SPropuskom);
if(napryam == 2)
return Proverka(arr,i + 1,j + 1,number,komp,napryam,propusk,SPropuskom);
}
int Proverka(int arr[][10],int i,int j,int number,int komp,int napryam,int propusk ,int SPropuskom)//napryam 0 - вправо, 1 - вниз, 2 - по диагонали | komp : 1 - компьютер, -1 - игрок | propusk : 1 - был пропуск , 0 - не было пропуска | SPropuskom : 1 - использовать пропуск (для хода компьютера) , 0 - не использовать пропуск (для поиска победителя)
{
int resultEnd = 0;
if(j >= n || i >= n || arr[i][j]==-1 * komp)
return 0;
if(SPropuskom == 1 && number == LengthOnViktory - 1)
{
if(arr[i][j] == 0)
return i*10 + j;
return 0;
}
if(arr[i][j] == komp)
{
if(SPropuskom == 0 && number == LengthOnViktory - 1)
{
if(arr[i][j] == komp)
return i*10 + j;
return 0;
}
return ProverkaByNapryam(arr,i,j,number + 1,komp,napryam,propusk,SPropuskom);
}
if(SPropuskom == 1)
{
if(propusk==1)
return 0;
resultEnd = ProverkaByNapryam(arr,i,j,number,komp,napryam,1,SPropuskom);
if(resultEnd==0)
return 0;
return i*10 + j;
}
return 0;
}
{int hodII(int arr[][10])//ход компьютера
int ri=0,rj=0,sumaD1,sumaD2,i=0,j=0,sumaH=0,sumaV=0,numberCenter=n/2;
if(arr[numberCenter][numberCenter]==0)//если свободно ходим по центру
return numberCenter * 11;
for(i = 0;i < n;i++)
{
for(j = 0;j < n;j++)
{
if(arr[i][j] == -1)//навредить игроку
{
int value = Proverka(arr,i,j + 1,1,-1,0,0,1);//вправо
if(value!=0)
return value;
value = Proverka(arr,i + 1,j,1,-1,1,0,1);//вниз
if(value!=0)
return value;
value = Proverka(arr,i + 1,j + 1,1,-1,2,0,1);//по диагонали
if(value!=0)
return value;
}
else if(arr[i][j] == 1)//помочь себе
{
int value = Proverka(arr,i,j + 1,1,1,0,0,1);//вправо
if(value!=0)
return value;
value = Proverka(arr,i + 1,j,1,1,1,0,1);//вниз
if(value!=0)
return value;
value = Proverka(arr,i + 1,j + 1,1,1,2,0,1);//по диагонали
if(value!=0)
return value;
}
}
}
//если все другие варианты не подошли, выбираем любое свободное место
for(;;)
{
ri=rand()%n;
rj=rand()%n;
if(arr[ri][rj]==0)
return ri*10+rj;
}
}
int TheEnd(int arr[][10])//проверка на окончания пустых полей
{
int i,j,result=1;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
result*=arr[i][j];
}
}
return result;//если хотя бы одно место свободно (равно 0) - мы получаем 0, иначе все занято
}
int Pobeda(int arr[][10])//проверка на победу
{
int i,j;
for(i = 0;i < n;i++)
{
for(j = 0;j < n;j++)
{
if(arr[i][j] == -1)//навредить игроку
{
int value = ProverkaByNapryam(arr,i,j,1,-1,0,0,0);//вправо
if(value!=0)
return -1;
value = ProverkaByNapryam(arr,i,j,1,-1,1,0,0);//вниз
if(value!=0)
return -1;
value = ProverkaByNapryam(arr,i,j,1,-1,2,0,0);//по диагонали
if(value!=0)
return -1;
}
else if(arr[i][j] == 1)//помочь себе
{
int value = ProverkaByNapryam(arr,i,j,1,1,0,0,0);//вправо
if(value!=0)
return 1;
value = ProverkaByNapryam(arr,i,j,1,1,1,0,0);//вниз
if(value!=0)
return 1;
value = ProverkaByNapryam(arr,i,j,1,1,2,0,0);//по диагонали
if(value!=0)
return 1;
}
}
}
return 0;
}
int main ()
{
int pervuyHodComp = 1;//переменная для выбора первого хода - [1] - компьютер , [-1] - игрок
int hod = 0;//переменная для записи координат ходов
int i,j;//переменные для роботы в цикле
int result,pobeda = 0,theEnd = 0;//переменная для получения результата хода, флаг победы и флаг окончания игры - ничья
int arr[10][10] = { 0 };//массив поля
srand(time(0));//включение генератора случайных чисел
printf("Выберите кто ходит первым:\n[0] - игрок , [1] - компьютер \n");
scanf("%d",&pervuyHodComp);
if(pervuyHodComp!=1) pervuyHodComp = -1;
for(;;)//вечный цикл
{
system("cls");//очистка экрана
hod=0;
PrintArr(arr);//печать поля
if(pervuyHodComp==1)//если ходит компьютер
{
hod = hodII(arr);
}
else//Если ходит игрок
{
scanf("%d", &hod);//ввод координат: первая цифра - номер строки, вторая цифра - номер столбца
}
result = GoHod(hod,arr,pervuyHodComp);//получаем результат хода
if(result == -1)
{
printf("\nНеправильный ввод!\n");
getch();//ожидание окончательного ввода
}
else if(result == 0)
{
printf("\nМесто уже занято!\n");
getch();//ожидание окончательного ввода
}
else
{
pervuyHodComp*=-1;//если ход прошел успешно, меняем того, кто будет ходить
}
pobeda = Pobeda(arr);//проверка на победу
theEnd = TheEnd(arr);//проверка на окончания пустых полей
if(pobeda!=0||theEnd!=0)//если одно из условий подходит
{
break;//заканчиваем игру
}
}
system("cls");//очистка экрана
PrintArr(arr);//печать поля
if(pobeda!=0)//если был выигрыш, то показываем кто выиграл
{
printf("\nПобедили - %c\n",IntConvertToChar(pobeda));
}
else//иначе говорим о ничьей
{
printf("\nНичья\n");
}
getch();//ожидание окончательного ввода
return 0;
Размещено на Allbest.ru
...Подобные документы
Разработка популярной развлекательной игры крестики-нолики. Возможность играть с компьютером, который играет согласно созданному алгоритму. Новые возможности Visual Studio. Легкое усвоение программы. Удобный интерфейс - "визитная карточка" приложения.
курсовая работа [74,6 K], добавлен 20.12.2009Разработка программы логической игры в "крестики-нолики" пять в ряд на поле размера 15х15 клеток с применением графики на языке Pascal с использованием объектно-ориентированного программирования. Структура алгоритма программы и описание ее работы.
курсовая работа [821,5 K], добавлен 13.02.2012Проект программы "Крестики-нолики". Блок-схема алгоритма. Описание работы программного продукта. Инструкция по инсталляции. Инструкция программисту, возможность доработки с целью упрощения исполняемых кодов. Инструкция по проверке и тестированию.
курсовая работа [235,8 K], добавлен 05.12.2009Разработка алгоритма, выполняющего поиск наилучшего решения на каждый ход в игре "крестики-нолики" (используя минимальный алгоритм). Обоснование выбора программных средств для решения задачи. Блок-схема интеллектуального алгоритма реализации программы.
контрольная работа [380,0 K], добавлен 28.04.2014Общая характеристика языков программирования. Краткий обзор C, C++, Java, PHP, Python, Delphi и Visual Basic. Процесс разработки программы игра "Крестики и нолики" с помощью AppWizard. Компиляция и компоновка модулей, определение интерфейса приложения.
курсовая работа [2,5 M], добавлен 27.05.2014Разработка программы игры в крестики-нолики. Примеры игровой ситуации на игровом поле. Описание входных и выходных данных, переменных и функций программы. Реализация алгоритма работы программы на языке C++. Текст программы и примеры ее выполнения.
курсовая работа [352,8 K], добавлен 14.04.2011Знакомство с интерфейсом пользователя и сценарием использования программы игры в крестики и нолики. Функциональные и нефункциональные требования для персонального компьютера. Исключительные ситуации и реакция программы. Пример кода игры и комментарии.
курсовая работа [236,5 K], добавлен 27.01.2014Программный продукт для игры "Крестики-нолики". Описание пользовательского интерфейса. Факт базы данных, определяющий состояние счёта. Предикат изменяющий состояние игрового процесса и подсчитывающий количество занятых ячеек поля. Исходный код программы.
курсовая работа [34,6 K], добавлен 19.05.2014Разработка аналога игры "Крестики-нолики", где игроки выбирают размер поля. Правила игры. Интерфейс программы. Главная функция main. Класс XO. Метод вывода поля и хода игроков. Методы поиска крестиков, ноликов. Методы проверки выигрышных ситуаций игроков.
курсовая работа [281,5 K], добавлен 30.01.2018Разработка консольного приложения: описание и сценарий использования программы, интерфейс пользователя. Поэтапное описание создание кода компьютерной игры "Крестики нолики". Функциональные и нефункциональные требования, описание исключительных ситуаций.
методичка [819,6 K], добавлен 12.05.2013Технические и пользовательские характеристики игры, требования к программному обеспечению и среде разработки C#. Составление блок-схемы алгоритма, uml-диаграммы и текста программы, тестирование корректности компьютерного кода и результатов его работы.
курсовая работа [1,8 M], добавлен 05.03.2013Архитектура и тестирование программного комплекса. Описание реализованного протокола данных. Обработка входящих подключений. Работа пользовательского потока и потока отправки. Выбор языка программирования. Структура серверного и клиентского приложений.
курсовая работа [999,1 K], добавлен 20.12.2012Средства выделения и освобождения памяти. Динамические структуры данных. Связные линейные списки и их машинное представление. Структура одно- и двухсвязного списка. Реализация операций над связными линейными списками. Разработка программы на языке С++.
курсовая работа [944,7 K], добавлен 14.03.2015Анализ предметной области разрабатываемого программного продукта. Разработка интерфейса пользователя и структурной схемы игровой программы "Крестики-нолики". Отладка и тестирование. Проведение исследования компонентов программной среды Borland Delphi 6.0.
курсовая работа [660,4 K], добавлен 08.03.2015Проектирование интеллектуальной логической игры "Галочки-нолики". Описание составляющих программы. Объявление переменных, Command1 по Command18. Основные кнопки, проектирование и проверка работы таймеров. Руководство по использованию, тестирование.
контрольная работа [444,2 K], добавлен 17.04.2015Составление программы искусственного интеллекта в среде программирования Delphi 7, осуществляющую игру "крестики-нолики" с пользователем. Данная программа имеет возможность запоминания ходов и на основе них ходить так, чтобы не оказаться в проигрыше.
контрольная работа [787,7 K], добавлен 16.01.2011Обзор известных программ, которые выполняют аналогичные функции. Выбор инструментальных средств разработки. Проектирование пользовательского интерфейса и структур данных (во внешней и оперативной памяти). Выбор стандартных визуальных компонентов.
курсовая работа [1,1 M], добавлен 13.10.2015Многообразие мини-игр и возможности языка Visual basic 6.0 для их реализации. Понятие мини-игр и их классификация. Элементы управления мини-игры "Реверси". Разработка прикладной программы. Создание игрового интерфейса. Написание программного кода.
курсовая работа [1,5 M], добавлен 03.06.2014Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.
дипломная работа [1008,9 K], добавлен 13.10.2013Общие сведения и существующие среды реализации компьютерной игры "Лабиринт". Разработка алгоритмов в виде блок-схемы, принципы программной реализации игры. Особенности тестирования разработанного программного продукта. Аспекты эксплуатации продукта.
курсовая работа [1,4 M], добавлен 18.01.2017