board divided into squares arranged in rows and columns and set of chips each chip is painted dark color on one side and light color on the otherwith each color belonging to one of the two players the players place their chips on the board and flip the chips of their opponent with the goal of having the most chips of their color on the board at the end of the game the game starts with configuration as shown in part (aof figure (ax ( (cx ( (efigure moves in the game of reversi the players take turns placing chips on the board with their color facing up chip can only be played in square that is adjacent to chip of the other player and that forms straight line of attack (verticalhorizontalor diagonala line of attack is formed between two squares containing the player' own chips in which there is one or more of the opponent' chips in between the two for exampleif player (blackgoes firsthe has four options as shown in part (bsuppose player places chip in the square marked with an after placing his chipplayer flips all of the chips of player (whitethat are in the line of attack in this casehe flips the chip immediately below the new chip as shown in part (cplayer then places one of her chips she has three options from which to choose as shown by the dark squares in part (cif player places her chip in the square marked xshe flips the black chip below the new chip as shown in part (dif there are multiple lines of attack that result from the placement of chipthen all of the opponent' chips that are in all of the lines of attack are flipped for examplesuppose player places chip in the square marked with an as shown in part (dthen he flips both white chipsthe one to the left and the one diagonally down to the left as shown in part (eplay alternates between the players until all of the squares are filled or neither player can move if one player cannot move but the other canplay proceeds with the other player the winner is the player with the most chips at the end of the game given the following description of the operationsprovide complete implementation for the reversi game logic adt reversigamelogic()creates new instance of the reversi game logic with the initial configuration whoseturn()returns the player number ( or for the current player or if no player can move