if random randint( = return 'computerelsereturn 'playerthe whogoesfirst(function randomly selects who goes firstand returns either the string 'computeror the string 'playerasking the player to play again def playagain() this function returns true if the player wants to play againotherwise it returns false print('do you want to play again(yes or no)' return input(lower(startswith(' 'the playagain(function was also in previous games if the player types in string that begins with ' 'then the function returns true otherwise the function returns false placing down tile on the game board def makemove(boardtilexstartystart) place the tile on the board at xstartystartand flip any of the opponent' pieces returns false if this is an invalid movetrue if it is valid tilestoflip isvalidmove(boardtilexstartystartmakemove(is called when you want to place tile on the board and flip the other tiles according to the rules of reversi this function modifies the board data structure that is passed in-place changes made to the board variable (because it is list referencewill be made to the global scope most of the work is done by isvalidmove()which returns list of xy coordinates (in twoitem listof tiles that need to be flipped (rememberif the xstart and ystart arguments point to an invalid movethen isvalidmove(will return the boolean value false if tilestoflip =falsereturn false board[xstart][ystarttile for xy in tilestoflipboard[ ][ytile post questions to