#include #include char arr[9] = { ' ',' ',' ',' ',' ',' ',' ',' ',' ' }; void print() { std::cout << "井字棋游戏" << std::endl; std::cout << "+---+---+---+" << std::endl; std::cout << "| " << arr[0] << " | " << arr[1] << " | " << arr[2] << " |" << std::endl; std::cout << "+---+---+---+" << std::endl; std::cout << "| " << arr[3] << " | " << arr[4] << " | " << arr[5] << " |" << std::endl; std::cout << "+---+---+---+" << std::endl; std::cout << "| " << arr[6] << " | " << arr[7] << " | " << arr[8] << " |" << std::endl; std::cout << "+---+---+---+" << std::endl; } int main() { bool n1{ 0 }, n2{ 0 }; system("cls"); print(); int i{ 1 }, k{}; unsigned long long n;//落棋位置 int a{ 0 }, b{ 0 };//赢局对比 int round{}; std::cout << "请输入想进行的游戏局数:"; std::cin >> round; for (k = 1; k <= round; ++k) { for (i = 1; i <= 9; i = i + 1) { if (i % 2 == 1) { std::cout << "请玩家一选择落棋位置:"; std::cin >> n; if (arr[n - 1] != ' '||n>9||n<1) { std::cout << "落棋位置错误" << std::endl; std::cout << "请玩家重新选择落棋位置" << std::endl; i = i - 1; continue; } else { arr[n - 1] = 'X'; } } else { std::cout << "请玩家二选择落棋位置:"; std::cin >> n; if (arr[n - 1] != ' '||n>9||n<1) { std::cout << "落棋位置错误" << std::endl; std::cout << "请玩家重新选择落棋位置" << std::endl; i = i - 1; continue; } else { arr[n - 1] = 'O'; } } system("cls"); print(); //横 if (arr[0] == arr[1] && arr[1] == arr[2] && arr[2] != ' ') { if (arr[0] == 'O') n2 = 1; else n1 = 1; break; } else if (arr[3] == arr[4] && arr[4] == arr[5] && arr[5] != ' ') { if (arr[3] == 'O') n2 = 1; else n1 = 1; break; } else if (arr[6] == arr[7] && arr[7] == arr[8] && arr[8] != ' ') { if (arr[6] == 'O') n2 = 1; else n1 = 1; break; } else if (arr[0] == arr[3] && arr[3] == arr[6] && arr[6] != ' ') { if (arr[0] == 'O') n2 = 1; else n1 = 1; break; } else if (arr[1] == arr[4] && arr[4] == arr[7] && arr[7] != ' ') { if (arr[1] == 'O') n2 = 1; else n1 = 1; break; } else if (arr[2] == arr[5] && arr[5] == arr[8] && arr[8] != ' ') { if (arr[2] == 'O') n2 = 1; else n1 = 1; break; } //斜 else if (arr[0] == arr[4] && arr[4] == arr[8] && arr[8] != ' ') { if (arr[0] == 'O') n2 = 1; else n1 = 1; break; } else if (arr[6] == arr[4] && arr[4] == arr[2] && arr[2] != ' ') { if (arr[6] == 'O') n2 = 1; else n1 = 1; break; } } //单局判断 if (n1 == 1) ++a; else if (n2 == 1) ++b; std::cout << "比分对比 玩家1:玩家2=" << a << ':' << b << std::endl; n1 = 0, n2 = 0; for (i = 0; i < 9; ++i) arr[i] = ' '; } //最终判断 if (a>b) std::cout << "玩家1 win!!!"; else if (a