using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
System.Windows.Forms.Button[] Button1;
int[,] a = new int[4, 4];
int bno,nobtpressed=0;
int rdno;
int[] recordbutn = new int[9] { 0, 1, 2, 3, 4, 5, 6, 7, 8 };
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Button1 = new System.Windows.Forms.Button[9];
for (int i = 0; i < 9; ++i)
{
Button1[i] = new Button();
Button1[i].Size = new Size(50, 50);
Button1[i].Click += new System.EventHandler(Button1_Click);
this.Controls.Add(Button1[i]);
if (i <= 2)
Button1[i].Location = new System.Drawing.Point(10 + i * 50, 0 );
else if (i > 2 && i <= 5)
Button1[i].Location = new System.Drawing.Point(10 + (i - 3) * 50, 50 );
else if (i > 5 && i <= 9)
Button1[i].Location = new System.Drawing.Point(10 + (i - 6) * 50, 100 );
Button1[i].Text = "" + i;
}
}
public void Button1_Click(object sender, EventArgs e)
{
// System.Windows.Forms.MessageBox.Show("You have clicked button " +
// ((System.Windows.Forms.Button)sender).Tag.ToString());
//MessageBox.Show(Convert.ToString(((Button)sender).Text));
String tnum = sender.ToString();
int tlen = tnum.Length;
String no = tnum.Substring(tlen - 1);
int temp;
for (int i = 0; i < 9; i++)
{
if (Button1[i].Text == no)
// MessageBox.Show("" + no);
bno = i;
}
// MessageBox.Show(""+bno);
switch (bno)
{
case 0:
//MessageBox.Show("0");
if (Button1[0].Image != pictureBox2.Image && Button1[0].Image != pictureBox1.Image)
{
Button1[0].Image = pictureBox1.Image;
nobtpressed = nobtpressed + 1;
label2.Text = "" + nobtpressed;
temp = recordbutn[0];
recordbutn[0] = recordbutn[9 - nobtpressed];
recordbutn[9 - nobtpressed] = temp;
button2_Click(sender, e);
}
break;
case 1:
// MessageBox.Show("1");
if (Button1[1].Image != pictureBox2.Image && Button1[1].Image != pictureBox1.Image)
{
Button1[1].Image = pictureBox1.Image;
nobtpressed = nobtpressed + 1;
label2.Text = "" + nobtpressed;
temp = recordbutn[1];
recordbutn[1] = recordbutn[9 - nobtpressed];
recordbutn[9 - nobtpressed] = temp;
button2_Click(sender, e);
}
break;
case 2:
// MessageBox.Show("2");
if (Button1[2].Image != pictureBox2.Image && Button1[2].Image != pictureBox1.Image)
{
Button1[2].Image = pictureBox1.Image;
nobtpressed = nobtpressed + 1;
label2.Text = "" + nobtpressed;
temp = recordbutn[2];
recordbutn[2] = recordbutn[9 - nobtpressed];
recordbutn[9 - nobtpressed] = temp;
button2_Click(sender, e);
}
break;
case 3:
//MessageBox.Show("3");
if (Button1[3].Image != pictureBox2.Image && Button1[3].Image != pictureBox1.Image)
{
Button1[3].Image = pictureBox1.Image;
nobtpressed = nobtpressed + 1;
label2.Text = "" + nobtpressed;
temp = recordbutn[3];
recordbutn[3] = recordbutn[9 - nobtpressed];
recordbutn[9 - nobtpressed] = temp;
button2_Click(sender, e);
}
break;
case 4:
//MessageBox.Show("4");
if (Button1[4].Image != pictureBox2.Image && Button1[4].Image != pictureBox1.Image)
{
Button1[4].Image = pictureBox1.Image;
nobtpressed = nobtpressed + 1;
label2.Text = "" + nobtpressed;
temp = recordbutn[4];
recordbutn[4] = recordbutn[9 - nobtpressed];
recordbutn[9 - nobtpressed] = temp;
button2_Click(sender, e);
}
break;
case 5:
// MessageBox.Show("5");
if (Button1[5].Image != pictureBox2.Image && Button1[5].Image != pictureBox1.Image)
{
Button1[5].Image = pictureBox1.Image;
nobtpressed = nobtpressed + 1;
label2.Text = "" + nobtpressed;
temp = recordbutn[5];
recordbutn[5] = recordbutn[9 - nobtpressed];
recordbutn[9 - nobtpressed] = temp;
button2_Click(sender, e);
}
break;
case 6:
// MessageBox.Show("6");
if (Button1[6].Image != pictureBox2.Image && Button1[6].Image != pictureBox1.Image)
{
Button1[6].Image = pictureBox1.Image;
nobtpressed = nobtpressed + 1;
label2.Text = "" + nobtpressed;
temp = recordbutn[6];
recordbutn[6] = recordbutn[9 - nobtpressed];
recordbutn[9 - nobtpressed] = temp;
button2_Click(sender, e);
}
break;
case 7:
// MessageBox.Show("7");
if (Button1[7].Image != pictureBox2.Image && Button1[7].Image != pictureBox1.Image)
{
Button1[7].Image = pictureBox1.Image;
nobtpressed = nobtpressed + 1;
label2.Text = "" + nobtpressed;
temp = recordbutn[7];
recordbutn[7] = recordbutn[9 - nobtpressed];
recordbutn[9 - nobtpressed] = temp;
button2_Click(sender, e);
}
break;
case 8:
// MessageBox.Show("8");
if (Button1[8].Image != pictureBox2.Image && Button1[8].Image != pictureBox1.Image)
{
Button1[8].Image = pictureBox1.Image;
nobtpressed = nobtpressed + 1;
label2.Text = "" + nobtpressed;
temp = recordbutn[8];
recordbutn[8] = recordbutn[9 - nobtpressed];
recordbutn[9 - nobtpressed] = temp;
button2_Click(sender, e);
}
break;
}
}
private void button2_Click(object sender, EventArgs e)
{
if (nobtpressed < 8)
{
Random rd = new Random();
int rdno = rd.Next(0, 9 - nobtpressed);
label1.Text = "" + recordbutn[rdno];
if (Button1[recordbutn[rdno]].Image != pictureBox2.Image && Button1[recordbutn[rdno]].Image != pictureBox1.Image)
{
Button1[recordbutn[rdno]].Image = pictureBox2.Image;
nobtpressed = nobtpressed + 1;
label2.Text = "" + nobtpressed;
int temp = recordbutn[rdno];
recordbutn[rdno] = recordbutn[9 - nobtpressed];
recordbutn[9 - nobtpressed] = temp;
}
else
{
button2_Click(sender, e);
}
}
if (nobtpressed <= 9)
{
if (Button1[0].Image == pictureBox1.Image && Button1[1].Image == pictureBox1.Image && Button1[2].Image == pictureBox1.Image
|| Button1[3].Image == pictureBox1.Image && Button1[4].Image == pictureBox1.Image && Button1[5].Image == pictureBox1.Image
|| Button1[6].Image == pictureBox1.Image && Button1[7].Image == pictureBox1.Image && Button1[8].Image == pictureBox1.Image
|| Button1[0].Image == pictureBox1.Image && Button1[3].Image == pictureBox1.Image && Button1[6].Image == pictureBox1.Image
|| Button1[1].Image == pictureBox1.Image && Button1[4].Image == pictureBox1.Image && Button1[7].Image == pictureBox1.Image
|| Button1[2].Image == pictureBox1.Image && Button1[5].Image == pictureBox1.Image && Button1[8].Image == pictureBox1.Image
|| Button1[0].Image == pictureBox1.Image && Button1[4].Image == pictureBox1.Image && Button1[8].Image == pictureBox1.Image
|| Button1[2].Image == pictureBox1.Image && Button1[4].Image == pictureBox1.Image && Button1[6].Image == pictureBox1.Image)
{
MessageBox.Show("YOU WIN!!");
}
else if (Button1[0].Image == pictureBox2.Image && Button1[1].Image == pictureBox2.Image && Button1[2].Image == pictureBox2.Image
|| Button1[3].Image == pictureBox2.Image && Button1[4].Image == pictureBox2.Image && Button1[5].Image == pictureBox2.Image
|| Button1[6].Image == pictureBox2.Image && Button1[7].Image == pictureBox2.Image && Button1[8].Image == pictureBox2.Image
|| Button1[0].Image == pictureBox2.Image && Button1[3].Image == pictureBox2.Image && Button1[6].Image == pictureBox2.Image
|| Button1[1].Image == pictureBox2.Image && Button1[4].Image == pictureBox2.Image && Button1[7].Image == pictureBox2.Image
|| Button1[2].Image == pictureBox2.Image && Button1[5].Image == pictureBox2.Image && Button1[8].Image == pictureBox2.Image
|| Button1[0].Image == pictureBox2.Image && Button1[4].Image == pictureBox2.Image && Button1[8].Image == pictureBox2.Image
|| Button1[2].Image == pictureBox2.Image && Button1[4].Image == pictureBox2.Image && Button1[6].Image == pictureBox2.Image)
{
MessageBox.Show("電腦獲勝!!");
}
else if(nobtpressed==9)
{
MessageBox.Show("平手");
}
}
}
private void button3_Click(object sender, EventArgs e)
{
if (MessageBox.Show("是否要重新開始遊戲?", "重新開始", MessageBoxButtons.YesNo,
MessageBoxIcon.Information, MessageBoxDefaultButton.Button1,
MessageBoxOptions.DefaultDesktopOnly) == DialogResult.Yes)
{
System.Windows.Forms.Application.Restart();
}
}
}
}
沒有留言:
張貼留言