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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vladislavchik
0 / 0 / 0
Регистрация: 07.10.2013
Сообщений: 16
#1

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

10.12.2013, 00:30. Просмотров 257. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста. Нужно дописать код что бы пользователь не смог вводить уже введенное(выбранное). Если выбрали нолик, то туда уже нельзя поставить крестик.
Помогите пожалуйста, заранее огромное спасибо. не понимаю как доделать((


#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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2013, 00:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Крестики нолики, нужно немного дописать (C++):

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

Крестики нолики - C++
Доброго времени суток, недавно я решил написать игру крестики нолики, написал, но код в ~1300 строк, что очень много, в коде много похожих...

Крестики нолики - C++
Доброго времени суток, недавно, я решил написать программу Крестики нолики, опираясь на свои знания в С++, но при компиляции кода...

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

Крестики-нолики - C++
Ребят! Как сделать проверку на занятость квадратика? #include &lt;iostream&gt; using namespace std; int BoardSquare(int array) ...

Крестики нолики - C++
Привет всем! Пишу крестики нолики в консоли и проблема вот в чем: нарисовал само поле, и нужно при вводе координат определенного участка...

2
MyBestDream
3 / 3 / 1
Регистрация: 24.12.2012
Сообщений: 23
10.12.2013, 01:01 #2
Во первых - прочитайте, что такое массивы.
Если вы хотите изучать программирование, это вам нужно обязательно, если просто хотите получить зачет - поверьте, в таком виде ваш преподаватель вряд ли примет эту задачу (отправит... читать про массивы )
А по поводу проверки: там, где у вас непосредственно присваивается ячейке поля "Х" или "0", добавьте дополнительную проверку, типа "Если в данной ячейке уже стоит Х или 0, вывести ошибку и не менять её".
0
uhx
60 / 60 / 6
Регистрация: 11.07.2013
Сообщений: 304
10.12.2013, 01:08 #3
Цитата Сообщение от MyBestDream Посмотреть сообщение
Во первых - прочитайте, что такое массивы.
Если вы хотите изучать программирование, это вам нужно обязательно, если просто хотите получить зачет - поверьте, в таком виде ваш преподаватель вряд ли примет эту задачу (отправит... читать про массивы )
А по поводу проверки: там, где у вас непосредственно присваивается ячейке поля "Х" или "0", добавьте дополнительную проверку, типа "Если в данной ячейке уже стоит Х или 0, вывести ошибку и не менять её".
Да уж... полностью согласен с постом выше, почитайте про массивы.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2013, 01:08
Привет! Вот еще темы с ответами:

Крестики-нолики - C++
При запуске выдаёт ошибку error LNK2001: неразрешенный внешний символ &quot;&quot;char __cdecl check(void)&quot; (?check@@YADXZ)&quot; Судя по всему,...

Крестики-нолики - C++
Пишу крестики нолики, получается смесь ООП и говнокода:senor: Вот собственно код: #include &quot;Pole.h&quot; void CChunk::setState(e_state...

крестики-нолики - C++
Может у кого-то есть шаблон,чтобы расчертить поле в клетку,например 3x3. Покажите пожалуйста))

Крестики нолики - C++
Здравствуйте. Никак не получается определить, кто победил, всегда выводит ничью. Почему? #include &lt;iostream&gt; #include &lt;conio.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru