def StringInterpret(token, NewMove, turn): column = NewMove[0].upper() row = int(NewMove[1]) ColumnIDX = (Constants.COLUMN_LETTERS.index(column)) RowIDX = (Constants.ROW_NUMBERS.index(row)) MoveToString = ( (RowIDX * Constants.NUM_OF_ROWS) + ColumnIDX ) #Equation for converting a move coordinate to the index number to be changed TurnColour = WhoseTurn(turn) NewToken = token[:MoveToString] + TurnColour + token[MoveToString + 1:] #StringToPiece(NewToken, 0) if WhoseTurn(turn) == "B": color = "White" else: color = "Black" TurtleMove.place_piece(column, row, color) if __name__ == "__main__": #TESTING TESTING TESTING ########################## print("Testing") print("turn ", turn) print(ColumnIDX, "Columnidx") # Column index number from letters print(RowIDX, "Rowidx") #Row index number from numbers print(column, "Column") #Prints the Column Letter print(row, "Row") #Prints the Row Number print(token[MoveToString], ": Character at the move's index number." ) #Prints the character at the index [MoveToString] print( MoveToString, "Index number of new move" ) #Takes the move and converts it to the index number for the string print( NewToken ) #Prints the NewToken with the character at index.MoveToString in place print() ########################## return NewToken #returns the NewToken, The updated move.
def StringToPiece(token, i): for y in range(len(Constants.ROW_NUMBERS)): for x in range(len(Constants.COLUMN_LETTERS)): x_coord = Constants.COLUMN_LETTERS[x] y_coord = Constants.ROW_NUMBERS[y] if token[ i] == "N": #if index i on the string equals N place a green piece which is a non-piece. TurtleMove.place_piece(x_coord, y_coord, "Green") elif token[i] == "B": TurtleMove.place_piece(x_coord, y_coord, "Black") elif token[i] == "W": TurtleMove.place_piece(x_coord, y_coord, "White") i = i + 1