// 检查游戏是否结束 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); }
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 }
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); }