//crawforddavid2006
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace Tic_Tac_Toe
{
public partial class MainForm : Form
{
bool player1 = true;
bool player1Win = false;
bool player2Win = false;
[STAThread]
public static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
public MainForm()
{
InitializeComponent();
}
void MainFormLoad(object sender, EventArgs e)
{
statusLable.Text = "Click 'New Game' to begin.";
textBox1.Text = "Click 'New Game' to begin.";
startButton.Enabled = false;
label1.Enabled = false;
label2.Enabled = false;
label3.Enabled = false;
label4.Enabled = false;
label5.Enabled = false;
label6.Enabled = false;
label7.Enabled = false;
label8.Enabled = false;
label9.Enabled = false;
}
void StatusStrip1ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
}
void ExitButtonClick(object sender, EventArgs e)
{
Application.Exit();
}
void NewGameButtonClick(object sender, EventArgs e)
{
label1.Text = "";
label2.Text = "";
label3.Text = "";
label4.Text = "";
label5.Text = "";
label6.Text = "";
label7.Text = "";
label8.Text = "";
label9.Text = "";
label1.Enabled = false;
label2.Enabled = false;
label3.Enabled = false;
label4.Enabled = false;
label5.Enabled = false;
label6.Enabled = false;
label7.Enabled = false;
label8.Enabled = false;
label9.Enabled = false;
player1 = true;
player1Win = false;
player2Win = false;
statusLable.Text = "Click 'Start' to begin.";
textBox1.Text = "Click 'Start' to begin.";
startButton.Enabled = true;
}
void StartButtonClick(object sender, EventArgs e)
{
statusLable.Text = "Player 1";
textBox1.Text = "Player 1";
label1.Enabled = true;
label2.Enabled = true;
label3.Enabled = true;
label4.Enabled = true;
label5.Enabled = true;
label6.Enabled = true;
label7.Enabled = true;
label8.Enabled = true;
label9.Enabled = true;
startButton.Enabled = false;
player1 = true;
}
void Label1Click(object sender, EventArgs e)
{
if(player1 == true)
{
label1.Text = "X";
player1 = false;
label1.Enabled = false;
checkForWinner();
if(player1Win == true)
{
statusLable.Text = "Player 1 Wins";
textBox1.Text = "Player 1 Wins";
}
else
{
statusLable.Text = "Player 2";
textBox1.Text = "Player 2";
}
}
else
{
label1.Text = "O";
player1 = true;
label1.Enabled = false;
checkForWinner();
if(player2Win == true)
{
statusLable.Text = "Player 2 Wins";
textBox1.Text = "Player 2 Wins";
}
else
{
statusLable.Text = "Player 1";
textBox1.Text = "Player 1";
}
}
}
void Label2Click(object sender, EventArgs e)
{
if(player1 == true)
{
label2.Text = "X";
player1 = false;
label2.Enabled = false;
checkForWinner();
if(player1Win == true)
{
statusLable.Text = "Player 1 Wins";
textBox1.Text = "Player 1 Wins";
}
else
{
statusLable.Text = "Player 2";
textBox1.Text = "Player 2";
}
}
else
{
label2.Text = "O";
player1 = true;
label2.Enabled = false;
checkForWinner();
if(player2Win == true)
{
statusLable.Text = "Player 2 Wins";
textBox1.Text = "Player 2 Wins";
}
else
{
statusLable.Text = "Player 1";
textBox1.Text = "Player 1";
}
}
}
void Label3Click(object sender, EventArgs e)
{
if(player1 == true)
{
label3.Text = "X";
//player1 = false;
label3.Enabled = false;
checkForWinner();
if(player1Win == true)
{
statusLable.Text = "Player 1 Wins";
textBox1.Text = "Player 1 Wins";
}
else
{
player1 = false;
statusLable.Text = "Player 2";
textBox1.Text = "Player 2";
}
}
else
{
label3.Text = "O";
//player1 = true;
label3.Enabled = false;
checkForWinner();
if(player2Win == true)
{
statusLable.Text = "Player 2 Wins";
textBox1.Text = "Player 2 Wins";
}
else
{
player1 = true;
statusLable.Text = "Player 1";
textBox1.Text = "Player 1";
}
}
}
void Label4Click(object sender, EventArgs e)
{
if(player1 == true)
{
label4.Text = "X";
player1 = false;
label4.Enabled = false;
checkForWinner();
if(player1Win == true)
{
statusLable.Text = "Player 1 Wins";
textBox1.Text = "Player 1 Wins";
}
else
{
statusLable.Text = "Player 2";
textBox1.Text = "Player 2";
}
}
else
{
label4.Text = "O";
player1 = true;
label4.Enabled = false;
checkForWinner();
if(player2Win == true)
{
statusLable.Text = "Player 2 Wins";
textBox1.Text = "Player 2 Wins";
}
else
{
statusLable.Text = "Player 1";
textBox1.Text = "Player 1";
}
}
}
void Label5Click(object sender, EventArgs e)
{
if(player1 == true)
{
label5.Text = "X";
player1 = false;
label5.Enabled = false;
checkForWinner();
if(player1Win == true)
{
statusLable.Text = "Player 1 Wins";
textBox1.Text = "Player 1 Wins";
}
else
{
statusLable.Text = "Player 2";
textBox1.Text = "Player 2";
}
}
else
{
label5.Text = "O";
player1 = true;
label5.Enabled = false;
checkForWinner();
if(player2Win == true)
{
statusLable.Text = "Player 2 Wins";
textBox1.Text = "Player 2 Wins";
}
else
{
statusLable.Text = "Player 1";
textBox1.Text = "Player 1";
}
}
}
void Label6Click(object sender, EventArgs e)
{
if(player1 == true)
{
label6.Text = "X";
player1 = false;
label6.Enabled = false;
checkForWinner();
if(player1Win == true)
{
statusLable.Text = "Player 1 Wins";
textBox1.Text = "Player 1 Wins";
}
else
{
statusLable.Text = "Player 2";
textBox1.Text = "Player 2";
}
}
else
{
label6.Text = "O";
player1 = true;
label6.Enabled = false;
checkForWinner();
if(player2Win == true)
{
statusLable.Text = "Player 2 Wins";
textBox1.Text = "Player 2 Wins";
}
else
{
statusLable.Text = "Player 1";
textBox1.Text = "Player 1";
}
}
}
void Label7Click(object sender, EventArgs e)
{
if(player1 == true)
{
label7.Text = "X";
player1 = false;
label7.Enabled = false;
checkForWinner();
if(player1Win == true)
{
statusLable.Text = "Player 1 Wins";
textBox1.Text = "Player 1 Wins";
}
else
{
statusLable.Text = "Player 2";
textBox1.Text = "Player 2";
}
}
else
{
label7.Text = "O";
player1 = true;
label7.Enabled = false;
checkForWinner();
if(player2Win == true)
{
statusLable.Text = "Player 2 Wins";
textBox1.Text = "Player 2 Wins";
}
else
{
statusLable.Text = "Player 1";
textBox1.Text = "Player 1";
}
}
}
void Label8Click(object sender, EventArgs e)
{
if(player1 == true)
{
label8.Text = "X";
player1 = false;
label8.Enabled = false;
checkForWinner();
if(player1Win == true)
{
statusLable.Text = "Player 1 Wins";
textBox1.Text = "Player 1 Wins";
}
else
{
statusLable.Text = "Player 2";
textBox1.Text = "Player 2";
}
}
else
{
label8.Text = "O";
player1 = true;
label8.Enabled = false;
checkForWinner();
if(player2Win == true)
{
statusLable.Text = "Player 2 Wins";
textBox1.Text = "Player 2 Wins";
}
else
{
statusLable.Text = "Player 1";
textBox1.Text = "Player 1";
}
}
}
void Label9Click(object sender, EventArgs e)
{
if(player1 == true)
{
label9.Text = "X";
player1 = false;
label9.Enabled = false;
checkForWinner();
if(player1Win == true)
{
statusLable.Text = "Player 1 Wins";
textBox1.Text = "Player 1 Wins";
}
else
{
statusLable.Text = "Player 2";
textBox1.Text = "Player 2";
}
}
else
{
label9.Text = "O";
player1 = true;
label9.Enabled = false;
checkForWinner();
if(player2Win == true)
{
statusLable.Text = "Player 2 Wins";
textBox1.Text = "Player 2 Wins";
}
else
{
statusLable.Text = "Player 1";
textBox1.Text = "Player 1";
}
}
}
void checkForWinner()
{
//player 1
if(label1.Text == "X" && label2.Text == "X" && label3.Text == "X")
{
player1Win = true;
reset();
}
else if(label4.Text == "X" && label5.Text == "X" && label6.Text == "X")
{
player1Win = true;
reset();
}
else if(label7.Text == "X" && label8.Text == "X" && label9.Text == "X")
{
player1Win = true;
reset();
}
else if(label1.Text == "X" && label4.Text == "X" && label7.Text == "X")
{
player1Win = true;
reset();
}
else if(label2.Text == "X" && label5.Text == "X" && label8.Text == "X")
{
player1Win = true;
reset();
}
else if(label3.Text == "X" && label6.Text == "X" && label9.Text == "X")
{
player1Win = true;
reset();
}
else if(label1.Text == "X" && label5.Text == "X" && label9.Text == "X")
{
player1Win = true;
reset();
}
else if(label3.Text == "X" && label5.Text == "X" && label7.Text == "X")
{
player1Win = true;
reset();
}
//player 2
else if(label1.Text == "O" && label2.Text == "O" && label3.Text == "O")
{
player2Win = true;
reset();
}
else if(label4.Text == "O" && label5.Text == "O" && label6.Text == "O")
{
player2Win = true;
reset();
}
else if(label7.Text == "O" && label8.Text == "O" && label9.Text == "O")
{
player2Win = true;
reset();
}
else if(label1.Text == "O" && label4.Text == "O" && label7.Text == "O")
{
player2Win = true;
reset();
}
else if(label2.Text == "O" && label5.Text == "O" && label8.Text == "O")
{
player2Win = true;
reset();
}
else if(label3.Text == "O" && label6.Text == "O" && label9.Text == "O")
{
player2Win = true;
reset();
}
else if(label1.Text == "O" && label5.Text == "O" && label9.Text == "O")
{
player2Win = true;
reset();
}
else if(label3.Text == "O" && label5.Text == "O" && label7.Text == "O")
{
player2Win = true;
reset();
}
else
{
player1Win = false;
player2Win = false;
}
}
void reset()
{
label1.Enabled = false;
label2.Enabled = false;
label3.Enabled = false;
label4.Enabled = false;
label5.Enabled = false;
label6.Enabled = false;
label7.Enabled = false;
label8.Enabled = false;
label9.Enabled = false;
}
}
}