Tic-Tac-Toe之前应为主要表达式
Tic Tac Toe Expected Primary Expression Before
本文关键字:表达式 Tic-Tac-Toe 更新时间:2023-10-16
我现在正在学习c++,我的任务是创建一个井字游戏,从.txt文件中读取移动,看起来像这样:2 31 32 23 2等
这就是我构建的代码:
#include <iostream>
#include <fstream>
using namespace std;
char my_board[3][3]{0,0,0,
0,0,0,
0,0,0,};
int i = 0, j = 0;
int line = 0;
int X = 0, O = 0, N = 0;
void loadSquaresFromStream(int my_board[3][3], int i, int j);
void getgameStatus (int X, int O, int N, int i, int j, int my_board[3][3]);
void displayTotals(int X, int O, int N);
int main(){
cout << loadSquaresFromStream(int my_board[3][3], int i, int j) << endl;
return 0;
}
void loadSquaresFromStream(int my_board[3][3], int i, int j){
ifstream inputStream;
inputStream.open("games.txt");
//take all numbers from txt and input into an array
int moves[] = inputStream;
for (moves[i] != 0 && moves[j] != 0 ){
switch(line){
case %2:
my_board[i][j] = x;
i++; j++;
break;
case %1:
my_board[i][j] = o;
i++; j++;
break;
}
}
else if ((moves[i] == 0) && (moves[j] == 0)){
cout << getgameStatus(X, O, N, i,j, my_board[3][3]) << endl;
}
else{
cout << displayTotals(X, O, N) << endl;
}
}
void getgameStatus (int X, int O, int N, int i, int j, int my_board[3][3]){
if (my_board[1][1] == x && my_board[1][2] == x && my_board[1][3] == x){ //All possible games where x wins
cout << "x wins" << endl;
X++;
}
else if (my_board[2][1] == x && my_board[2][2] == x && my_board[2][3] == x){
cout << "x wins" << endl;
X++;
}
else if (my_board[3][1] == x && my_board[3][2] == x && my_board[3][3] == x){
cout << "x wins" << endl;
X++;
}
else if (my_board[1][1] == x && my_board[2][1] == x && my_board[3][1] == x){
cout << "x wins" << endl;
X++;
}if (my_board[1][1] == x && my_board[1][2] == x && my_board[1][3] == x){
cout << "x wins" << endl;
X++;
}
else if (my_board[2][1] == x && my_board[2][2] == x && my_board[2][3] == x){
cout << "x wins" << endl;
X++;
}
else if (my_board[3][1] == x && my_board[3][2] == x && my_board[3][3] == x){
cout << "x wins" << endl;
X++;
}
else if (my_board[1][1] == x && my_board[2][1] == x && my_board[3][1] == x){
cout << "x wins" << endl;
X++;
}
else if (my_board[1][2] == x && my_board[2][2] == x && my_board[3][2] == x){
cout << "x wins" << endl;
X++;
}
else if (my_board[1][3] == x && my_board[2][3] == x && my_board[3][3] == x){
cout << "x wins" << endl;
X++;
}
else if (my_board[1][1] == x && my_board[2][2] == x && my_board[3][3] == x){cout << "Total games won by x: " << X << endl;
}
cout << "x wins" << endl;
X++;
}
else if (my_board[1][3] == x && my_board[2][2] == x && my_board[3][1] == x){
cout << "x wins" << endl;
X++;
}
else if (my_board[1][2] == x && my_board[2][2] == x && my_board[3][2] == x){
cout << "x wins" << endl;
X++;
}void displayTotals(X, O, N)
else if (my_board[1][3] == x && my_board[2][3] == x && my_board[3][3] == x){
cout << "x wins" << endl;
X++;
}
else if (my_board[1][1] == x && my_board[2][2] == x && my_board[3][3] == x){
cout << "x wins" << endl;
X++;
}
else if (my_board[1][3] == x && my_board[2][2] == x && my_board[3][1] == x){
cout << "x wins" << endl;
X++;
}
else if (my_board[1][1] == o && my_board[1][2] == o && my_board[1][3] == o){ //All possible games where o wins
cout << "o wins" << endl;
O++;
}
else if (my_board[2][1] == o && my_board[2][2] == o && my_board[2][3] == o){
cout << "o wins" << endl;
O++;
}displayTotals(X, O, N)
else if (my_board[3][1] == o && my_board[3][2] == o && my_board[3][3] == o){
cout << "o wins" << endl;
O++;
}
else if (my_board[1][1] == o && my_board[2][1] == o && my_board[3][1] == o){
cout << "o wins" << endl;
O++;cout << "Total games won by x: " << X << endl;
}
}
else if (my_board[1][2] == o && my_board[2][2] == o && my_board[3][2] == o){
cout << "o wins" << endl;
O++;
}
else if (my_board[1][3] == o && my_board[2][3] == o && my_board[3][3] == o){
cout << "o wins" << endl;
O++;
}
else if (my_board[1][1] == o && my_board[2][2] == o && my_board[3][3] == o){
cout << "o wins" << endl;
O++;
}
else if (my_board[1][3] == o && my_board[2][2] == o && my_board[3][1] == o){
cout << "o wins" << endl;
O++;
}
else{
cout << "game incomplete" << endl; //All incomplete games
N++;
}
}
void displayTotals(int X, int O, int N){
cout << "Total games won by x: " << X << endl;
cout << "Total games won by o: " << O << endl;
cout << "Total games incomplete: " << N << endl;
}
我有几个相同的"预期的主要表达式之前…"错误贯穿始终。我搞不清是什么原因造成的。我是新来的,所以很抱歉,如果它是冗长的。谢谢你们的帮助。
好的,您发布的代码有几个错误。
对于初学者来说,您应该知道C++是一种区分大小写的语言。在多个地方,您已经完成了以下操作:
if (my_board[1][1] == x && my_board[1][2] == x && my_board[1][3] == x)
问题是您的变量命名为X
和O
,而不是x
和o
。改变那些。
您还尝试使用void
返回类型来流式传输函数的返回值。你根本做不到。顾名思义,void
什么都不是,所以您试图将任何内容流式传输到控制台。
对于您的switch
声明,您写道:
case %2:
这完全是无效的。我不确定你在那里想做什么,所以我真的不能给你指明正确的方向。
最后,我注意到全局变量的名称和类型与函数参数相同。两者兼得真的没有意义。要么你有全局变量来避免传递它们(这不是好的做法,不要这样做),要么你有函数参数;不要两者都做。
相关文章:
- 如何在TIC TAC TOE中检查获胜者,以及如何不让两个玩家进入同一位置
- 如何在C 的TIC-TAC-TOE中展示获胜者
- Turbo我试图制作C TIC TAC TOE游戏,但没有获得正确的输出
- C TIC-TAC-TOE AI不起作用
- C TIC TAC TOE游戏.开关空间而不是错误消息
- Tic-Tac-Toe之前应为主要表达式
- TIC TAC TOE编程帮助C
- TIC TAC TOE游戏:如何循环
- 通过C 中的2D TIC-TAC-TOE阵列迭代的好方法
- 生成Tic-Tac-Toe树的节点Minimax
- 如何修复在C++中回放Tic-Tac-Toe游戏时前三个回合的隐藏
- 如何在我的c版本Tic-Tac-Toe中修复我的输入验证
- 数组在Tic-Tac-Toe中的行为不符合预期
- Tic-Tac-Toe阵列错误
- Tic-Tac-Toe使用C++和多维数组
- Tic Tac Toe麻烦(一些逻辑错误)
- 在Tic-Tac-Toe程序中使用数组
- C++:如何获取用户输入并将其放入Tic-Tac-Toe板中
- Tic-Tac-Toe C++链接错误ld返回1退出状态
- C++ Tic-Tac-Toe using classes