Exemple #1
0
    // 检查游戏是否结束
    public int CheckGameState()
    {
        int start_priest = (startCoast.GetobjectsNumber())[0];
        int start_devil  = (startCoast.GetobjectsNumber())[1];
        int end_priest   = (endCoast.GetobjectsNumber())[0];
        int end_devil    = (endCoast.GetobjectsNumber())[1];

        if (end_priest == 3 && end_devil == 3)
        {
            return(2);
        }
        int[] boat_roles = boat.GetobjectsNumber();
        //船在开始岸
        if (boat.get_State() == 1)
        {
            start_priest += boat_roles[0];
            start_devil  += boat_roles[1];
        }
        else //穿在结束岸
        {
            end_priest += boat_roles[0];
            end_devil  += boat_roles[1];
        }

        if ((start_priest > 0 && start_priest < start_devil) || (end_priest > 0 && end_priest < end_devil))
        {
            return(1);
        }
        return(0);
    }
Exemple #2
0
    public int Check()
    {   // 0->not finish, 1->lose, 2->win
        int from_priest = 0;
        int from_devil  = 0;
        int to_priest   = 0;
        int to_devil    = 0;

        int[] fromCount = fromCoast.GetobjectsNumber();
        from_priest += fromCount[0];
        from_devil  += fromCount[1];

        int[] toCount = toCoast.GetobjectsNumber();
        to_priest += toCount[0];
        to_devil  += toCount[1];

        if (to_priest + to_devil == 6)      // win
        {
            return(2);
        }

        int[] boatCount = boat.GetobjectsNumber();
        if (boat.get_State() == -1)
        {   // boat at toCoast
            to_priest += boatCount[0];
            to_devil  += boatCount[1];
        }
        else
        {   // boat at fromCoast
            from_priest += boatCount[0];
            from_devil  += boatCount[1];
        }
        if (from_priest < from_devil && from_priest > 0)
        {       // lose
            return(1);
        }
        if (to_priest < to_devil && to_priest > 0)
        {
            return(1);
        }
        return(0);           // not finish
    }
Exemple #3
0
    int Check()
    {
        int from_priest = 0;
        int from_devil  = 0;
        int to_priest   = 0;
        int to_devil    = 0;

        int[] fromCount = fromCoast.GetobjectsNumber();
        from_priest += fromCount[0];
        from_devil  += fromCount[1];

        int[] toCount = toCoast.GetobjectsNumber();
        to_priest += toCount[0];
        to_devil  += toCount[1];

        if (to_priest + to_devil == 6)
        {
            return(2);
        }

        int[] boatCount = boat.GetobjectsNumber();
        if (boat.get_State() == -1)
        {
            to_priest += boatCount[0];
            to_devil  += boatCount[1];
        }
        else
        {
            from_priest += boatCount[0];
            from_devil  += boatCount[1];
        }
        if (from_priest < from_devil && from_priest > 0)
        {
            return(1);
        }
        if (to_priest < to_devil && to_priest > 0)
        {
            return(1);
        }
        return(0);
    }