//Check if the next move is good Node CheckAviMove() { //get the Head of the snake SnakeNode SN = snake.GetHead(); int x = 0, y = 0; switch (MC.getMoveState()) { case MoveState.up: x = -1; y = 0; break; case MoveState.down: x = 1; y = 0; break; case MoveState.left: x = 0; y = -1; break; case MoveState.right: x = 0; y = 1; break; } Node N = new Node(); //make the move and trasfer it to the snake N.SetNode(SN.getIndexX() + x, SN.getIndexY() + y); if (N.getIndexX() < 0) { N.setIndexX(Height - 1); } if (N.getIndexY() < 0) { N.setIndexY(Width - 1); } if (N.getIndexX() == Height) { N.setIndexX(0); } if (N.getIndexY() == Width) { N.setIndexY(0); } return(N); }