对不围棋MCTS方法的backup函数的疑问

你好,请问在不围棋代码的backup函数中,在side初始化为0,node初始化为当前节点的时候,为什么判断落子方的条件是side==1呢?第一次执行的时候,this不应该作为落子方吗?
源代码如下:

void backup(double deltaValue) //回传估值,从当前叶节点以及往上的每一个父节点都加上估值
    {
        treeNode *node = this;
        int side = 0;
        while (node != nullptr) //当node不是根节点的父节点时
        {
            if (side == 1) //落子方
            {
                node->value += deltaValue;
                side--;
            }
            else //非落子方
            {
                node->value -= deltaValue;
                side++;
            }
            node->n++; //当前节点被探索次数++
            node = node->parent;
        }
    }