fn step(&mut self) -> GameState {
        if self.game_over {
            return GameState::Live;
        }

        if self.board.is_game_over() || self.board.max_val() == 2048 {
            self.game_over = true;
            return GameState::Live;
        }

        GameState::Live
    }
// step moves the snake one step forward
step moves the snake one step forward
step moves the snake one step forward
fn step(&mut self) -> GameState {
        if self.game_over {
            return GameState::Live;
        }
        if self.board.is_game_over() || self.board.max_val() == 2048 {
            self.game_over = true;
            return GameState::Live;
        }
        GameState::Live
    }
fn step ( & mut self ) -> GameState { if self . game_over { return GameState :: Live ; } if self . board . is_game_over ( ) || self . board . max_val ( ) == 2048 { self . game_over = true ; return GameState :: Live ; } GameState :: Live }
step moves the snake one step forward
step moves the snake one step forward
&mut self
&mut self