From 661e57519e4cdad79c368e3f28eea822a529fc05 Mon Sep 17 00:00:00 2001 From: Trolli Schmittlauch Date: Thu, 12 Mar 2015 15:56:23 +0100 Subject: [PATCH] int isCornerMove(move) returns whether move is placed in a corner or not --- players/my-player.cc | 5 +++-- players/playerlib.cc | 9 +++++++++ players/playerlib.h | 3 +++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/players/my-player.cc b/players/my-player.cc index 6f67285..614118a 100644 --- a/players/my-player.cc +++ b/players/my-player.cc @@ -21,7 +21,6 @@ send_move(int row, int col) return 0; } - int main(void) { int done = 0; @@ -62,7 +61,7 @@ int main(void) movesList *moves = new movesList(); findMoves(field, moves); - if(!moves->movesNumber) + if(!(moves->movesNumber)) { turn_row=0; turn_col=0; @@ -75,6 +74,8 @@ int main(void) #ifdef debugprint printf("numX: %d, numO: %d\n", numX, numO); + printf("%d %d\n", sizeof(field), sizeof(cell[fieldSize][fieldSize])); + printf("IsCorner? %d\n", isCornerField(moves->list[0])); #endif // 3. Return result diff --git a/players/playerlib.cc b/players/playerlib.cc index 182e67c..fa561a1 100644 --- a/players/playerlib.cc +++ b/players/playerlib.cc @@ -314,3 +314,12 @@ findMoves(cell (*field)[fieldSize], movesList *moves) { findDiagonalBottomLeftMoves(field, moves) + findDiagonalTopRightMoves(field, moves); } + +int +isCornerField(move m) { + if( (m.turnRow == 1 || m.turnRow == fieldSize) && (m.turnCol == 1 || m.turnCol == fieldSize) ) + return 1; + return 0; +} + + diff --git a/players/playerlib.h b/players/playerlib.h index 498f547..6eb41f0 100644 --- a/players/playerlib.h +++ b/players/playerlib.h @@ -26,4 +26,7 @@ extern int readStateBuffer(char*, cell (*)[fieldSize], unsigned int *, unsigned //iterates through field in all directions, stores moves into movesList int findMoves(cell (*)[fieldSize], movesList *); + +//returns 1 if move on corner field +int isCornerField(move); #endif