private void AggiornaCampo(Campo.PlayerType pt) { GroupBox gb; gb = pt == Campo.PlayerType.Io ? gbCampo : gbAvversario; foreach (var b in gb.Controls.OfType <Button>()) { switch ((Campo.CellType)(b.Tag)) { case Campo.CellType.Mare: b.BackColor = Color.Blue; break; case Campo.CellType.Barca: b.BackColor = Color.BurlyWood; break; case Campo.CellType.Buco: b.BackColor = Color.DarkBlue; break; case Campo.CellType.Colpito: b.BackColor = Color.Firebrick; break; case Campo.CellType.Affondato: b.BackColor = Color.DarkSlateGray; break; default: throw new ArgumentOutOfRangeException(); } } }
private void AggiornaBtnCampo(Campo c, Campo.PlayerType pt) { for (int i = 0; i < c.dimensione; i++) { for (int j = 0; j < c.dimensione; j++) { if (pt == Campo.PlayerType.Io) { btnCampo[i, j].Tag = c.campoIDs[i, j]; } else { btnCampoAvversario[i, j].Tag = c.campoIDs[i, j]; } } } }
public void creaBtnCampo(Campo c, Campo.PlayerType p) { if (p == Campo.PlayerType.Io) { btnCampo = new Button[c.dimensione, c.dimensione]; } else { btnCampoAvversario = new Button[c.dimensione, c.dimensione]; } var y = 30; for (var i = 0; i < c.dimensione; i++) { y += 25; var x = 30; for (var j = 0; j < c.dimensione; j++) { x += 25; var b = new Button { Bounds = new Rectangle(x, y, 25, 25), FlatStyle = FlatStyle.Flat, Tag = c.campoIDs[i, j], TabStop = false, FlatAppearance = { BorderSize = 1 }, Name = i + ";" + j }; if (p == Campo.PlayerType.Io) { btnCampo[i, j] = b; } else { btnCampoAvversario[i, j] = b; } } } }
private void StampaCampo(Button[,] bmat, Campo.PlayerType pt) { foreach (var b in bmat) { switch ((Campo.CellType)(b.Tag)) { case Campo.CellType.Mare: b.BackColor = Color.Blue; break; case Campo.CellType.Barca: b.BackColor = Color.BurlyWood; break; case Campo.CellType.Buco: b.BackColor = Color.DarkSeaGreen; break; case Campo.CellType.Colpito: b.BackColor = Color.Firebrick; break; case Campo.CellType.Affondato: b.BackColor = Color.DarkSlateGray; break; default: throw new ArgumentOutOfRangeException(); } if (pt == Campo.PlayerType.Io) { gbCampo.Controls.Add(b); } else { gbAvversario.Controls.Add(b); } } }
private bool CheckVittoria(Campo.PlayerType pt) { return(pt == Campo.PlayerType.Io ? btnCampo.Cast <Button>().All(b => (Campo.CellType)b.Tag != Campo.CellType.Barca) : btnCampoAvversario.Cast <Button>().All(b => (Campo.CellType)b.Tag != Campo.CellType.Barca)); }