public void UpdateSnake(Node N, bool PutTail) { int HoldIndexX, HoldIndexY; int DesIndexX = N.getIndexX(), DesIndexY = N.getIndexY(); foreach (SnakeNode SN in SnakeBody) { HoldIndexX = SN.getIndexX(); HoldIndexY = SN.getIndexY(); SN.setIndexX(DesIndexX); SN.setIndexY(DesIndexY); AC.changeNode(DesIndexX, DesIndexY, Enums.NodeState.Snake); DesIndexX = HoldIndexX; DesIndexY = HoldIndexY; } if (PutTail) { SnakeNode S = new SnakeNode(); S.SetSnakeNode(DesIndexX, DesIndexY); SnakeBody.Add(S); AC.changeNode(DesIndexX, DesIndexY, Enums.NodeState.Snake); } else { AC.changeNode(DesIndexX, DesIndexY, Enums.NodeState.None); } }
//Adding a Node to the snake public void AddNode(Node N) { //Create new Snake node SnakeNode S = new SnakeNode(); //set the node in the snake body S.SetSnakeNode(N.getIndexX(), N.getIndexY()); //Add the Node SnakeBody.Add(S); //Change the ArrayNode Statue in the Main Array AC.changeNode(N.getIndexX(), N.getIndexY(), Enums.NodeState.Snake); }