예제 #1
0
    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);
        }
    }
예제 #2
0
    //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);
    }