protected void checkStaleMate() { _staleMate = true; var posFuncs = new List <BoardUtil.PosFunc>() { checkPos }; BoardUtil.functionToEachPos(posFuncs, Info.Board); if (_staleMate) { endGame(true); } }
protected override void turnEnded() { if (getTurn() % intervalInfluence == 0) { foreach (var id in _unInfluencedPoses.Keys) { var player = Info.getPlayer(id); if (player.isLoser()) { continue; } _unInfluencedPoses[id].Clear(); } } BoardUtil.functionToEachPos(new List <BoardUtil.PosFunc> { placeProcess }, Info.Board); if (getTurn() % intervalInfluence == 0) { foreach (var id in _unInfluencedPoses.Keys) { if (_unInfluencedPoses[id].Count > 0) { var rand = Random.Range(0, _unInfluencedPoses[id].Count); Info.Board.getPiece(_unInfluencedPoses[id][rand]).getAttribute <CoVidAttribute>().influenced(getTurn()); } } } Info.checkLoser(); if (Info.getRemainPlayerNum() <= 1) { endGame(); } }