Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Крестики-нолики - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Глобальные переменные http://www.cyberforum.ru/cpp-beginners/thread932271.html
Подскажите пожалуйста, почему данные в глобальной переменной перезаписываются, а не плюсуются? Пример: int peremennaya; void foo(); void main() { char ans;
C++ Не использовать имя класса при его реализации Из-за того, что не смог грамотно сформулировать свой вопрос, не нашел ничего в гугле :( Поэтому объясню на примере: Допустим, есть некий класс Example, объявление которого заключено в заголовочный... http://www.cyberforum.ru/cpp-beginners/thread932270.html
C++ Указатель,объект класса размещенный в динамической памяти
Ребят,такой маленький нелепый вопрос. Как можно обратиться к объекту класса созданному в динамической памяти(через "new")?; В моей книге описано два способа. Первый ,к примеру вот #include...
Шаблон класса complex. Ошибка undefined reference to `complex<double>::SetRe(double)' C++
Есть такой файл complex.h #ifndef COMPLEX_H #define COMPLEX_H template<class Type> class complex{ public: Type Re; Type Im; complex(Type re = 0, Type im = 0):Re(re),Im(im){}
C++ Перехват значений параметров шаблона http://www.cyberforum.ru/cpp-beginners/thread932253.html
Вопрос, собственно, в развитие этой темы - http://www.cyberforum.ru/cpp-beginners/thread930128.html Есть вот такой код: namespace spec { template <int... Idx> struct index { }; ...
C++ OpenGL для новичка Всем привет. Никак не могу найти книгу по OpenGL и C++, хотя нет, вру, находил. Но они так сказать далеко не первой свежести. Я хотел бы написать змейку (в консоле с графикой), и вот думаю... подробнее

Показать сообщение отдельно
dima55501
30 / 34 / 6
Регистрация: 14.07.2013
Сообщений: 146

Крестики-нолики - C++

01.08.2013, 22:52. Просмотров 1358. Ответов 16
Метки (Все метки)

Добрый вечер. Хочу попробовать написать свои крестики-нолики. Игру еще не дописал, но уже появилась следующая проблема. По идее, если я ввожу координаты 1 4 или 2 4, то должно вывести сообщение о неправильном вводе, на деле же символ просто переносится на следующую строку. В чем проблема?

Код
#pragma warning(disable:4996);
#include <iostream>
#include <conio.h>

using namespace std;

char matrix[3][3];

void init_matrix(); // инициализация матрицы
void display_matrix(); // нарисовать матрицу
void get_player_move(); // получить координаты
bool is_nothing(int, int); // проверить координаты

int main()
{
	setlocale(LC_ALL, "Russian");
	init_matrix();
	for (;;)
	{
		system("cls");
		display_matrix();
		get_player_move();
	}
	system("pause");
	return 0;
}

void init_matrix()
{
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			matrix[i][j] = ' ';
		}
	}
}

void display_matrix()
{
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			cout << matrix[i][j] << ' ';
		}
		cout << endl;
	}
}

void get_player_move()
{
	int x, y;
	cout << "Введите координаты: ";
	cin >> x >> y;
	if (is_nothing(x, y)) // проверяем верны ли координаты
	{
		matrix[--x][--y] = 'X';
	}
	else
	{
		cout << "Неверный ход. " << endl;
		get_player_move(); // запрашиваем координаты еще раз
	}
}

bool is_nothing(int x, int y)
{
	return (matrix[--x][--y] == ' ') ? true : false; 
}
Добавлено через 1 минуту
И сразу же такой вопрос. Может кто нибудь натолкнет на мысль, как лучше было бы создать "интеллект" для компа, чтобы не просто рандомно тыкал 0.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru