public void move() { if (isFinished) { isFinished = false; Debug.Log(count); int[] fromCount = firstScene.fromCoast.GetobjectsNumber(); priestNum = fromCount[0]; devilNum = fromCount[1]; BoatCoast = firstScene.boat.get_State(); if (count == 0) { nextState = getNext(); if ((int)nextState >= 3) { num = 2; } else if ((int)nextState > 0) { num = 1; } else { num = 0; } count++; } Debug.Log("next state is " + nextState); DoAction(); } }
private Boataction getNext() { Boataction next = Boataction.empty; if (BoatCoast == 1) { if (devilNum == 3 && priestNum == 3)//3P3DB { next = Boataction.PD; } else if (devilNum == 2 && priestNum == 3)//3P2DB { next = Boataction.DD; } else if (devilNum == 1 && priestNum == 3)//3P1DB { next = Boataction.PP; } else if (devilNum == 2 && priestNum == 2)//2P2DB { next = Boataction.PP; } else if (devilNum == 3 && priestNum == 0)//3DB { next = Boataction.DD; } else if (devilNum == 1 && priestNum == 1)//1P1DB { next = Boataction.PD; } else if (devilNum == 2 && priestNum == 0)//2DB { next = Boataction.D; } else if (devilNum == 1 && priestNum == 2)//2P1DB { next = Boataction.P; } else if (devilNum == 2 && priestNum == 1)//1P2DB { next = Boataction.P; } else if (devilNum == 1 && priestNum == 0)//1DB { next = Boataction.D; } else if (devilNum == 3 && priestNum == 2)//2P3DB { next = Boataction.D; } else { next = Boataction.empty; } } else { if (devilNum == 2 && priestNum == 2)//2P2D { next = Boataction.empty; } else if (devilNum == 1 && priestNum == 3)//3P1D { next = Boataction.empty; } else if (devilNum == 2 && priestNum == 3)//3P2D { next = Boataction.D; } else if (devilNum == 0 && priestNum == 3)//3P { next = Boataction.empty; } else if (devilNum == 1 && priestNum == 1)//1P1D { next = Boataction.D; } else if (devilNum == 2 && priestNum == 0)//2D { next = Boataction.D; } else if (devilNum == 1 && priestNum == 0)//1D { next = Boataction.empty; } else { next = Boataction.empty; } } return(next); }