def interact(game):
    snake = getSnake(game)
    food = getFood(game)
    win = getWin(game)
    score = getScore(game)
    name = getName(game)
    key = win.getch()
    difficulty = game['difficulty']
    win.timeout(200 - 30 * difficulty)  # a ameliorer
    if key == 32:
        pause(win)
    try:
        newSnake = Snake.computeNextPos(key, snake, food, win)
        game = setSnake(newSnake, game)
    except ValueError:
        game = setHighScores(HighScores.log(score, name, difficulty), game)
        game = resetScore(game)
        game = setSnake(Snake.reset(), game)
        game = setState('menu', game)
        food = None

    if foodEaten(snake, food):
        game = setNewFood(game)
        game = addScore(1, game)
    return