2 / 2 / 0
Регистрация: 13.05.2015
Сообщений: 29
|
||||||
1 | ||||||
Объяснить программу, "Крестики-нолики"13.05.2015, 20:38. Показов 2056. Ответов 8
Метки нет (Все метки)
Забыл сказать ,что это игра в крестики нолики.
0
|
13.05.2015, 20:38 | |
Ответы с готовыми решениями:
8
Составить программу, моделирующую игру «крестики-нолики» Крестики-Нолики: остановить программу при победе Крестики нолики Крестики нолики |
88 / 84 / 31
Регистрация: 18.11.2013
Сообщений: 390
|
||||||||||||||||
13.05.2015, 20:43 | 2 | |||||||||||||||
для начала занесите весь код в
Добавлено через 1 минуту
0
|
Модератор
5198 / 2080 / 406
Регистрация: 06.01.2013
Сообщений: 4,794
|
|
13.05.2015, 20:44 | 3 |
Нет.
color 3 меняет цвет всей консоли, в то время как SetConsoleTextAttribute - только выводимого.
1
|
88 / 84 / 31
Регистрация: 18.11.2013
Сообщений: 390
|
|||||||||||
13.05.2015, 20:45 | 4 | ||||||||||
1
|
Модератор
5198 / 2080 / 406
Регистрация: 06.01.2013
Сообщений: 4,794
|
|
13.05.2015, 20:45 | 5 |
1
|
88 / 84 / 31
Регистрация: 18.11.2013
Сообщений: 390
|
|
13.05.2015, 20:49 | 6 |
что конкретнее нужно обьяснить? говорящие названия, комментарии, почти идеальный код
Добавлено через 1 минуту а нет какого нибудь аналога, который не требует _In_ HANDLE и пишется проще и понятнее?
0
|
2 / 2 / 0
Регистрация: 13.05.2015
Сообщений: 29
|
|
13.05.2015, 20:52 [ТС] | 7 |
я не помню вот эту часть
int botMove() { if (field[4]=='5') return 5; for (int i = 0; i < 9; i++) if (field[i] == char(i+49)) { field[i] = 'O'; if (isWinner('O')) return i+1; else field[i] = char(i+49); field[i] = 'X'; if (isWinner('X')) return i+1; else field[i] = char(i+49); } for (int i = 0; i < 9; i++) if (field[i] == char(i+49)) return i+1; } void print() { system("cls"); clearscreen(2); printlogo(); clearscreen(2); printfield(); clearscreen(1); } char play(int h) { int turn = 1; // 0 - bot, 1 - player int move; char a = 'X', b = 'O'; if (h == 0) swap(a, b);//обмен значениями между а и б while(1) { if (turn % 2 == h) { print(); SetColor(12, 0); if (turn>1) { printspace(30); cout << "Компьютер поставил " << b << " на " << move << endl; } printspace(34); cout << "Ваш ход: "; cin >> move; while(move > 9 || field[move-1]=='X' || field[move-1]=='O') { print(); SetColor(12, 0); printspace(15); cout << "** Пожалуйста, введите корректное значение (1-9) **\n"; printspace(34); cout << "Ваш ход: "; cin >> move; } field[move-1] = a; if (isWinner(a)) { print(); printspace(35); for(int i = 0; i < 400000000; i++) if (i%100000000==0) cout<<'.'; SetColor(2, 0); cout << "X победил!\n"; return a; } } else { print(); SetColor(12, 0); if (turn>1) { printspace(30); cout << "Вы поставили " << a << " на " << move << endl; } printspace(35); cout << "Компьютер думает"; for(int i = 0; i < 600000000; i++) if (i%100000000==0) cout<<'.'; cout << endl; move = botMove(); field[move-1] = b; if (isWinner(b)) { print(); printspace(33); for(int i = 0; i < 400000000; i++) if (i%100000000==0) cout<<'.'; SetColor(2, 0); cout << "О победил!\n"; return b; } } turn++; if (turn == 10) { print(); printspace(33); for(int i = 0; i < 400000000; i++) if (i%100000000==0) cout<<'.'; SetColor(2, 0); cout << "Ничья!\n"; return 'D'; } } }
0
|
88 / 84 / 31
Регистрация: 18.11.2013
Сообщений: 390
|
|||||||||||
14.05.2015, 22:37 | 8 | ||||||||||
Сообщение было отмечено Kuroi как решение
Решение
сделайте то, что выше написано
функция нужна для проверки ходов, но если не найдёт лучший ход то вернёт первый свободный или центральный, в общем я не понимаю зачем нужна такая функция, видимо только если для помощи игроку в возможном ходе соперника Добавлено через 4 минуты print() выводит поле выводит лого, потом выводит поле play() начинает игру и играет до конца, в play передаётся значение которое определяет за кого играет пользователь
Добавлено через 2 минуты ааа, я понял что делает botMove, он ищет возможные ходы, при котором кто-нибудь выйграет, если выйграет он, то он просто поставит туда и выйграет, а если выйграет соперник, то он поставит туда и не даст выйграть сопернику
1
|
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
|
|
14.05.2015, 23:50 | 9 |
Те крестики нолики что написал и выложил я ,лучше=)
1
|
14.05.2015, 23:50 | |
14.05.2015, 23:50 | |
Помогаю со студенческими работами здесь
9
Крестики нолики Крестики/нолики Крестики-нолики Крестики нолики крестики нолики Крестики-нолики крестики-нолики Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |