Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2010, 22:57   #11
Grenade
Пользователь
 
Аватар для Grenade
 
Регистрация: 03.03.2010
Сообщений: 38
По умолчанию

Ну, в принципе, ради примера игры - не так уж и плохо. Можно, конечно, что-то доработать, а так очень даже ничего для первого опыта в Borland С++.
Grenade вне форума Ответить с цитированием
Старый 15.03.2010, 16:09   #12
Espons
Новичок
Джуниор
 
Регистрация: 15.03.2010
Сообщений: 1
По умолчанию

Привет Программистам. у меня задание написать простую игру в крестики нолики без глюков. Есть что то, но он с косяками, т.е с ошибками, при проигрыше и выигрыше прога вылетает, ничего не выдает. Поправьте меня плиз, что не так тут написано. Или может у вас есть какой нить код игры рабочий под DOS. Буду очень благодарен. p.s как написать меню к этой игре. Состоящая из 1) Игра 2) Справка 3) Выход 4) об Игре.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int POLE[3][3] = {{0,0,0},
{0,0,0},
{0,0,0}};
int win()
{
if(POLE[0][0] == POLE[0][1] && POLE[0][1] == POLE[0][2])
return POLE[0][0];
if(POLE[1][0] == POLE[1][1] && POLE[1][1] == POLE[1][2])
return POLE[1][0];
if(POLE[2][0] == POLE[2][1] && POLE[2][1] == POLE[2][2])
return POLE[2][0];

if(POLE[0][0] == POLE[1][0] && POLE[1][0] == POLE[2][0])
return POLE[0][0];
if(POLE[0][1] == POLE[1][1] && POLE[1][1] == POLE[2][1])
return POLE[0][1];
if(POLE[0][2] == POLE[1][2] && POLE[1][2] == POLE[2][2])
return POLE[0][2];

if(POLE[0][0] == POLE[1][1] && POLE[1][1] == POLE[2][2])
return POLE[0][0];
if(POLE[0][2] == POLE[1][1] && POLE[1][1] == POLE[2][0])
return POLE[0][2];
}

void print()
{
int i, j;
for(i=0; i<3; i++)
{
for(j=0; j<3; j++)
{
switch (POLE[i][j])
{
case -1:
printf("%c ", 'x');
break;
case 1:
printf("%c ", '0');
break;
case 0:
printf("%c ", '*');
break;
default:
printf("OSIBKA, V MASSIVE NE OPOZNANII SIMVOL\n");
break;
}
}
printf("\n");
}
}
int main()
{
int x, y, w;
// Компьютер крестиками, игрок ноликами;
int comp = -1, player = 1;

srand(time(0));

printf("DOBRO POGALOVAT\n\n");
do
{
printf("VASH HOD (x, y):\n\n");

scanf("%d %d", &x, &y);
if(x>3 || y>3 || x<1 || y < 1)
{
printf("VI VVELI NE PRAVILNYE KOORDINATI\n");
continue;
}

if(POLE[y-1][x-1] != player && POLE[y-1][x-1] != comp)
{
POLE[y-1][x-1] = player;
print();
}
else
{
printf("SUDA XODIT NELZA\n");
continue;
}

w = win();
if(w==-1)
{
printf("POBEDIL COMPUTER!\n");
return 0;
}

if(w==1)
{
printf("VI POBEDILI\n");
return 0;
}

// теперь ход компьютера;
printf("XOD COMPUTERA\n");
do
{
do
{
y = rand() % 10;
}while(y<1 || y > 3);
do
{
x = rand() % 10;
}while(x<1 || x > 3);

}while(POLE[y-1][x-1] == player || POLE[y-1][x-1] == comp);

POLE[y-1][x-1] = comp;

print();

w = win();
if(w==-1)
{
printf("POBEDIL COMPUTER!\n");
return 0;
}

if(w==1)
{
printf("VI POBEDILI\n");
return 0;
}
}while(1);
return 0;
}

Последний раз редактировалось Espons; 15.03.2010 в 16:57.
Espons вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
крестики нолики aesoem Общие вопросы Delphi 11 12.06.2011 11:32
Крестики - Нолики Иваненко Помощь студентам 6 09.05.2008 22:09
x_O Крестики-нолики by -ORTODOX- Общие вопросы Delphi 1 10.03.2008 19:03
Еще раз крестики - нолики. Иваненко Помощь студентам 2 17.12.2007 20:09