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

Крестики нолики, нужно немного дописать - C++

Восстановить пароль Регистрация
 
vladislavchik
0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 16
10.12.2013, 00:30     Крестики нолики, нужно немного дописать #1
Помогите пожалуйста. Нужно дописать код что бы пользователь не смог вводить уже введенное(выбранное). Если выбрали нолик, то туда уже нельзя поставить крестик.
Помогите пожалуйста, заранее огромное спасибо. не понимаю как доделать((


#include <iostream>
using namespace std;
void main()
{
setlocale( LC_ALL,"");

char a1='1', a2='2', a3='3', a4='4', a5='5', a6='6', a7='7', a8='8', a9='9';
char m;
int p;
int i=1;
bool b1, b2, b3, b4, b5, b6, b7, b8;

do {
cout<<"-------------\n";
cout<<"| | | | \n";
cout<<"| "<<a1<<" | "<<a2<<" | "<<a3<<" | \n";
cout<<"| | | | \n";
cout<<"-------------\n";
cout<<"| | | | \n";
cout<<"| "<<a4<<" | "<<a5<<" | "<<a6<<" | \n";
cout<<"| | | | \n";
cout<<"-------------\n";
cout<<"| | | | \n";
cout<<"| "<<a7<<" | "<<a8<<" | "<<a9<<" | \n";
cout<<"| | | | \n";
cout<<"-------------\n";

if (i%2) { m='x';
cout<<"Введите позицию для : "<<m;
cin>>p;
}
else
{ m='0';
cout<<"Введите позицию для : "<<m;
cin>>p;
}
switch (p){
case 1: a1=m; break;
case 2: a2=m; break;
case 3: a3=m; break;
case 4: a4=m; break;
case 5: a5=m; break;
case 6: a6=m; break;
case 7: a7=m; break;
case 8: a8=m; break;
}
b1=a1==a2&&a2==a3;
b2=a4==a5&&a5==a6;
b3=a7==a8&&a8==a9;
b4=a1==a4&&a4==a7;
b5=a2==a5&&a2==a8;
b6=a3==a6&&a2==a9;
b7=a1==a5&&a2==a9;
b8=a3==a5&&a2==a7;
if (b1||b2||b3||b4||b5||b6||b7||b8) break;



i++;

} while(i<10);

if(i<10)
cout<<"Победа для : "<<m;
else
cout<<"Ничья для : "<<m;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2013, 00:30     Крестики нолики, нужно немного дописать
Посмотрите здесь:

Крестики-нолики C++
C++ Крестики-нолики
Крестики нолики C++
C++ Крестики нолики
Нужно создать игру крестики-нолики с неограниченным полем, что выбрать для работы с графикой и окнами? C++
Крестики нолики C++
Крестики-нолики C++
C++ Крестики нолики 10 на 10

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MyBestDream
 Аватар для MyBestDream
3 / 3 / 1
Регистрация: 24.12.2012
Сообщений: 23
10.12.2013, 01:01     Крестики нолики, нужно немного дописать #2
Во первых - прочитайте, что такое массивы.
Если вы хотите изучать программирование, это вам нужно обязательно, если просто хотите получить зачет - поверьте, в таком виде ваш преподаватель вряд ли примет эту задачу (отправит... читать про массивы )
А по поводу проверки: там, где у вас непосредственно присваивается ячейке поля "Х" или "0", добавьте дополнительную проверку, типа "Если в данной ячейке уже стоит Х или 0, вывести ошибку и не менять её".
uhx
 Аватар для uhx
56 / 56 / 6
Регистрация: 11.07.2013
Сообщений: 300
10.12.2013, 01:08     Крестики нолики, нужно немного дописать #3
Цитата Сообщение от MyBestDream Посмотреть сообщение
Во первых - прочитайте, что такое массивы.
Если вы хотите изучать программирование, это вам нужно обязательно, если просто хотите получить зачет - поверьте, в таком виде ваш преподаватель вряд ли примет эту задачу (отправит... читать про массивы )
А по поводу проверки: там, где у вас непосредственно присваивается ячейке поля "Х" или "0", добавьте дополнительную проверку, типа "Если в данной ячейке уже стоит Х или 0, вывести ошибку и не менять её".
Да уж... полностью согласен с постом выше, почитайте про массивы.
Yandex
Объявления
10.12.2013, 01:08     Крестики нолики, нужно немного дописать
Ответ Создать тему
Опции темы

Текущее время: 21:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru