From 16d014edc04b97fc751665ab441e1df5751f5d60 Mon Sep 17 00:00:00 2001 From: Rebecca Schofield Date: Mon, 19 Oct 2015 16:45:38 -0500 Subject: [PATCH] merge and restructure --- Board.cpp | 1 + Board.h | 2 ++ a.out | Bin 41954 -> 57395 bytes main.cpp | 13 +++++++------ test.cpp | 52 ++++++++++++++++++++++++++++++++++++++++++++++------ 5 files changed, 56 insertions(+), 12 deletions(-) diff --git a/Board.cpp b/Board.cpp index 0cd08d1..e765e82 100755 --- a/Board.cpp +++ b/Board.cpp @@ -504,6 +504,7 @@ void Board::undo(Board& tablero) void Board::interpret(string input, Board& tablero) //determines what kind of command its input is { + vector record; input = myToUpper(input); if (input == "UNDO") diff --git a/Board.h b/Board.h index 921455b..d98c0f3 100755 --- a/Board.h +++ b/Board.h @@ -23,6 +23,8 @@ class Board { public: Board(); + char elementAt(int r, int k) { return boardArray[r][k]; } + void modifyAt(int r, int k, char input) { boardArray[r][k] = input; } moves parse(string input); char getTurn() { return turn; } bool isGameOver(); diff --git a/a.out b/a.out index 02b097697816e35bab25ad3ac1fec8e4049c3814..2e926353058f6a17cd79da4d0792e161f058a5e6 100755 GIT binary patch literal 57395 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 z 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 delta 14759 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 diff --git a/main.cpp b/main.cpp index 37212b1..d4e940a 100644 --- a/main.cpp +++ b/main.cpp @@ -8,7 +8,6 @@ using namespace std; int main() { - cout<<"\n----------------------------"<>choice; + cin >> choice; if (choice == 1) cout<<"playing with AI..."< record; + + b.snapshot(record,b); while (gameOver != true) { @@ -40,7 +41,7 @@ int main() b.displayBoard(); cout<<"\nEnter command: "; cin>>move; - interpret(move,b); + b.interpret(move,b); } @@ -59,14 +60,14 @@ int main() b.displayBoard(); cout<<"\nEnter command: "; cin>>move; - interpret(move,b); + b.interpret(move,b); } } //b.snapshot(); gameOver = b.isGameOver(); - snapshot(record,b); + b.snapshot(record,b); } //for debugging purposes diff --git a/test.cpp b/test.cpp index 4d6518a..d4e940a 100755 --- a/test.cpp +++ b/test.cpp @@ -8,8 +8,19 @@ using namespace std; int main() { + cout<<"\n----------------------------"<> choice; + + if (choice == 1) cout<<"playing with AI..."< record; + + b.snapshot(record,b); + while (gameOver != true) { gameOver = b.isGameOver(); - while(b.getTurn() == 'O') + while(b.getTurn() == 'O' ) { b.displayBoard(); - cout<<"\nEnter move: "; + cout<<"\nEnter command: "; cin>>move; - b.move(move); + b.interpret(move,b); } vector possibleMoves = b.viewPossibleMoves(); //displayPossibleMoves(possibleMoves); for debugging purposes - AI + if (choice == 1) + { + b.easyAI(); + } + + else + { + while(b.getTurn() == 'X' ) + { + b.displayBoard(); + cout<<"\nEnter command: "; + cin>>move; + b.interpret(move,b); + } + } - b.easyAI(); - + //b.snapshot(); gameOver = b.isGameOver(); + + b.snapshot(record,b); } + //for debugging purposes + cout<<"Record:"<