public void PrintGameOverWithWinnerMessage(Player i_Winner) { string GameOverMessage; FormClosing -= FormOthloGameBoard_FormClosing; if (i_Winner == null) { GameOverMessage = string.Format( @"Game is over! - We have a tie! Want a new game?"); } else { GameOverMessage = string.Format( @"Game is over! - The winner is {0} Want a new game?", i_Winner.Name); } DialogResult dialogResult = MessageBox.Show(GameOverMessage, "Game Over", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { Dispose(); NewRound.Invoke(); } else if (dialogResult == DialogResult.No) { Close(); } }
public List <Block> SplitBlock() { CityCenter = GetCityCenter(); var blocks = new List <Block>(); int round = 1; while (Spread(round++, blocks)) { blocks = blocks.Where(i => i.InCity).ToList(); var left = (from q in blocks orderby q.Center.Lng select q.Center.Lng).FirstOrDefault(); var top = (from q in blocks orderby q.Center.Lat descending select q.Center.Lat).FirstOrDefault(); var bottom = (from q in blocks orderby q.Center.Lat select q.Center.Lat).FirstOrDefault(); var right = (from q in blocks orderby q.Center.Lng descending select q.Center.Lng).FirstOrDefault(); MapPainter mp = new MapPainter(left, top, bottom, right); foreach (var block in blocks) { mp.Draw(block.Center.Lat, block.Center.Lng, block.DistrictColor); } if (NewRound != null) { NewRound.Invoke(this, new NewRoundEventArgs() { Count = blocks.Count, Map = mp.Map }); } } return(blocks); }