решил добавить фитчу в виде прохождение змейки сквозь стены. Долго думал и вот как-то до этого додумал, но после прохождения через стену на несколько секунд все объекты изчезают, почему?
public void move(Apple apple){
       GameObject head = createNewHead();
       GameObject a1 = new GameObject(snakeParts.get(0).x - SnakeGame.WIDTH, snakeParts.get(0).y);
       GameObject a2 = new GameObject(snakeParts.get(0).x, snakeParts.get(0).y - SnakeGame.HEIGHT);
       GameObject a3 = new GameObject(snakeParts.get(0).x + SnakeGame.WIDTH, snakeParts.get(0).y);
       GameObject a4 = new GameObject(snakeParts.get(0).x, snakeParts.get(0).y + SnakeGame.HEIGHT);
       if(checkCollision(head) == true) isAlive = false;
       else {
            isAlive = true;
            if(head.x > SnakeGame.WIDTH -1){
                snakeParts.set(0, a1);
            }
            else if(head.y > SnakeGame.HEIGHT -1){
                snakeParts.set(0, a2);
            }
            else if(head.x < 0){
                snakeParts.set(0, a3);
            }
            else if(head. < 0){
                snakeParts.set(0, a4);
            }
            else if(head.x == apple.x && head.y == apple.y){
                apple.isAlive = false;
                snakeParts.add(0, head);
            }
            else {
                snakeParts.add(0, head);
                removeTail();
            }
        }
    }