public void CharacterIsClicked(CharacterController characterCtrl) { if (CheckGameOver() == 0) { if (characterCtrl.IsOnBoat()) { CoastController whichCoast; if (boat.Get_end_or_start() == -1) { // end->-1; start->1 whichCoast = endCoast; } else { whichCoast = startCoast; } boat.GetOffBoat(characterCtrl.GetName()); characterCtrl.moveToPosition(whichCoast.GetEmptyPosition()); //actionManager.MoveCharacter(characterCtrl, whichCoast.GetEmptyPosition()); characterCtrl.GetOnCoast(whichCoast); whichCoast.GetOnCoast(characterCtrl); } else // character on coast { CoastController whichCoast = characterCtrl.GetCoastController(); if (boat.GetEmptyIndex() == -1) { // full return; } if (whichCoast.Get_end_or_start() != boat.Get_end_or_start()) { return; } whichCoast.GetOffCoast(characterCtrl.GetName()); characterCtrl.moveToPosition(boat.GetEmptyPosition()); //actionManager.MoveCharacter(characterCtrl, boat.GetEmptyPosition()); characterCtrl.GetOnBoat(boat); boat.GetOnBoat(characterCtrl); } } userGUI.status = CheckGameOver(); }