//检查游戏状态 void check() { GameSceneController scene = GameSceneController.GetInstance(); int p_on_Bank = 0, d_on_Bank = 0; int p_s = 0, d_s = 0, p_e = 0, d_e = 0; if (p_end.Count == 3 && d_end.Count == 3) { scene.Set_message("Win!"); return; } for (int i = 0; i < 2; ++i) { if (boat[i] != null && boat[i].tag == "Priest") { p_on_Bank++; //给牧师和恶魔添加Tag,以区分 } else if (boat[i] != null && boat[i].tag == "Devil") { d_on_Bank++; } } if (side == 1) { p_e = p_end.Count; d_e = d_end.Count; p_s = p_start.Count + p_on_Bank; d_s = d_start.Count + d_on_Bank; } else if (side == 2) { p_e = p_on_Bank + p_end.Count; d_e = d_on_Bank + d_end.Count; p_s = p_start.Count; d_s = d_start.Count; } if ((p_e < d_e && p_e != 0) || (p_s < d_s && p_s != 0)) { scene.Set_message("Lose!"); } }