"Гомоку"
Материал из SEWiki
#include <stdio.h>
class Model{
private:
int board[10][10];
//?
public:
Model() {
for(int i = 0; i < 10; i++) {
for(int j = 0; j < 10; j++) {
board[i][j] = -1;
}
}
}
bool move(int x, int y, bool isZero) {
//?
board[x][y] = isZero ? 0 : 1;
}
// Zero, Christ, Draw, Inprogress,
int getState() const {
//?
return 0;
}
int getCell(int x, int y) const {
//?
return board[x][y];
}
};
class View {
private:
Model* myModel;
public:
View(Model* m) {
myModel = m;
}
void show() const {
for(int i = 0; i < 10; i++) {
for(int j = 0; j < 10; j++) {
printf("%d", myModel->getCell(i, j));
}
printf("\n");
}
}
void doGame() const {
int isEnd = 1;
while ( isEnd != 0 ) {
//input from first player
//myModel->move(i, j, player);
//player = !player;
show();
isEnd = myModel->getState();
}
}
};
class TestModel {
public:
void checkError(bool b, const char* f) {
if(!b) {
printf("Test failed in %s\n", f);
}
}
void getStateTest() {
Model m;
m.move(1, 1, true);
m.move(2, 2, false);
checkError( m.getState()!= 0, __func__ );
}
};
/*
// test.cpp
int main() {
TestModel tm;
tm.getStateTest();
return 0;
}
*/
int main() {
Model m;
View v(&m);
v.doGame();
return 0;
}