Okee, voor school moeten we Boter kaas en eieren maken. Ditis de code die we hebben tot nu toe
Het probleem zit hem in de gotoxy functie. Deze moet ervoor zorgen dat de x-jes en de o-tjes op de juiste plaats gezet worden. Dit werkt met de standaard functie (gewoon gotoxy(x, y)) niet in microsoft visual studio 6.0. Toen hebben we dus die laatste functie die je ziet in de code toegevoegd. Maar het werkt gewoon voor geen meter!!
check:
10 errors is nie zo fijn d8 ik zo
Wie kan helpen?
code:
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
183
184
185
186
187
188
189
| #include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#include <dos.h>
int bord_positie[10];
int speler_positie, wiegewonnen;
int teller = 0, remise =0;
int verwerk_zet(int bron);
int tekenbord();
int speelspel();
int sluitaf();
int bepaalwinnaar();
int maak_computerzet();
int lees_spelerzet();
int positie_mogelijk();
void gotoxy (int x, int y);
int main () {
tekenbord();
speelspel();
sluitaf();
return 0;
}
int tekenbord () {
cout << "------------------ " << endl;
cout << "| 1 | 2 | 3 |" << endl;
cout << "-------------------" << endl;
cout << "| 4 | 5 | 6 |" << endl;
cout << "-------------------" << endl;
cout << "| 7 | 8 | 9 |" << endl;
cout << "-------------------" << endl;
return 0;
}
int speelspel () {
while (speler_positie != 10 && teller != 9) {
teller += 1;
lees_spelerzet();
if (speler_positie != 10) {
verwerk_zet(1);
wiegewonnen =1;
bepaalwinnaar ();
if (speler_positie != 10 && teller < 8) {
teller +=1;
maak_computerzet();
verwerk_zet(-1);
wiegewonnen = -1;
bepaalwinnaar ();
}
}
}
return 0;
}
int lees_spelerzet () {
speler_positie = 0;
while (speler_positie == 0) {
cout << "Voer de positie in: " << endl;
cin >> speler_positie;
if (speler_positie > -1 && speler_positie < 11) {
positie_mogelijk();
}
else {
speler_positie = 0;
}
}
return 0;
}
int positie_mogelijk () {
if (speler_positie != 10) {
if (bord_positie[speler_positie] != 0) {
speler_positie = 0;
}
}
return 0;
}
int verwerk_zet( int bron) {
if (bron ==1) {
bord_positie[speler_positie] =1;
gotoxy( 20 , 12 );
cout << "X" << speler_positie << endl;
// hier moet switch - case statement nog komen !!!
}
else {
bord_positie[speler_positie] =-1;
cout << "O" << speler_positie << endl;
// hier moet switch - case statement nog komen !!!
}
return 0;
}
int maak_computerzet() {
speler_positie = 0;
while (speler_positie ==0) {
srand( (unsigned)time( NULL ) );
speler_positie = rand()%(10);
positie_mogelijk();
}
return 0;
}
int bepaalwinnaar() {
if ((bord_positie [1] == bord_positie[2] && bord_positie[1] == bord_positie[3] && bord_positie[1] != 0) || (bord_positie [1] == bord_positie[4] && bord_positie[1] == bord_positie[7] && bord_positie[1] != 0) || (bord_positie [1] == bord_positie[5] && bord_positie[1] == bord_positie[9] && bord_positie[1] != 0) || (bord_positie [7] == bord_positie[8] && bord_positie[7] == bord_positie[9] && bord_positie[7] != 0) || (bord_positie [7] == bord_positie[5] && bord_positie[7] == bord_positie[3] && bord_positie[7] != 0) || (bord_positie[4] == bord_positie[5] && bord_positie[4] == bord_positie[6] && bord_positie[4] != 0) || (bord_positie [2] == bord_positie[5] && bord_positie[2] == bord_positie[8] && bord_positie[2] != 0) || (bord_positie [3] == bord_positie[6] && bord_positie[3] == bord_positie[9] && bord_positie[3] != 0))
{
speler_positie = 10;
remise =1;
}
return 0;
}
int sluitaf () {
if (remise == 0) {
cout << "N.Iemand heeft gewonnen" << endl;
}
else {
if (wiegewonnen == 1) {
cout << "U heeft gewonnen" << endl;
}
else {
cout << "De computer heeft gewonnen!!!" << endl;
}
}
cin.get();
return 0;
}
void gotoxy (int x, int y) {
union REGS r;
r.h.ah = 2;
r.h.dh = y;
r.h.dl = x;
r.h.bh = 0;
int86( 0x10, &r, &r );
} |
Het probleem zit hem in de gotoxy functie. Deze moet ervoor zorgen dat de x-jes en de o-tjes op de juiste plaats gezet worden. Dit werkt met de standaard functie (gewoon gotoxy(x, y)) niet in microsoft visual studio 6.0. Toen hebben we dus die laatste functie die je ziet in de code toegevoegd. Maar het werkt gewoon voor geen meter!!
check:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| ompiling... bke.cpp C:\test\bke.cpp(183) : error C2079: 'r' uses undefined union 'REGS' C:\test\bke.cpp(184) : error C2228: left of '.h' must have class/struct/union type C:\test\bke.cpp(184) : error C2228: left of '.ah' must have class/struct/union type C:\test\bke.cpp(185) : error C2228: left of '.h' must have class/struct/union type C:\test\bke.cpp(185) : error C2228: left of '.dh' must have class/struct/union type C:\test\bke.cpp(186) : error C2228: left of '.h' must have class/struct/union type C:\test\bke.cpp(186) : error C2228: left of '.dl' must have class/struct/union type C:\test\bke.cpp(187) : error C2228: left of '.h' must have class/struct/union type C:\test\bke.cpp(187) : error C2228: left of '.bh' must have class/struct/union type C:\test\bke.cpp(188) : error C2065: 'int86' : undeclared identifier Error executing cl.exe. test.exe - 10 error(s), 0 warning(s) |
10 errors is nie zo fijn d8 ik zo
Wie kan helpen?
Renault Scenic E-Tech EV - PV-Output - 48kWh LiFePo4 op 15kVa Victron systeem