Разработка программы логической игры "Быки и коровы"

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 17.02.2019
Размер файла 679,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

Введение

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

Правила игры «Быки и коровы».

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

«Быки» - это те цифры вашего числа, расположение которых поразрядно совпадает с цифрами загаданного числа;

«Коровы» - это те цифры вашего числа, которые присутствуют в загаданном числе, но находятся в другом месте.

Кто первый отгадает число, тот выиграл.

Язык программирования С - стандартизированный процедурный язык программирования, разработанный в 1969-1973 годах сотрудниками BellLabs Кеном Томпсоном и Деннисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX. С тех пор он был перенесён на многие другие операционные системы и стал одним из самых используемых языков программирования. Си ценят за его эффективность. Он является самым популярным языком для создания системного программного обеспечения. Целью данной работы является создание исходного кода игры «Быки и коровы» на языке C, который бы выполнял свои расчетные функции. Также игра должна отображать своевременно необходимую пользователю информацию.

1. Искусственный интеллект

Идея искусственного интеллекта.

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

Код программы:

while (f!=4){

for (i=0; i<4; i++){

num[i]+=1;

}

k++;

if (compare_bull(num, mas)== 1)

{

f++;

if (f==1)

{

num1[0]= num[0];

}

if (f==2)

{

num1[1]= num[1];

}

if (f==3)

{

num1[2]= num[2];

}

if (f==4)

{

num1[3]= num[3];

}

}

}

Во-вторых, образовавшийся массив сравниваем с загаданным числом. Здесь могут произойти 4 случая:

1) 4 быка, 0 коров - это означает, что компьютер отгадал число, игра окончена.

2) 2 быка, 2 коровы - запускается функция logic2x2(листинг 5, лист 1, 2).

3) 0 быков, 4 коровы - запускается функция logic0x4(листинг 5, лист 3-5).

4) 1 бык, 3 коровы - запускается функция logic1x3(листинг 5, лист 6-9).

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

2. Обзор исходного кода программы

Исходный код программы состоит из 1 файла «Game.c» с использованием 21 функцией.

int text() - функция отвечающая за текст правил игры.

void printNumber (int *n) - функция отвечающая за печать комбинации цифр.

void err (int *num) - функция отвечающая за правильность ввода пользователями значений.

int IfContains(int *mas) - функция отвечающая за проверку первоначального числа на повторение цифр.

void Random(int *mas) - функция отвечающая за генерацию случайного числа без повторения цифр для игроков.

void compare1 (int *num, int *mas) - функция сравнения введенного числа с загаданным, без печати этого числа.

void compare (int *num, int *mas) - функция сравнения введенного компьютером числа с загаданным, с печатью этого числа.

int compare_bull (int *num, int *mas) - функция сравнения чисел на наличие быков, с возвратом их количества.

int compare_cow (int *num, int *mas) - функция сравнения чисел на наличие коров, с возвратом их количества.

int logic2x2 (int *num, int *mas) - функция логики компьютера при ситуации 2 быка 2 коровы.

int logic0x4 (int *num, int *mas) - функция логики компьютера при ситуации 0 быка 4 коровы.

int logic1x3 (int *num, int *mas) - функция логики компьютера при ситуации 1 быка 3 коровы.

int logic ( int *mas) - функция логики компьютера.

void timeGame (int *num, int *mas) - функция условия продолжения игры для режима тренировки.

void timeGame2 (int *num1, int *mas1, int *num2, int *mas2) - функция условия продолжения игры человек против человека.

void timeGamePve (int *num, int *mas, int *mas2) - функция условия продолжения игры человек против компьютера.

void train () - функция игры в режиме тренировки.

void pvp() - функция игры человек против человека.

void pve()- функции игры человек против компьютера.

void ex() - функция выхода из игры.

int mainGame() - функция меню игры.

3. Пример работы программы

программный алгоритм код интерфейс

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

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

Рисунок 1 - Меню

После того, как пользователь нажмет клавишу «1», откроются правила игры предоставленные на рисунке 2

Рисунок 2 - Правила игры

Если пользователь нажмет на клавишу «2», то откроется режим тренировки, где сможет лучше познакомиться с методикой игры. Так же во всех режимах происходит проверка правильности написания числа.

Рисунок 3 - Режим тренировки

В режиме 2 игрока (рисунок 4) игра продолжается пока кто-либо не отгадает свое число.

Рисунок 4 - Режим человек против человека

После победы какого-либо игрока производится печать загаданных чисел.

Рисунок 5 - Победа игрока

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

Рисунок 6 - Режим человек против компьютера

В режиме человек против компьютера возможны различные варианты завершения игры: ничья (рисунок 7), победа пользователя (рисунок 6), победа компьютера (рисунок 8).

Рисунок 7 - Ничья

Рисунок 8 - Победа компьютера

Заключение

В приложении А содержится код программы. В данной работе был рассмотрен процесс программной реализации логической игры «Быки и коровы». Программа была реализована в консольном режиме с использованием языка С.

Разработанная программа отвечает всем требованиям, поставленным в условиях задания.

Программа была реализована на языке высокого уровня, что обеспечило максимальную эффективность ее работы.

Литература

1. Керниган, Брайн У., Ритчи, Деннис М. Язык программирования С, 2-е издание.: Пер. с англ. М.: Издательский дом «Вильямс», 2004. 288 с.

2. Керниган, Брайн У., Пайк, Роб. Практика программирования.: Пер. с дом «Вильямс», 2009. 304 с.

Приложение А

Листинг программы

#include <time.h>

#include <stdio.h>

#include <stdlib.h>

#include <windows.h>

HANDLE con_handle;

#pragma argsused

int text()// Правила игры

{

system("cls");

printf("Здравствуйте! Вы запустили игру Быки и Коровы.\n");

printf("\nПравила игры просты.\n");

printf("\nКомпьютер загадывает четырехзначное число, а вы должны угадать.\n");

printf("\nЦифры от 0 до 9 в числе не повторяются, при чем 0 может стоять на первом месте.\n");

printf("\nВы вводите свой вариант числа, компьютер сравнивает его с загаданным числом и выдает результат в виде Быков и Коров: \n");

printf("\nБык - цифра присутствует в загаданном числе и стоит на своем месте.\n");

printf("\nКорова - цифра присутствует в загаданном числе, но стоит не на своем месте.\n");

printf("\nВы анализируете результат и вводите следующий вариант и так далее пока не угадаете число.\n");

printf("\nЧисла вводите через пробел. Например:1 2 3 4 \n");

printf("\n\n\n");

printf("В данной игре представлены три варианта игры:\n");

printf("\n1 - Тренировка. Компьютер загадывает число, вы его отгадываете\n");

printf("\n2 - 2 игрока. Компьютер загадывает число для каждого игрока. Игра продолжается пока кто-либо не отгадывает свое число\n");

printf("\n3 - Человек против компьютера. \n");

printf("\n \n");

printf("\n1 - Меню игры \n");

printf("\n2 - Выход из игры \n");

int i_input;

i_input = getch();

switch (i_input)

{

case 49: mainGame(); break;

Листинг 2 - Меню игры, лист 1

}

system("cls");

}

void ex()//Выход из игры

{

system("cls");

printf("\nВы действительно хотите из игры? \n");

printf("\n1 - Вернуться в меню игры \n");

printf("\n2 - Выход из игры \n");

int i_input;

i_input = getch();

switch (i_input)

{

case 49: mainGame(); break;

}

system("cls");

}

int mainGame()//Меню игры

{

system("cls");

int a;

printf("\n * * * * * * * * * ** *\n");

printf("\n * * * * * * * ** * *\n");

printf("\n * * * * * * * * * * * * ** * *\n");

printf("\n * * * * * * * * * ** * *\n");

printf("\n * * * * * * * * * * * ** *\n");

printf("\n \n");

printf("\n * * * * * * * * * * * * * * * * * * *\n");

printf("\n * * * * * * * * * * * *\n");

printf("\n * * * * * * * * * * * * * * * * *\n");

printf("\n * * * * * * * * * * * *\n");

printf("\n * * * * * * * * * * * * * * * * * *\n");

printf("\n \n");

printf("\n1 - Правила игры \n");

printf("\n2 - Тренировка \n");

printf("\n3 - 2 игрока \n");

printf("\n4 - Человек против компьютера \n");

Листинг 2, лист 2

printf("\n5 - Выход \n");

int i_input;

i_input = getch();

switch (i_input)

{

case 49: text(); break;

case 50: train(); break;

case 51: pvp(); break;

case 52: pve(); break;

case 53: ex(); break;

}

}

main()

{

mainGame();

getch();

}

void printNumber (int *n)//функция печати комбинации цифр

{int i=0;

for(; i<4;i++){

printf("%i", n[i]);

}

printf("\n");

}

int IfContains(int *mas)// Проверка первоначального числа на повторение цифр

{

int i, j, f = 0;

for(i = 0; i < 4; i++){

for(j = 0; j < 4; j++){

if(mas[i] == mas[j] && i != j)

f++;

}

}

if(f) return 1;

else return 0;

}

void Random(int *mas)// Образование случайного числа, которое нужно отгадать

{

int i;

for(i = 0; i < 4; i++){

mas[i] = 0;

}

while(IfContains(mas)){

for(i = 0; i < 4; i++){

mas[i] = rand() % 10;

}

}

//printNumber(mas);

}

void compare1 (int *num, int *mas)// Функция сравнения чисел, вывод результата

{

int b=0, c=0, i,l,k;

for (l=0;l<4;l++){

for (k=0;k<4;k++){

if (num[k]==mas[l] && k!=l)

{

c++;

}

}

if (num[l]==mas[l])

{

b++;

}

}

printf("Быков - %i", b );

printf("Коров - %i \n", c);

printf("--------------------------------------------------------------------------------\n");

}

void compare (int *num, int *mas)// Функция сравнения чисел, вывод результата с печатью чисел

{

printNumber(num);

compare1(num, mas);

}

int compare_bull (int *num, int *mas)// Функция сравнения чисел на наличие быков

{

int bull=0, l;

for (l=0;l<4;l++){

if (num[l]==mas[l])

{

bull++;

}

}

return bull;

}

int compare_cow (int *num, int *mas)// Функция сравнения чисел на наличие коров

{

int cow=0,l,k;

for (l=0;l<4;l++){

for (k=0;k<4;k++){

if (num[k]==mas[l] && k!=l)

{

cow++;

}

}

}

return cow;

}

Листинг 4, лист 2

int logic2x2 (int *num, int *mas)//функция логики компьютера при ситуации 2 быка 2 коровы

{

int k, f=0;

if (compare_bull(num, mas) ==2 && compare_cow(num, mas) ==2)

{

k=num[0];

num[0]= num[1];

num[1]= k;

compare(num, mas);

f++;

if (compare_bull(num, mas) ==0 && compare_cow(num, mas) ==4)

{

k=num[0];

num[0]= num[1];

num[1]= k;

k=num[2];

num[2]=num[3];

num[3]=k;

compare(num, mas);f++;

}

if (compare_bull(num, mas) ==1 && compare_cow(num, mas) ==3)

{

k=num[0];

num[0]= num[1];

num[1]= k;

k=num[1];

num[1]=num[2];

num[2]=k;

compare(num, mas);f++;

if (compare_bull(num, mas) ==0 && compare_cow(num, mas) ==4)

{

k=num[1];

num[1]= num[2];

num[2]= k;

k=num[0];

num[0]=num[3];

num[3]=k;

Листинг 5 - Искусственный интеллект, лист 1

compare(num, mas);f++;

}

if (compare_bull(num, mas) ==1 && compare_cow(num, mas) ==3)

{

k=num[1];

num[1]= num[2];

num[2]= k;

k=num[1];

num[1]=num[3];

num[3]=k;

compare(num, mas);f++;

if (compare_bull(num, mas) ==0 && compare_cow(num, mas) ==4)

{

k=num[1];

num[1]= num[3];

num[3]= k;

k=num[0];

num[0]=num[2];

num[2]=k;

compare(num, mas);f++;

}

if (compare_bull(num, mas) ==1 && compare_cow(num, mas) ==3)

{

k=num[1];

num[1]= num[3];

num[3]= k;

k=num[1];

num[1]=num[3];

num[3]=k;

compare(num, mas);f++;

}

}

}

}

return(f);

}

Листинг 5, лист 2

int logic0x4 (int *num, int *mas)//функция логики компьютера при ситуации 0 быка 4 коровы

{

int k,f=0;

if (compare_bull(num, mas) ==0 && compare_cow(num, mas) ==4)

{

k=num[0];

num[0]= num[1];

num[1]= k;

k=num[2];

num[2]=num[3];

num[3]=k;

compare(num, mas);f++;

if (compare_bull(num, mas) ==0 && compare_cow(num, mas) ==4)

{

k=num[0];

num[0]= num[3];

num[3]= k;

k=num[1];

num[1]=num[2];

num[2]=k;

compare(num, mas);f++;

if (compare_bull(num, mas) ==0 && compare_cow(num, mas) ==4)

{

k=num[0];

num[0]= num[1];

num[1]= k;

k=num[2];

num[2]= num[3];

num[3]= k;

compare(num, mas);f++;

}

if (compare_bull(num, mas) ==2 && compare_cow(num, mas) ==2)

{

k=num[0];

num[0]= num[1];

num[1]= k;

Листинг 5, лист 3

compare(num, mas);f++;

if (compare_bull(num, mas) ==0 && compare_cow(num, mas) ==4)

{

k=num[0];

num[0]= num[1];

num[1]= k;

k=num[2];

num[2]=num[3];

num[3]=k;

compare(num, mas);f++;

}

}

}

if(compare_bull(num, mas) ==2 && compare_cow(num, mas) ==2)

{

k=num[0];

num[0]= num[2];

num[2]= k;

compare(num, mas);f++;

if (compare_bull(num, mas) ==0 && compare_cow(num, mas) ==4)

{

k=num[0];

num[0]= num[2];

num[2]= k;

k=num[1];

num[1]=num[3];

num[3]=k;

compare(num, mas);f++;

}

if (compare_bull(num, mas) ==1 && compare_cow(num, mas) ==3)

{

k=num[0];

num[0]= num[2];

num[2]= k;

Листинг 5, лист 4

k=num[1];

num[1]=num[3];

num[3]=k;

compare(num, mas);f++;

if (compare_bull(num, mas) !=4)

{

k=num[1];

num[1]= num[3];

num[3]= k;

k=num[1];

num[1]=num[2];

num[2]=k;

compare(num, mas);f++;

if (compare_bull(num, mas) !=4)

{

k=num[0];

num[0]= num[3];

num[3]= k;

k=num[1];

num[1]=num[2];

num[2]=k;

compare(num, mas);f++;

}

}

}

}

if (compare_bull(num, mas) ==1 && compare_cow(num, mas) ==3)

{

k=num[0];

num[0]= num[3];

num[3]= k;

k=num[0];

num[0]=num[3];

num[3]=k;

compare(num, mas);f++;

}

}

return(f);

}

Листинг 5, лист 5

int logic1x3 (int *num, int *mas)//функция логики компьютера при ситуации 1 быка 3 коровы

{

int k,f=0;

if (compare_bull(num, mas) ==1 && compare_cow(num, mas) ==3)

{

k=num[0];

num[0]= num[1];

num[1]= k;

compare(num, mas);f++;

if (compare_bull(num, mas) ==0 && compare_cow(num, mas) ==4)

{

k=num[0];

num[0]= num[1];

num[1]= k;

k=num[0];

num[0]=num[2];

num[2]=k;

compare(num, mas);f++;

if (compare_bull(num, mas) ==0 && compare_cow(num, mas) ==4)

{

k=num[0];

num[0]= num[2];

num[2]= k;

k=num[1];

num[1]=num[2];

num[2]=k;

k=num[2];

num[2]=num[3];

num[3]=k;

compare(num, mas);f++;

if (compare_bull(num, mas) !=4)

{

k=num[1];

num[1]= num[2];

num[2]= k;

k=num[2];

num[2]=num[3];

Листинг 5, лист 6

num[3]=k;

compare(num, mas);f++;

}

}

if (compare_bull(num, mas) ==2 && compare_cow(num, mas) ==2)

{

k=num[2];

num[2]= num[3];

num[3]= k;

compare(num, mas);f++;

if (compare_bull(num, mas) !=4)

{

k=num[2];

num[2]= num[3];

num[3]= k;

k=num[0];

num[0]=num[3];

num[3]=k;

compare(num, mas);f++;

}

}

}

if (compare_bull(num, mas) ==2 && compare_cow(num, mas) ==2)

{

k=num[0];

num[0]= num[2];

num[2]= k;

compare(num, mas);f++;

if (compare_bull(num, mas) !=4)

{

k=num[0];

num[0]= num[2];

num[2]= k;

k=num[0];

num[0]=num[3];

num[3]=k;

compare(num, mas);f++;

Листинг 5, лист 7

if (compare_bull(num, mas) !=4)

{

k=num[0];

num[0]= num[3];

num[3]= k;

k=num[1];

num[1]=num[2];

num[2]=k;

compare(num, mas);f++;

if (compare_bull(num, mas) !=4)

{

k=num[1];

num[1]= num[2];

num[2]= k;

k=num[1];

num[1]=num[3];

num[3]=k;

compare(num, mas);f++;

}

}

}

}

}

return(f);

}

int logic ( int *mas)//функция логики компьютера

{

int num1[4];

int num[4]= {-1,-1,-1,-1};

int bull, cow, k=1, f=0, i, j, h=0, r=0, l=0;

while (f!=4){

for (i=0; i<4; i++){

num[i]+=1;

}

k++;

if (compare_bull(num, mas)== 1)

{

f++;

if (f==1)

{

Листинг 5, лист 8

num1[0]= num[0];

}

if (f==2)

{

num1[1]= num[1];

}

if (f==3)

{

num1[2]= num[2];

}

if (f==4)

{

num1[3]= num[3];

}

}

}

compare(num1, mas);

h=logic2x2(num1, mas);

r=logic0x4(num1, mas);

l=logic1x3(num1, mas);

k+=h+r+l;

return(k);

}

void timeGame (int *num, int *mas)// Функция продолжения игры для тренировки

{

int g,j,i,f=0, b=0, a=0;

SetConsoleTextAttribute(con_handle,((0 << 4) | 15));

printf("\nРежим игры тренировки\n\n");

printf("Числа игроков");

printf("Результат действия\n");

for (i=0; i<4; i++){

while (mas[i] != num[i]){

SetConsoleTextAttribute(con_handle,((0 << 4) | 10));

for(j=0;j<4;j++){

scanf("%i", &num[j]);

}

err(num);

compare1(num, mas);

}

if (num[i]==mas[i])

f++;

}

if (f==4)

printf("Победа!\n");

}

void err (int *num)//Функция проверки правильности ввода

{

int i, flag=0;

for (i=0; i<4; i++){

if (num[i]>9 || num< 0)

flag++;

}

if (flag!=0)

{

printf("\nНе корректный ввод\n");

for (i=0; i<4; i++){

scanf("%i", &num[i]);

}

err(num);

}

}

void timeGame2 (int *num1, int *mas1, int *num2, int *mas2)// Функция продолжения игры человек против человека

{

int g,j,i,f=0, b=0, a=0;

SetConsoleTextAttribute(con_handle,((0 << 4) | 15));

printf("\nРежим игры человек против человека\n\n");

printf("Числа игроков");

printf("Результат действия\n");

for (i=0; i<4; i++){

while (mas1[i] != num1[i] && mas2[i]!= num2[i]){

if ((b+1)%2==0)

{SetConsoleTextAttribute(con_handle,((10 << 4) | 1));

printf("Ходит игрок №2 \n");

SetConsoleTextAttribute(con_handle,((0 << 4) | 10));

for(j=0;j<4;j++){

scanf("%i", &num2[j]);

}

err(num2);

compare1(num2, mas2);

}

else

{

SetConsoleTextAttribute(con_handle,((13 << 4) | 1));

printf("Ходит игрок №1 \n");

SetConsoleTextAttribute(con_handle,((0 << 4) | 13));

for (g=0; g<4; g++){

scanf("%i", &num1[g]);

}

err(num1);

compare1(num1, mas1);

}

b++;

}

if (num1[i]==mas1[i])

f++;

if (num2[i]== mas2[i])

a++;

}

if (f==4)

printf("Победил игрок №1 \n");

if (a==4)

printf("Победил игрок №2 \n");

}

Листинг 7 - Условие для продолжения игры в режиме 2 игрока

void timeGamePve (int *num, int *mas, int *mas2)// Функция продолжения игры человек против компьютера

{

int j,i,h=0,f=0;

SetConsoleTextAttribute(con_handle,((10 << 4) | 1));

printf("\nХоды игрока\n");

SetConsoleTextAttribute(con_handle,((0 << 4) | 10));

for (i=0; i<4; i++){

while (mas[i] != num[i]){

for(j=0;j<4;j++){

scanf("%i", &num[j]);

}

err(num);

compare1(num, mas);

f++;

}

}

SetConsoleTextAttribute(con_handle,((13 << 4) | 1));

printf("\nХоды компьютера\n");

SetConsoleTextAttribute(con_handle,((0 << 4) | 13));

h = logic(mas2);

SetConsoleTextAttribute(con_handle,((0 << 4) | 15));

printf("Количество ходов совершенные человеком:\n");

printf("%i \n", f);

printf("Количество ходов совершенные компьютером:\n");

printf("%i \n", h);

if (f < h)

{SetConsoleTextAttribute(con_handle,((10 << 4) | 1));

printf("\nВы победили\n");

SetConsoleTextAttribute(con_handle,((10 << 4) | 15));

}

if (f > h)

{SetConsoleTextAttribute(con_handle,((13 << 4) | 1));

printf("\nКомпьютер победил\n");

SetConsoleTextAttribute(con_handle,((10 << 4) | 13));

}

if (f == h)

{SetConsoleTextAttribute(con_handle,((11 << 4) | 1));

printf("\nНичья\n");

SetConsoleTextAttribute(con_handle,((10 << 4) | 11));

}

}

Листинг 8 - Условие для продолжения игры в режиме против компьютера

void train ()// Функция режима тренировки

{

system("cls");

con_handle = GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(con_handle,((0 << 4) | 15));

int mas[4];

int num[4];

srand(time(NULL));

Random(mas);

timeGame(num, mas);

SetConsoleTextAttribute(con_handle,((0 << 0) | 15));

printf("\n \n");

printf("\n1 - Меню игры \n");

printf("\n2 - Выход из игры \n");

int i_input;

i_input = getch();

switch (i_input)

{

case 49: mainGame(); break;

}

system("cls");

}

void pvp()//Игра человек против человека

{

system("cls");

con_handle = GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(con_handle,((0 << 4) | 15));

int mas1[4];

int num1[4];

int mas2[4];

int num2[4];

srand(time(NULL));

Random(mas1);

Random(mas2);

timeGame2(num1,mas1,num2,mas2);

SetConsoleTextAttribute(con_handle,((0 << 0) | 15));

printf("\nЧисло загаданное для игрока №1: \n");

printNumber(mas1);

printf("\nЧисло загаданное для игрока №2: \n");

printNumber(mas2);

printf("\n \n");

printf("\n1 - Меню игры \n");

printf("\n2 - Выход из игры \n");

int i_input;

i_input = getch();

switch (i_input)

{

case 49: mainGame(); break;

}

system("cls");

}

void pve()//Игра человек против компьютера

{

system("cls");

con_handle = GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(con_handle,((0 << 4) | 15));

int num[4];

int mas[4];

int mas2[4];

srand(time(NULL));

Random(mas);

Random(mas2);

printf("\nЧисло загаданное для компьютера\n");

printNumber(mas2);

timeGamePve(num, mas, mas2);

SetConsoleTextAttribute(con_handle,((0 << 0) | 15));

printf("\nЧисло загаданное для игрока \n");

printNumber(mas);

printf("\nЧисло загаданное для компьютера\n");

printNumber(mas2);

printf("\n \n");

printf("\n1 - Меню игры \n");

printf("\n2 - Выход из игры \n");

int i_input;

i_input = getch();

switch (i_input)

{

case 49: mainGame(); break;

}

system("cls");

}

Размещено на Allbest.ru

...

Подобные документы

  • Применение программного обеспечения для разработки игры "Быки и коровы". Описание алгоритма и интерфейса пользователя программы. Назначение и область применения и описание возможностей программы. Рассмотрение списка сообщений об ошибках программы.

    курсовая работа [799,2 K], добавлен 26.04.2021

  • Исследование спецификации логической игры "Сапёр". Системное и функциональное проектирование приложения. Разработка программных модулей. Обзор классов, необходимых для создания интерфейса данного приложения. Инструменты для реализации логической игры.

    курсовая работа [1,2 M], добавлен 13.01.2016

  • Разработка программы логической игры в "крестики-нолики" пять в ряд на поле размера 15х15 клеток с применением графики на языке Pascal с использованием объектно-ориентированного программирования. Структура алгоритма программы и описание ее работы.

    курсовая работа [821,5 K], добавлен 13.02.2012

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

    курсовая работа [1,1 M], добавлен 17.10.2012

  • Разработка программы "Сапер", удовлетворяющей необходимым требованиям эффективности в интегрированной среде программирования Microsoft Visual C++. Специфика создания Windows-приложений. Применение логической игры для развития интереса к обучению у детей.

    курсовая работа [511,1 K], добавлен 01.06.2013

  • Реализация основных алгоритмических структур. Усеченный условный оператор и оператор exit. Цикл с параметром (счетный цикл). Распечатка таблиц функций. Средства разработки программ на языке Free Pascal. Разработка игрового приложения "Быки и коровы".

    курсовая работа [1,9 M], добавлен 23.12.2015

  • Особенности программирования аркадных игр в среде Python. Краткая характеристика языка программирования Python, его особенности и синтаксис. Описание компьютерной игры "Танчики" - правила игры, пояснение ключевых строк кода. Демонстрация работы программы.

    курсовая работа [160,3 K], добавлен 03.12.2014

  • Приемы программирования в Delphi. Алгоритм поиска альфа-бета отсечения, преимущества. Описание программного средства. Разработка программы, реализующая алгоритм игры "реверси". Руководство пользователя. Листинг программы. Навыки реализации алгоритмов.

    курсовая работа [357,1 K], добавлен 28.02.2011

  • Знакомство с интерфейсом пользователя и сценарием использования программы игры в крестики и нолики. Функциональные и нефункциональные требования для персонального компьютера. Исключительные ситуации и реакция программы. Пример кода игры и комментарии.

    курсовая работа [236,5 K], добавлен 27.01.2014

  • Обоснование необходимости разработки программы для игры "Тетрис". Математическая и графическая части алгоритма. Выбор языка и среды программирования. Отладка текста программы, разработка интерфейса пользователя. Тестирование, руководство пользователя.

    курсовая работа [1,5 M], добавлен 17.01.2011

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

    курсовая работа [1,8 M], добавлен 06.01.2017

  • Разработка и создание игры "Змейка". Использование динамически-активных принципов языка Java. Графические объекты программы. Описание игры, правила, теоретические сведения. Классы приложения. Типы данных. Реализация. Метод. Объект. Блок-схема игры.

    курсовая работа [12,4 K], добавлен 18.06.2008

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

    курсовая работа [354,8 K], добавлен 02.03.2014

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

    курсовая работа [501,4 K], добавлен 07.12.2016

  • Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.

    дипломная работа [1008,9 K], добавлен 13.10.2013

  • Анализ правил выбора хода на шахматной доске К. Шеннона. Характеристика программного модуля искусственного интеллекта для игры в шахматы. Контроль времени, поиск лучшего хода в шахматных алгоритмах. Разработка программы для игры с компьютерным оппонентом.

    дипломная работа [3,7 M], добавлен 07.07.2012

  • Технические и пользовательские характеристики игры, требования к программному обеспечению и среде разработки C#. Составление блок-схемы алгоритма, uml-диаграммы и текста программы, тестирование корректности компьютерного кода и результатов его работы.

    курсовая работа [1,8 M], добавлен 05.03.2013

  • Описание языка программирования Java: общие характеристики, главные свойства, краткий обзор. Надежность и безопасность, производительность и базовая система программы. Разработка программы поиска по словарю, алгоритм её работы. Общий вид кода программы.

    курсовая работа [20,3 K], добавлен 28.10.2012

  • Разработка игры "Экзамен" с применением объектно-ориентированного программирования и языка Java (в среде Eclipse Helios). Структура программы и алгоритм решения задачи. Описание методов и переменных. Экспериментальное тестирование и оценка программы.

    курсовая работа [122,5 K], добавлен 19.05.2011

  • Анализ информационно-поисковых систем автоматизации производства. Построение инфологической и логической модели базы данных технологического оборудования для сборочно-монтажных работ. Выбор языка программирования приложения БД. Алгоритм работы программы.

    дипломная работа [2,5 M], добавлен 18.12.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.