まるばつゲームの盤を作ります。クリックすると、○・×が現れる単純なものです。
public class TestApp { public static void Main() { System.Windows.Forms.Application.Run(new MainForm()); } } public class MainForm : System.Windows.Forms.Form { private System.Windows.Forms.Label c1; private System.Windows.Forms.Label c2; private System.Windows.Forms.Label c3; private System.Windows.Forms.Label c4; private System.Windows.Forms.Label c5; private System.Windows.Forms.Label c6; private System.Windows.Forms.Label c7; private System.Windows.Forms.Label c8; private System.Windows.Forms.Label c9; private System.Windows.Forms.PictureBox c10; private System.String c11; public MainForm() { this.Text = "まるばつ"; this.ClientSize = new System.Drawing.Size(300, 300); c1 = new System.Windows.Forms.Label(); c1.Top = 5; c1.Left = 5; c1.Width = 90; c1.Height = 90; c1.Font = new System.Drawing.Font(System.Windows.Forms.Control.DefaultFont.Name, 50); c1.TextAlign = System.Drawing.ContentAlignment.BottomCenter; c1.Click += c1_Click; this.Controls.Add(c1); c2 = new System.Windows.Forms.Label(); c2.Top = 5; c2.Left = 105; c2.Width = 90; c2.Height = 90; c2.Font = new System.Drawing.Font(System.Windows.Forms.Control.DefaultFont.Name, 50); c2.TextAlign = System.Drawing.ContentAlignment.BottomCenter; c2.Click += c2_Click; this.Controls.Add(c2); c3 = new System.Windows.Forms.Label(); c3.Top = 5; c3.Left = 205; c3.Width = 90; c3.Height = 90; c3.Font = new System.Drawing.Font(System.Windows.Forms.Control.DefaultFont.Name, 50); c3.TextAlign = System.Drawing.ContentAlignment.BottomCenter; c3.Click += c3_Click; this.Controls.Add(c3); c4 = new System.Windows.Forms.Label(); c4.Top = 105; c4.Left = 5; c4.Width = 90; c4.Height = 90; c4.Font = new System.Drawing.Font(System.Windows.Forms.Control.DefaultFont.Name, 50); c4.TextAlign = System.Drawing.ContentAlignment.BottomCenter; c4.Click += c4_Click; this.Controls.Add(c4); c5 = new System.Windows.Forms.Label(); c5.Top = 105; c5.Left = 105; c5.Width = 90; c5.Height = 90; c5.Font = new System.Drawing.Font(System.Windows.Forms.Control.DefaultFont.Name, 50); c5.TextAlign = System.Drawing.ContentAlignment.BottomCenter; c5.Click += c5_Click; this.Controls.Add(c5); c6 = new System.Windows.Forms.Label(); c6.Top = 105; c6.Left = 205; c6.Width = 90; c6.Height = 90; c6.Font = new System.Drawing.Font(System.Windows.Forms.Control.DefaultFont.Name, 50); c6.TextAlign = System.Drawing.ContentAlignment.BottomCenter; c6.Click += c6_Click; this.Controls.Add(c6); c7 = new System.Windows.Forms.Label(); c7.Top = 205; c7.Left = 5; c7.Width = 90; c7.Height = 90; c7.Font = new System.Drawing.Font(System.Windows.Forms.Control.DefaultFont.Name, 50); c7.TextAlign = System.Drawing.ContentAlignment.BottomCenter; c7.Click += c7_Click; this.Controls.Add(c7); c8 = new System.Windows.Forms.Label(); c8.Top = 205; c8.Left = 105; c8.Width = 90; c8.Height = 90; c8.Font = new System.Drawing.Font(System.Windows.Forms.Control.DefaultFont.Name, 50); c8.TextAlign = System.Drawing.ContentAlignment.BottomCenter; c8.Click += c8_Click; this.Controls.Add(c8); c9 = new System.Windows.Forms.Label(); c9.Top = 205; c9.Left = 205; c9.Width = 90; c9.Height = 90; c9.Font = new System.Drawing.Font(System.Windows.Forms.Control.DefaultFont.Name, 50); c9.TextAlign = System.Drawing.ContentAlignment.BottomCenter; c9.Click += c9_Click; this.Controls.Add(c9); c10 = new System.Windows.Forms.PictureBox(); c10.Width = 300; c10.Height = 300; System.Drawing.Bitmap canvas = new System.Drawing.Bitmap(c10.Width, c10.Height); System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(canvas); g.DrawLine(System.Drawing.Pens.Black, 0, 100, 300, 100); g.DrawLine(System.Drawing.Pens.Black, 0, 200, 300, 200); g.DrawLine(System.Drawing.Pens.Black, 100, 0, 100, 300); g.DrawLine(System.Drawing.Pens.Black, 200, 0, 200, 300); g.Dispose(); c10.Image = canvas; this.Controls.Add(c10); c11 = "○"; } private void c1_Click(object btn, System.EventArgs e) { if (c1.Text == "") { c1.Text = c11; } toggle_c11(); } private void c2_Click(object btn, System.EventArgs e) { if (c2.Text == "") { c2.Text = c11; } toggle_c11(); } private void c3_Click(object btn, System.EventArgs e) { if (c3.Text == "") { c3.Text = c11; } toggle_c11(); } private void c4_Click(object btn, System.EventArgs e) { if (c4.Text == "") { c4.Text = c11; } toggle_c11(); } private void c5_Click(object btn, System.EventArgs e) { if (c5.Text == "") { c5.Text = c11; } toggle_c11(); } private void c6_Click(object btn, System.EventArgs e) { if (c6.Text == "") { c6.Text = c11; } toggle_c11(); } private void c7_Click(object btn, System.EventArgs e) { if (c7.Text == "") { c7.Text = c11; } toggle_c11(); } private void c8_Click(object btn, System.EventArgs e) { if (c8.Text == "") { c8.Text = c11; } toggle_c11(); } private void c9_Click(object btn, System.EventArgs e) { if (c9.Text == "") { c9.Text = c11; } toggle_c11(); } private void toggle_c11() { if (c11 == "○") { c11 = "×"; } else { c11 = "○"; } } }
プログラムが長くて疲れましたか?
プログラムに繰り返しが多くて、とても無駄を感じたとしたら、それは正解です!
次はこのプログラムを短くします。