Syntax error : 'if'...

line 150. I don't know what's wrong with my if statement. I was following along somewhat with this video but didn't follow it too strictly. Would appreciate if someone gave me a hint.

http://www.metacafe.com/watch/1314192/c_tutorial_lesson_9_tic_tac_toe/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
#include <iostream>

using namespace std;

void main()
{
	char cSquare1('1');
	char cSquare2('2');
	char cSquare3('3');
	char cSquare4('4');
	char cSquare5('5');
	char cSquare6('6');
	char cSquare7('7');
	char cSquare8('8');
	char cSquare9('9');
	char cNextMove;
	int iPlayerTurn(0);
	bool bGameOver(true);
	bool bWinGame(false);

	do
	{
		if (iPlayerTurn == 1)
			{
			iPlayerTurn = 0;
			}
		else
			{	
			iPlayerTurn = 1;
			}
		cout << cSquare1 << " | " << cSquare2 << " | " << cSquare3;
		cout << endl;
		cout << "-+-+-";
		cout << endl;
		cout << cSquare4 << " | " << cSquare5 << " | " << cSquare6;
		cout << endl;
		cout << "-+-+-";
		cout << endl;
		cout << cSquare7 << " | " << cSquare8 << " | " << cSquare9;
		cout << endl;
		cout << endl;
		cout << "Player 1's turn...";
		cout << endl;
		char cPlayerMark;
		if (iPlayerTurn == 1)
			{
			cPlayerMark = 'X';
			}
		else
			{	
			cPlayerMark = 'O';
			}
		bool bValidMove;
			do
				{
				cin >> cNextMove;
				bValidMove = true;

				if (cNextMove == '1' && cSquare1 == '1')
					{
					cSquare1 = cPlayerMark;
					}
				else if (cNextMove == '2' && cSquare2 == '2')
					{
					cSquare2 = cPlayerMark;
					}
				else if (cNextMove == '3' && cSquare3 == '3')
					{
					cSquare3 = cPlayerMark;
					}
				else if (cNextMove == '4' && cSquare4 == '4')
					{
					cSquare4 = cPlayerMark;
					}
				else if (cNextMove == '5' && cSquare5 == '5')
					{
					cSquare5 = cPlayerMark;
					}
				else if (cNextMove == '6' && cSquare6 == '6')
					{
					cSquare6 = cPlayerMark;
					}
				else if (cNextMove == '7' && cSquare7 == '7')
					{
					cSquare7 = cPlayerMark;
					}
				else if (cNextMove == '8' && cSquare8 == '8')
					{
					cSquare8 = cPlayerMark;
					}
				else if (cNextMove == '9' && cSquare9 == '9')
					{
					cSquare9 = cPlayerMark;
					}
				else 
					{
					cout << "Invalid move, Please enter another number";
					cout << endl;
					}
				if (cSquare1 != '1')
					{
					if (cSquare1 == cSquare2 && cSquare1 == cSquare3)
					{
					bGameOver = true;
					}
					if (cSquare1 == cSquare4 && cSquare1 == cSquare7)
					{
					bGameOver = true;
					}
					}
				if (cSquare9 != '9')
					{
					if (cSquare9 == cSquare8 && cSquare9 == cSquare7)
					{
					bGameOver = true;
					}
					if (cSquare9 == cSquare3 && cSquare9 == cSquare6)
					{
					bGameOver = true;
					}
					}
				if (cSquare9 != '5')
					{
					if (cSquare5 == cSquare6 && cSquare5 == cSquare4)
					{
					bGameOver = true;
					}
					if (cSquare5 == cSquare2 && cSquare5 == cSquare8)
					{
					bGameOver = true;
					}
					if (cSquare5 == cSquare1 && cSquare5 == cSquare9)
					{
					bGameOver = true;
					}
					if (cSquare5 == cSquare3 && cSquare5 == cSquare7)
					{
					bGameOver = true;
					}
					}
				if (cSquare1 != '1' && cSquare2 != '2' && cSquare3 != '3' &&
					cSquare4 != '4' && cSquare5 != '5' && cSquare6 != '6' &&
					cSquare7 != '7' && cSquare8 != '8' && cSquare9 != '9')
					{
					bGameOver = true;
					bWinGame = false;
					}
				}
				
			if (bWinGame = true)
				{
				cout << "Grats player " << cPlayerMark << "!!! You Win!";
				cout << endl;
				}
			if (bWinGame = false)
				{
				cout << "You both SUCK";
				cout << endl;
				}
			cout << "Play Again? (y/n)";
			char cPlayAgain;
			cin >> cPlayAgain;
			if (cPlayAgain == 'y')
				{
				bGameOver = false;
				cSquare1 = '1';
				cSquare2 = '2';
				cSquare3 = '3';
				cSquare4 = '4';
				cSquare5 = '5';
				cSquare6 = '6';
				cSquare7 = '7';
				cSquare8 = '8';
				cSquare9 = '9';
				iPlayerTurn = 0;
				}
			else
			{
			bGameOver = false;
			}
	} while (!bGameOver);		
}
EDIT:

doh I feel like a jerk. You did say what line it is! My apologies!

anyway

 
if (bWinGame = true)


= is the assignment operator. You probably wanted ==.

You do that again on line 155
Last edited on
You have an extra } I think...plz use some semblance of a consistent style Oo
I did have the = wrong but it still gets a syntax error for my if statement. I checked all my brackets and everything seems to be in the right place....

I also get this error for the line right after

syntax error : missing ';' before '{'
Last edited on
You're missing a while statement on line 149 =]

You have a do inside of a do that means you need a closing while for BOTH do loops
i think u must have to use " == " instead of " =" , cheak that code with this change! and then inform us!

thanks!
Thanks mackabee, i'll try that when i get home. That seems like it should solve my problem.
Btw, would you consider using functions (so that a block won't get like 100 lines long)? That makes it easier for spotting syntax errors.
Topic archived. No new replies allowed.