input: from typing import List
  
  def tic_tac_toe_game(board: List[str], icon: str) -> bool:
      """ Simulate a Tic Tac Toe game and determine if the player using the given icon wins.
      The function takes a list representing the board and an icon ('X' or 'O').
      It first checks if the board is full (no spaces left). If not, it simulates the player's turn.
      After simulating the turn, it checks if the player has won.
      Returns True if the player wins, otherwise False.
      >>> tic_tac_toe_game(["X", "X", "X", " ", "O", " ", "O", " ", " "], "X")
      True
      >>> tic_tac_toe_game(["X", "O", "X", "O", "O", " ", "X", " ", " "], "O")
      False
      """
output:     if " " not in board:
          return False
      
      for i in range(9):
          if board[i] == " ":
              board[i] = icon
              break
      
      win_patterns = [
          [0, 1, 2], [3, 4, 5], [6, 7, 8],  # rows
          [0, 3, 6], [1, 4, 7], [2, 5, 8],  # columns
          [0, 4, 8], [2, 4, 6]              # diagonals
      ]
      
      for pattern in win_patterns:
          if board[pattern[0]] == board[pattern[1]] == board[pattern[2]] == icon:
              return True
      
      return False