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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2010, 11:05   #1
neformalblack
 
Регистрация: 14.04.2010
Сообщений: 5
По умолчанию крестики нолики

вобшем мне задали зделать прграму по визула С++ 2008
задача заключаеться в том чтобы зделать игру керситки нолики.Где крестик это я -игрок ,а нолики- компьютер.
Я зделал почти всю програму осталась недолго но у мя такие вот проблемы и прошу их помочь мне решить
1. Я зедлала так что игра крестики нолики(3х3) пока что работает ткоа крестик я.При нажатие нум пада от 1 до 9 ставитсья там или там крестик в зависимости от цифри. у мя почемуто неставиься крестик тока в 2, 5, и 8.Немогу понять почему прошу помочь.
2.Мне нада зделать чтобы нолик (компьюетр) ходил , причем так чтобы не пытался компютер пойти на то место, де я поставил уже крестик.
Вот и все что у мя вышло. вылажую код всей проограмы. плиз помогите.


Код:
#include <iostream>
#include <windows.h>
#include <ctime>
#include <cstdlib>
#include <conio.h>
using namespace std; 

const int NumPad9 =57;
const int NumPad8 =56;
const int NumPad7 =55;
const int NumPad6 =52;
const int NumPad5 =53;
const int NumPad4 =54;
const int NumPad3 =51;
const int NumPad2 =50;
const int NumPad1 =49;
const int keyEnter = 13; // "Enter"
const int keyQuit = 'q'; // "Quit"

const int S = 3, R = 11, C = 11;
char data[S][S]={ ' ',' ',' ', 
' ',' ',' ', 
' ',' ',' ' };


char sudoku[R][C]= {' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ',
' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ',
' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ',
'-','-','-','+','-','-','-','+','-','-','-',
' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ',
' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ',
' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ',
'-','-','-','+','-','-','-','+','-','-','-',
' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ',
' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ',
' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ',};
void gotoxy(int x, int y)
{
COORD coord = {x, y};
HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(h, coord);
}

void print(short x, short y)
{
int i, j;
for(i=0; i<R; i++)
{ 
for(j=0; j<C; j++)
{ 
gotoxy(x+j, y+i); 
cout<<sudoku[i][j];
} 
}
for(i=0; i<S; i++)
{ 
for(j=0; j<S; j++)
{ 
gotoxy(x+j*5, y+1+i*4);
cout<<data[i][j];
}
}
cout<<'\n'; 
}

void main()
{

char S[R][C];
char krestik = (char)88, nolik = (char)79;
int menu=1;
short x=10, y=5;
print(x, y);


while(true)
{
print(x, y);


int c = _getch(); 

if(c==keyEnter)
{
system("cls");
cout<<"keyEnter press\n";
}
else if(c==keyQuit)
{
system("cls");
cout<<"key q press\n";
return;
}
else if(c==NumPad9)
{

sudoku[1][9]='X';
}
else if(c==NumPad8)
{
sudoku[1][5]='X';
}

else if(c==NumPad7)
{

sudoku[1][1]='X';
}


else if(c==NumPad6)
{

sudoku[5][1]='X';
}

else if(c==NumPad5)
{

sudoku[5][5]='X';
}

else if(c==NumPad4)
{

sudoku[5][9]='X';
}

else if(c==NumPad3)
{

sudoku[9][9]='X';
}

else if(c==NumPad2)
{

sudoku[9][5]='X';
}

else if(c==NumPad1)
{

sudoku[9][1]='X';
}

}

}

{если нужно показывать длинные куски кода, лучше сразу крепите исходник (расширенный режим)}

Последний раз редактировалось Beermonza; 17.04.2010 в 16:16.
neformalblack вне форума Ответить с цитированием
Старый 17.04.2010, 11:07   #2
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

занеси свой код в тег CODE
NiCola999 вне форума Ответить с цитированием
Старый 17.04.2010, 11:35   #3
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

поле это массив три на три, скажем инт, всезде 0. Если ходит крести то ставиться 1, если ходться нолик, то ставится 2. Ходить можно только в поля где находиться 0 (генерируем, проверяем ставим... ну или дальше проверяем)
dampirik вне форума Ответить с цитированием
Старый 18.04.2010, 19:04   #4
neformalblack
 
Регистрация: 14.04.2010
Сообщений: 5
По умолчанию

спасибо ребят
neformalblack вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Крестики - Нолики на С# RaTyS Фриланс 3 28.11.2011 23:11
Крестики-нолики ROD Gamedev - cоздание игр: Unity, OpenGL, DirectX 21 12.02.2011 00:15
Крестики-нолики mish@ Общие вопросы Delphi 6 07.05.2009 11:01
Крестики-Нолики. oblachko Помощь студентам 5 23.01.2009 19:32
КРЕСТИКИ-НОЛИКИ oblachko Паскаль, Turbo Pascal, PascalABC.NET 1 17.01.2009 22:21