Ive made a 2 player Tick Tack Toe game and have got it all working with bells n whistles etc. But... where I have the winning combinations, there is a ridiculas amount of repeated code and was hoping somone might know of a better way to do this... maybe by checking through a loop or somthing to reduce the code.
There are 4 game modes; 3x3 , 4x4 , 5x5 , 6x6 playing grids. For each playing mode there are separate winning combinations for each. The playing grid size is selected by choosing a number 3 - 6 from a comboBox.... gridSizeComboBox.SelectedIndex == 0 contains the winning combinations for the first number in the comboBox, which is 3 (3x3).. gridSizeComboBox.SelectedIndex == 1, second number in the comboBox which is 4 (4x4) and so on...
Game buttons are created using a multi dimensional array - its a requirment!
Here's the code:
Code: Select all
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;
using System.Media;
namespace TickTackToeAssignment
{
public partial class GamePlayForm : Form
{
int P1Score, P2Score, B, draw = 0;
Button[,] tickTackButton;
bool buttonChanged;
public GamePlayForm()
{
InitializeComponent();
}
private void exitGameButton_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Do you really want to leave when we're having so much fun?", "Exit Game", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
{
if (MessageBox.Show("yOUr NOt gOinG AnyWHeRe!!!", "Escape", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
{
Application.Exit();
}
}
}
private void mainMenuButton_Click(object sender, EventArgs e)
{
Form mainMenu = new WelcomeScreenForm();
mainMenu.Show();
this.Hide();
}
private void GamePlayForm_Load(object sender, EventArgs e)
{
SoundPlayer welcome = new SoundPlayer();
welcome.SoundLocation = Application.StartupPath + "\\..\\..\\welcome.wav";
welcome.Play();
gridSizeComboBox.SelectedIndex = 0;
playerTextBox.ReadOnly = true;
P1ScoreLabel.Text = P1Score.ToString();
P2ScoreLabel.Text = P2Score.ToString();
drawnScoreLabel.Text = draw.ToString();
}
private void gridSizeComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
if (gridSizeComboBox.SelectedIndex == 0)
{
gridSizeLabel.Text = ("3 X");
}
if (gridSizeComboBox.SelectedIndex == 1)
{
gridSizeLabel.Text = ("4 X");
}
if (gridSizeComboBox.SelectedIndex == 2)
{
gridSizeLabel.Text = ("5 X");
}
if (gridSizeComboBox.SelectedIndex == 3)
{
gridSizeLabel.Text = ("6 X");
}
}
private void playGameButton_Click(object sender, EventArgs e)
{
playerTextBox.Text = "PLAYER 1";
groupBoxButtons.Controls.Clear();
int gridSize = int.Parse(gridSizeComboBox.Text);
GamePlayForm.ActiveForm.Size = new System.Drawing.Size((gridSizeComboBox.SelectedIndex * 88) + 540, (gridSizeComboBox.SelectedIndex * 88) + 420);
groupBoxButtons.Size = new System.Drawing.Size((gridSizeComboBox.SelectedIndex * 88) + 400, (gridSizeComboBox.SelectedIndex * 88) + 320);
tickTackButton = new Button[gridSize, gridSize];
for (int i = 0; i < gridSize; i++)
{
for (int x = 0; x < gridSize; x++)
{
tickTackButton[x, i] = new Button();
tickTackButton[x, i].Name = "tickTackButton" + x + ", " + i;
tickTackButton[x, i].Width = 75;
tickTackButton[x, i].Height = 75;
tickTackButton[x, i].Left = tickTackButton[x, i].Width + (x * 88);
tickTackButton[x, i].Top = tickTackButton[x, i].Top + tickTackButton[x, i].Top + 35 + (i * 88);
tickTackButton[x, i].Text = " ";
tickTackButton[x, i].BackColor = Color.Purple;
groupBoxButtons.Controls.Add(tickTackButton[x, i]);
tickTackButton[x, i].Click += new EventHandler(Button_Click);
buttonChanged = false;
}
}
}
private void Button_Click(object sender, EventArgs e)
{
SoundPlayer buttonSound = new SoundPlayer();
buttonSound.SoundLocation = Application.StartupPath + "\\..\\..\\buttonSound.wav";
buttonSound.Play();
Button clickedButton = (Button)sender;
if (buttonChanged == false)
{
buttonChanged = true;
clickedButton.Text = "X";
clickedButton.Font = new System.Drawing.Font("chiller", 42, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
clickedButton.Enabled = false;
playerTextBox.Text = "PLAYER 2";
}
else
{
buttonChanged = false;
clickedButton.Text = "O";
clickedButton.Font = new System.Drawing.Font("chiller", 42, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
clickedButton.Enabled = false;
playerTextBox.Text = "PLAYER 1";
}
checkForWinner();
}
#region tickTackToe Game Results Generator
private void checkForWinner()
{
if(gridSizeComboBox.SelectedIndex == 0)
{
B++;
//3x3 Col
if ((tickTackButton[0, 0].Text == "X" && tickTackButton[0, 1].Text == "X" && tickTackButton[0, 2].Text == "X")
|| (tickTackButton[1, 0].Text == "X" && tickTackButton[1, 1].Text == "X" && tickTackButton[1, 2].Text == "X")
|| (tickTackButton[2, 0].Text == "X" && tickTackButton[2, 1].Text == "X" && tickTackButton[2, 2].Text == "X")
// Row
|| (tickTackButton[0, 0].Text == "X" && tickTackButton[1, 0].Text == "X" && tickTackButton[2, 0].Text == "X")
|| (tickTackButton[0, 1].Text == "X" && tickTackButton[1, 1].Text == "X" && tickTackButton[2, 1].Text == "X")
|| (tickTackButton[0, 2].Text == "X" && tickTackButton[1, 2].Text == "X" && tickTackButton[2, 2].Text == "X")
// Diag
|| (tickTackButton[0, 0].Text == "X" && tickTackButton[1, 1].Text == "X" && tickTackButton[2, 2].Text == "X")
|| (tickTackButton[0, 2].Text == "X" && tickTackButton[1, 1].Text == "X" && tickTackButton[2, 0].Text == "X"))
{
int P = 1;
PlayerWins(P);
}
if ((tickTackButton[0, 0].Text == "O" && tickTackButton[0, 1].Text == "O" && tickTackButton[0, 2].Text == "O")
|| (tickTackButton[1, 0].Text == "O" && tickTackButton[1, 1].Text == "O" && tickTackButton[1, 2].Text == "O")
|| (tickTackButton[2, 0].Text == "O" && tickTackButton[2, 1].Text == "O" && tickTackButton[2, 2].Text == "O")
|| (tickTackButton[0, 0].Text == "O" && tickTackButton[1, 0].Text == "O" && tickTackButton[2, 0].Text == "O")
|| (tickTackButton[0, 1].Text == "O" && tickTackButton[1, 1].Text == "O" && tickTackButton[2, 1].Text == "O")
|| (tickTackButton[0, 2].Text == "O" && tickTackButton[1, 2].Text == "O" && tickTackButton[2, 2].Text == "O")
|| (tickTackButton[0, 0].Text == "O" && tickTackButton[1, 1].Text == "O" && tickTackButton[2, 2].Text == "O")
|| (tickTackButton[0, 2].Text == "O" && tickTackButton[1, 1].Text == "O" && tickTackButton[2, 0].Text == "O"))
{
int P = 2;
PlayerWins(P);
}
else if (B == 9)
{
int P = 0;
PlayerWins(P);
}
}
if (gridSizeComboBox.SelectedIndex == 1)
{
B++;
//4x4 Col
if ((tickTackButton[0, 0].Text == "X" && tickTackButton[0, 1].Text == "X" && tickTackButton[0, 2].Text == "X")
|| (tickTackButton[0, 1].Text == "X" && tickTackButton[0, 2].Text == "X" && tickTackButton[0, 3].Text == "X")
|| (tickTackButton[1, 0].Text == "X" && tickTackButton[1, 1].Text == "X" && tickTackButton[1, 2].Text == "X")
|| (tickTackButton[1, 1].Text == "X" && tickTackButton[1, 2].Text == "X" && tickTackButton[1, 3].Text == "X")
|| (tickTackButton[2, 0].Text == "X" && tickTackButton[2, 1].Text == "X" && tickTackButton[2, 2].Text == "X")
|| (tickTackButton[2, 1].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[2, 3].Text == "X")
|| (tickTackButton[3, 0].Text == "X" && tickTackButton[3, 1].Text == "X" && tickTackButton[3, 2].Text == "X")
|| (tickTackButton[3, 1].Text == "X" && tickTackButton[3, 2].Text == "X" && tickTackButton[3, 3].Text == "X")
// Row
|| (tickTackButton[0, 0].Text == "X" && tickTackButton[1, 0].Text == "X" && tickTackButton[2, 0].Text == "X")
|| (tickTackButton[1, 0].Text == "X" && tickTackButton[2, 0].Text == "X" && tickTackButton[3, 0].Text == "X")
|| (tickTackButton[0, 1].Text == "X" && tickTackButton[1, 1].Text == "X" && tickTackButton[2, 1].Text == "X")
|| (tickTackButton[1, 1].Text == "X" && tickTackButton[2, 1].Text == "X" && tickTackButton[3, 1].Text == "X")
|| (tickTackButton[0, 2].Text == "X" && tickTackButton[1, 2].Text == "X" && tickTackButton[2, 2].Text == "X")
|| (tickTackButton[1, 2].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[3, 2].Text == "X")
|| (tickTackButton[0, 3].Text == "X" && tickTackButton[1, 3].Text == "X" && tickTackButton[2, 3].Text == "X")
|| (tickTackButton[1, 3].Text == "X" && tickTackButton[2, 3].Text == "X" && tickTackButton[3, 3].Text == "X")
// Diag
|| (tickTackButton[0, 1].Text == "X" && tickTackButton[1, 2].Text == "X" && tickTackButton[2, 3].Text == "X")
|| (tickTackButton[0, 0].Text == "X" && tickTackButton[1, 1].Text == "X" && tickTackButton[2, 2].Text == "X")
|| (tickTackButton[1, 1].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[3, 3].Text == "X")
|| (tickTackButton[1, 0].Text == "X" && tickTackButton[2, 1].Text == "X" && tickTackButton[3, 2].Text == "X")
|| (tickTackButton[0, 2].Text == "X" && tickTackButton[1, 1].Text == "X" && tickTackButton[2, 0].Text == "X")
|| (tickTackButton[0, 3].Text == "X" && tickTackButton[1, 2].Text == "X" && tickTackButton[2, 1].Text == "X")
|| (tickTackButton[1, 2].Text == "X" && tickTackButton[2, 1].Text == "X" && tickTackButton[3, 0].Text == "X")
|| (tickTackButton[1, 3].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[3, 1].Text == "X"))
{
int P = 1;
PlayerWins(P);
}
// Col
if ((tickTackButton[0, 0].Text == "O" && tickTackButton[0, 1].Text == "O" && tickTackButton[0, 2].Text == "O")
|| (tickTackButton[0, 1].Text == "O" && tickTackButton[0, 2].Text == "O" && tickTackButton[0, 3].Text == "O")
|| (tickTackButton[1, 0].Text == "O" && tickTackButton[1, 1].Text == "O" && tickTackButton[1, 2].Text == "O")
|| (tickTackButton[1, 1].Text == "O" && tickTackButton[1, 2].Text == "O" && tickTackButton[1, 3].Text == "O")
|| (tickTackButton[2, 0].Text == "O" && tickTackButton[2, 1].Text == "O" && tickTackButton[2, 2].Text == "O")
|| (tickTackButton[2, 1].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[2, 3].Text == "O")
|| (tickTackButton[3, 0].Text == "O" && tickTackButton[3, 1].Text == "O" && tickTackButton[3, 2].Text == "O")
|| (tickTackButton[3, 1].Text == "O" && tickTackButton[3, 2].Text == "O" && tickTackButton[3, 3].Text == "O")
// Row
|| (tickTackButton[0, 0].Text == "O" && tickTackButton[1, 0].Text == "O" && tickTackButton[2, 0].Text == "O")
|| (tickTackButton[1, 0].Text == "O" && tickTackButton[2, 0].Text == "O" && tickTackButton[3, 0].Text == "O")
|| (tickTackButton[0, 1].Text == "O" && tickTackButton[1, 1].Text == "O" && tickTackButton[2, 1].Text == "O")
|| (tickTackButton[1, 1].Text == "O" && tickTackButton[2, 1].Text == "O" && tickTackButton[3, 1].Text == "O")
|| (tickTackButton[0, 2].Text == "O" && tickTackButton[1, 2].Text == "O" && tickTackButton[2, 2].Text == "O")
|| (tickTackButton[1, 2].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[3, 2].Text == "O")
|| (tickTackButton[0, 3].Text == "O" && tickTackButton[1, 3].Text == "O" && tickTackButton[2, 3].Text == "O")
|| (tickTackButton[1, 3].Text == "O" && tickTackButton[2, 3].Text == "O" && tickTackButton[3, 3].Text == "O")
// Diag
|| (tickTackButton[0, 1].Text == "O" && tickTackButton[1, 2].Text == "O" && tickTackButton[2, 3].Text == "O")
|| (tickTackButton[0, 0].Text == "O" && tickTackButton[1, 1].Text == "O" && tickTackButton[2, 2].Text == "O")
|| (tickTackButton[1, 1].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[3, 3].Text == "O")
|| (tickTackButton[1, 0].Text == "O" && tickTackButton[2, 1].Text == "O" && tickTackButton[3, 2].Text == "O")
|| (tickTackButton[0, 2].Text == "O" && tickTackButton[1, 1].Text == "O" && tickTackButton[2, 0].Text == "O")
|| (tickTackButton[0, 3].Text == "O" && tickTackButton[1, 2].Text == "O" && tickTackButton[2, 1].Text == "O")
|| (tickTackButton[1, 2].Text == "O" && tickTackButton[2, 1].Text == "O" && tickTackButton[3, 0].Text == "O")
|| (tickTackButton[1, 3].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[3, 1].Text == "O"))
{
int P = 2;
PlayerWins(P); ;
}
else if (B == 16)
{
int P = 0;
PlayerWins(P);
}
}
if (gridSizeComboBox.SelectedIndex == 2)
{
B++;
//5x5 Col
if ((tickTackButton[0, 0].Text == "X" && tickTackButton[0, 1].Text == "X" && tickTackButton[0, 2].Text == "X" && tickTackButton[0, 3].Text == "X")
|| (tickTackButton[0, 1].Text == "X" && tickTackButton[0, 2].Text == "X" && tickTackButton[0, 3].Text == "X" && tickTackButton[0, 4].Text == "X")
|| (tickTackButton[1, 0].Text == "X" && tickTackButton[1, 1].Text == "X" && tickTackButton[1, 2].Text == "X" && tickTackButton[1, 3].Text == "X")
|| (tickTackButton[1, 1].Text == "X" && tickTackButton[1, 2].Text == "X" && tickTackButton[1, 3].Text == "X" && tickTackButton[1, 4].Text == "X")
|| (tickTackButton[2, 0].Text == "X" && tickTackButton[2, 1].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[2, 3].Text == "X")
|| (tickTackButton[2, 1].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[2, 3].Text == "X" && tickTackButton[2, 4].Text == "X")
|| (tickTackButton[3, 0].Text == "X" && tickTackButton[3, 1].Text == "X" && tickTackButton[3, 2].Text == "X" && tickTackButton[3, 3].Text == "X")
|| (tickTackButton[3, 1].Text == "X" && tickTackButton[3, 2].Text == "X" && tickTackButton[3, 3].Text == "X" && tickTackButton[3, 4].Text == "X")
|| (tickTackButton[4, 0].Text == "X" && tickTackButton[4, 1].Text == "X" && tickTackButton[4, 2].Text == "X" && tickTackButton[4, 3].Text == "X")
|| (tickTackButton[4, 1].Text == "X" && tickTackButton[4, 2].Text == "X" && tickTackButton[4, 3].Text == "X" && tickTackButton[4, 4].Text == "X")
// Row
|| (tickTackButton[0, 0].Text == "X" && tickTackButton[1, 0].Text == "X" && tickTackButton[2, 0].Text == "X" && tickTackButton[3, 0].Text == "X")
|| (tickTackButton[1, 0].Text == "X" && tickTackButton[2, 0].Text == "X" && tickTackButton[3, 0].Text == "X" && tickTackButton[4, 0].Text == "X")
|| (tickTackButton[0, 1].Text == "X" && tickTackButton[1, 1].Text == "X" && tickTackButton[2, 1].Text == "X" && tickTackButton[3, 1].Text == "X")
|| (tickTackButton[1, 1].Text == "X" && tickTackButton[2, 1].Text == "X" && tickTackButton[3, 1].Text == "X" && tickTackButton[4, 1].Text == "X")
|| (tickTackButton[0, 2].Text == "X" && tickTackButton[1, 2].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[3, 2].Text == "X")
|| (tickTackButton[1, 2].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[3, 2].Text == "X" && tickTackButton[4, 2].Text == "X")
|| (tickTackButton[0, 3].Text == "X" && tickTackButton[1, 3].Text == "X" && tickTackButton[2, 3].Text == "X" && tickTackButton[3, 3].Text == "X")
|| (tickTackButton[1, 3].Text == "X" && tickTackButton[2, 3].Text == "X" && tickTackButton[3, 3].Text == "X" && tickTackButton[4, 3].Text == "X")
|| (tickTackButton[0, 4].Text == "X" && tickTackButton[1, 4].Text == "X" && tickTackButton[2, 4].Text == "X" && tickTackButton[3, 4].Text == "X")
|| (tickTackButton[1, 4].Text == "X" && tickTackButton[2, 4].Text == "X" && tickTackButton[3, 4].Text == "X" && tickTackButton[4, 4].Text == "X")
// Diag
|| (tickTackButton[0, 1].Text == "X" && tickTackButton[1, 2].Text == "X" && tickTackButton[2, 3].Text == "X" && tickTackButton[3, 4].Text == "X")
|| (tickTackButton[0, 0].Text == "X" && tickTackButton[1, 1].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[3, 3].Text == "X")
|| (tickTackButton[1, 1].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[3, 3].Text == "X" && tickTackButton[4, 4].Text == "X")
|| (tickTackButton[1, 0].Text == "X" && tickTackButton[2, 1].Text == "X" && tickTackButton[3, 2].Text == "X" && tickTackButton[4, 3].Text == "X")
|| (tickTackButton[0, 3].Text == "X" && tickTackButton[1, 2].Text == "X" && tickTackButton[2, 1].Text == "X" && tickTackButton[3, 0].Text == "X")
|| (tickTackButton[0, 4].Text == "X" && tickTackButton[1, 3].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[3, 1].Text == "X")
|| (tickTackButton[1, 3].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[3, 1].Text == "X" && tickTackButton[4, 0].Text == "X")
|| (tickTackButton[1, 4].Text == "X" && tickTackButton[2, 3].Text == "X" && tickTackButton[3, 2].Text == "X" && tickTackButton[4, 1].Text == "X"))
{
int P = 1;
PlayerWins(P);
}
// Col
if ((tickTackButton[0, 0].Text == "O" && tickTackButton[0, 1].Text == "O" && tickTackButton[0, 2].Text == "O" && tickTackButton[0, 3].Text == "O")
|| (tickTackButton[0, 1].Text == "O" && tickTackButton[0, 2].Text == "O" && tickTackButton[0, 3].Text == "O" && tickTackButton[0, 4].Text == "O")
|| (tickTackButton[1, 0].Text == "O" && tickTackButton[1, 1].Text == "O" && tickTackButton[1, 2].Text == "O" && tickTackButton[1, 3].Text == "O")
|| (tickTackButton[1, 1].Text == "O" && tickTackButton[1, 2].Text == "O" && tickTackButton[1, 3].Text == "O" && tickTackButton[1, 4].Text == "O")
|| (tickTackButton[2, 0].Text == "O" && tickTackButton[2, 1].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[2, 3].Text == "O")
|| (tickTackButton[2, 1].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[2, 3].Text == "O" && tickTackButton[2, 4].Text == "O")
|| (tickTackButton[3, 0].Text == "O" && tickTackButton[3, 1].Text == "O" && tickTackButton[3, 2].Text == "O" && tickTackButton[3, 3].Text == "O")
|| (tickTackButton[3, 1].Text == "O" && tickTackButton[3, 2].Text == "O" && tickTackButton[3, 3].Text == "O" && tickTackButton[3, 4].Text == "O")
|| (tickTackButton[4, 0].Text == "O" && tickTackButton[4, 1].Text == "O" && tickTackButton[4, 2].Text == "O" && tickTackButton[4, 3].Text == "O")
|| (tickTackButton[4, 1].Text == "O" && tickTackButton[4, 2].Text == "O" && tickTackButton[4, 3].Text == "O" && tickTackButton[4, 4].Text == "O")
// Row
|| (tickTackButton[0, 0].Text == "O" && tickTackButton[1, 0].Text == "O" && tickTackButton[2, 0].Text == "O" && tickTackButton[3, 0].Text == "O")
|| (tickTackButton[1, 0].Text == "O" && tickTackButton[2, 0].Text == "O" && tickTackButton[3, 0].Text == "O" && tickTackButton[4, 0].Text == "O")
|| (tickTackButton[0, 1].Text == "O" && tickTackButton[1, 1].Text == "O" && tickTackButton[2, 1].Text == "O" && tickTackButton[3, 1].Text == "O")
|| (tickTackButton[1, 1].Text == "O" && tickTackButton[2, 1].Text == "O" && tickTackButton[3, 1].Text == "O" && tickTackButton[4, 1].Text == "O")
|| (tickTackButton[0, 2].Text == "O" && tickTackButton[1, 2].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[3, 2].Text == "O")
|| (tickTackButton[1, 2].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[3, 2].Text == "O" && tickTackButton[4, 2].Text == "O")
|| (tickTackButton[0, 3].Text == "O" && tickTackButton[1, 3].Text == "O" && tickTackButton[2, 3].Text == "O" && tickTackButton[3, 3].Text == "O")
|| (tickTackButton[1, 3].Text == "O" && tickTackButton[2, 3].Text == "O" && tickTackButton[3, 3].Text == "O" && tickTackButton[4, 3].Text == "O")
|| (tickTackButton[0, 4].Text == "O" && tickTackButton[1, 4].Text == "O" && tickTackButton[2, 4].Text == "O" && tickTackButton[3, 4].Text == "O")
|| (tickTackButton[1, 4].Text == "O" && tickTackButton[2, 4].Text == "O" && tickTackButton[3, 4].Text == "O" && tickTackButton[4, 4].Text == "O")
// Diag
|| (tickTackButton[0, 1].Text == "O" && tickTackButton[1, 2].Text == "O" && tickTackButton[2, 3].Text == "O" && tickTackButton[3, 4].Text == "O")
|| (tickTackButton[0, 0].Text == "O" && tickTackButton[1, 1].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[3, 3].Text == "O")
|| (tickTackButton[1, 1].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[3, 3].Text == "O" && tickTackButton[4, 4].Text == "O")
|| (tickTackButton[1, 0].Text == "O" && tickTackButton[2, 1].Text == "O" && tickTackButton[3, 2].Text == "O" && tickTackButton[4, 3].Text == "O")
|| (tickTackButton[0, 3].Text == "O" && tickTackButton[1, 2].Text == "O" && tickTackButton[2, 1].Text == "O" && tickTackButton[3, 0].Text == "O")
|| (tickTackButton[0, 4].Text == "O" && tickTackButton[1, 3].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[3, 1].Text == "O")
|| (tickTackButton[1, 3].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[3, 1].Text == "O" && tickTackButton[4, 0].Text == "O")
|| (tickTackButton[1, 4].Text == "O" && tickTackButton[2, 3].Text == "O" && tickTackButton[3, 2].Text == "O" && tickTackButton[4, 1].Text == "O"))
{
int P = 2;
PlayerWins(P);
}
else if (B == 25)
{
int P = 0;
PlayerWins(P);
}
}
if (gridSizeComboBox.SelectedIndex == 3)
{
B++;
//6x6 Col
if ((tickTackButton[0, 0].Text == "X" && tickTackButton[0, 1].Text == "X" && tickTackButton[0, 2].Text == "X" && tickTackButton[0, 3].Text == "X")
|| (tickTackButton[0, 1].Text == "X" && tickTackButton[0, 2].Text == "X" && tickTackButton[0, 3].Text == "X" && tickTackButton[0, 4].Text == "X")
|| (tickTackButton[0, 2].Text == "X" && tickTackButton[0, 3].Text == "X" && tickTackButton[0, 4].Text == "X" && tickTackButton[0, 5].Text == "X")
|| (tickTackButton[1, 0].Text == "X" && tickTackButton[1, 1].Text == "X" && tickTackButton[1, 2].Text == "X" && tickTackButton[1, 3].Text == "X")
|| (tickTackButton[1, 1].Text == "X" && tickTackButton[1, 2].Text == "X" && tickTackButton[1, 3].Text == "X" && tickTackButton[1, 4].Text == "X")
|| (tickTackButton[1, 2].Text == "X" && tickTackButton[1, 3].Text == "X" && tickTackButton[1, 4].Text == "X" && tickTackButton[1, 5].Text == "X")
|| (tickTackButton[2, 0].Text == "X" && tickTackButton[2, 1].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[2, 3].Text == "X")
|| (tickTackButton[2, 1].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[2, 3].Text == "X" && tickTackButton[2, 4].Text == "X")
|| (tickTackButton[2, 2].Text == "X" && tickTackButton[2, 3].Text == "X" && tickTackButton[2, 4].Text == "X" && tickTackButton[2, 5].Text == "X")
|| (tickTackButton[3, 0].Text == "X" && tickTackButton[3, 1].Text == "X" && tickTackButton[3, 2].Text == "X" && tickTackButton[3, 3].Text == "X")
|| (tickTackButton[3, 1].Text == "X" && tickTackButton[3, 2].Text == "X" && tickTackButton[3, 3].Text == "X" && tickTackButton[3, 4].Text == "X")
|| (tickTackButton[3, 2].Text == "X" && tickTackButton[3, 3].Text == "X" && tickTackButton[3, 4].Text == "X" && tickTackButton[3, 5].Text == "X")
|| (tickTackButton[4, 0].Text == "X" && tickTackButton[4, 1].Text == "X" && tickTackButton[4, 2].Text == "X" && tickTackButton[4, 3].Text == "X")
|| (tickTackButton[4, 1].Text == "X" && tickTackButton[4, 2].Text == "X" && tickTackButton[4, 3].Text == "X" && tickTackButton[4, 4].Text == "X")
|| (tickTackButton[4, 2].Text == "X" && tickTackButton[4, 3].Text == "X" && tickTackButton[4, 4].Text == "X" && tickTackButton[4, 5].Text == "X")
|| (tickTackButton[5, 0].Text == "X" && tickTackButton[5, 1].Text == "X" && tickTackButton[5, 2].Text == "X" && tickTackButton[5, 3].Text == "X")
|| (tickTackButton[5, 1].Text == "X" && tickTackButton[5, 2].Text == "X" && tickTackButton[5, 3].Text == "X" && tickTackButton[5, 4].Text == "X")
|| (tickTackButton[5, 2].Text == "X" && tickTackButton[5, 3].Text == "X" && tickTackButton[5, 4].Text == "X" && tickTackButton[5, 5].Text == "X")
// Row
|| (tickTackButton[0, 0].Text == "X" && tickTackButton[1, 0].Text == "X" && tickTackButton[2, 0].Text == "X" && tickTackButton[3, 0].Text == "X")
|| (tickTackButton[1, 0].Text == "X" && tickTackButton[2, 0].Text == "X" && tickTackButton[3, 0].Text == "X" && tickTackButton[4, 0].Text == "X")
|| (tickTackButton[2, 0].Text == "X" && tickTackButton[3, 0].Text == "X" && tickTackButton[4, 0].Text == "X" && tickTackButton[5, 0].Text == "X")
|| (tickTackButton[0, 1].Text == "X" && tickTackButton[1, 1].Text == "X" && tickTackButton[2, 1].Text == "X" && tickTackButton[3, 1].Text == "X")
|| (tickTackButton[1, 1].Text == "X" && tickTackButton[2, 1].Text == "X" && tickTackButton[3, 1].Text == "X" && tickTackButton[4, 1].Text == "X")
|| (tickTackButton[2, 1].Text == "X" && tickTackButton[3, 1].Text == "X" && tickTackButton[4, 1].Text == "X" && tickTackButton[5, 1].Text == "X")
|| (tickTackButton[0, 2].Text == "X" && tickTackButton[1, 2].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[3, 2].Text == "X")
|| (tickTackButton[1, 2].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[3, 2].Text == "X" && tickTackButton[4, 2].Text == "X")
|| (tickTackButton[2, 2].Text == "X" && tickTackButton[3, 2].Text == "X" && tickTackButton[4, 2].Text == "X" && tickTackButton[5, 2].Text == "X")
|| (tickTackButton[0, 3].Text == "X" && tickTackButton[1, 3].Text == "X" && tickTackButton[2, 3].Text == "X" && tickTackButton[3, 3].Text == "X")
|| (tickTackButton[1, 3].Text == "X" && tickTackButton[2, 3].Text == "X" && tickTackButton[3, 3].Text == "X" && tickTackButton[4, 3].Text == "X")
|| (tickTackButton[2, 3].Text == "X" && tickTackButton[3, 3].Text == "X" && tickTackButton[4, 3].Text == "X" && tickTackButton[5, 3].Text == "X")
|| (tickTackButton[0, 4].Text == "X" && tickTackButton[1, 4].Text == "X" && tickTackButton[2, 4].Text == "X" && tickTackButton[3, 4].Text == "X")
|| (tickTackButton[1, 4].Text == "X" && tickTackButton[2, 4].Text == "X" && tickTackButton[3, 4].Text == "X" && tickTackButton[4, 4].Text == "X")
|| (tickTackButton[2, 4].Text == "X" && tickTackButton[3, 4].Text == "X" && tickTackButton[4, 4].Text == "X" && tickTackButton[5, 4].Text == "X")
|| (tickTackButton[0, 5].Text == "X" && tickTackButton[1, 5].Text == "X" && tickTackButton[2, 5].Text == "X" && tickTackButton[3, 5].Text == "X")
|| (tickTackButton[1, 5].Text == "X" && tickTackButton[2, 5].Text == "X" && tickTackButton[3, 5].Text == "X" && tickTackButton[4, 5].Text == "X")
|| (tickTackButton[2, 5].Text == "X" && tickTackButton[3, 5].Text == "X" && tickTackButton[4, 5].Text == "X" && tickTackButton[5, 5].Text == "X")
// Diag
|| (tickTackButton[0, 2].Text == "X" && tickTackButton[1, 3].Text == "X" && tickTackButton[2, 4].Text == "X" && tickTackButton[3, 5].Text == "X")
|| (tickTackButton[0, 1].Text == "X" && tickTackButton[1, 2].Text == "X" && tickTackButton[2, 3].Text == "X" && tickTackButton[3, 4].Text == "X")
|| (tickTackButton[1, 2].Text == "X" && tickTackButton[2, 3].Text == "X" && tickTackButton[3, 4].Text == "X" && tickTackButton[4, 5].Text == "X")
|| (tickTackButton[0, 0].Text == "X" && tickTackButton[1, 1].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[3, 3].Text == "X")
|| (tickTackButton[1, 1].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[3, 3].Text == "X" && tickTackButton[4, 4].Text == "X")
|| (tickTackButton[2, 2].Text == "X" && tickTackButton[3, 3].Text == "X" && tickTackButton[4, 4].Text == "X" && tickTackButton[5, 5].Text == "X")
|| (tickTackButton[1, 0].Text == "X" && tickTackButton[2, 1].Text == "X" && tickTackButton[3, 2].Text == "X" && tickTackButton[4, 3].Text == "X")
|| (tickTackButton[2, 1].Text == "X" && tickTackButton[3, 2].Text == "X" && tickTackButton[4, 3].Text == "X" && tickTackButton[5, 4].Text == "X")
|| (tickTackButton[2, 0].Text == "X" && tickTackButton[3, 1].Text == "X" && tickTackButton[4, 2].Text == "X" && tickTackButton[5, 3].Text == "X")
|| (tickTackButton[0, 3].Text == "X" && tickTackButton[1, 2].Text == "X" && tickTackButton[2, 1].Text == "X" && tickTackButton[3, 0].Text == "X")
|| (tickTackButton[0, 4].Text == "X" && tickTackButton[1, 3].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[3, 1].Text == "X")
|| (tickTackButton[1, 3].Text == "X" && tickTackButton[2, 2].Text == "X" && tickTackButton[3, 1].Text == "X" && tickTackButton[4, 0].Text == "X")
|| (tickTackButton[0, 5].Text == "X" && tickTackButton[1, 4].Text == "X" && tickTackButton[2, 3].Text == "X" && tickTackButton[3, 2].Text == "X")
|| (tickTackButton[1, 4].Text == "X" && tickTackButton[2, 3].Text == "X" && tickTackButton[3, 2].Text == "X" && tickTackButton[4, 1].Text == "X")
|| (tickTackButton[2, 3].Text == "X" && tickTackButton[3, 2].Text == "X" && tickTackButton[4, 1].Text == "X" && tickTackButton[5, 0].Text == "X")
|| (tickTackButton[1, 5].Text == "X" && tickTackButton[2, 4].Text == "X" && tickTackButton[3, 3].Text == "X" && tickTackButton[4, 2].Text == "X")
|| (tickTackButton[2, 4].Text == "X" && tickTackButton[3, 3].Text == "X" && tickTackButton[4, 2].Text == "X" && tickTackButton[5, 1].Text == "X")
|| (tickTackButton[2, 5].Text == "X" && tickTackButton[3, 4].Text == "X" && tickTackButton[4, 3].Text == "X" && tickTackButton[5, 2].Text == "X"))
{
int P = 1;
PlayerWins(P);
}
if ((tickTackButton[0, 0].Text == "O" && tickTackButton[0, 1].Text == "O" && tickTackButton[0, 2].Text == "O" && tickTackButton[0, 3].Text == "O")
|| (tickTackButton[0, 1].Text == "O" && tickTackButton[0, 2].Text == "O" && tickTackButton[0, 3].Text == "O" && tickTackButton[0, 4].Text == "O")
|| (tickTackButton[0, 2].Text == "O" && tickTackButton[0, 3].Text == "O" && tickTackButton[0, 4].Text == "O" && tickTackButton[0, 5].Text == "O")
|| (tickTackButton[1, 0].Text == "O" && tickTackButton[1, 1].Text == "O" && tickTackButton[1, 2].Text == "O" && tickTackButton[1, 3].Text == "O")
|| (tickTackButton[1, 1].Text == "O" && tickTackButton[1, 2].Text == "O" && tickTackButton[1, 3].Text == "O" && tickTackButton[1, 4].Text == "O")
|| (tickTackButton[1, 2].Text == "O" && tickTackButton[1, 3].Text == "O" && tickTackButton[1, 4].Text == "O" && tickTackButton[1, 5].Text == "O")
|| (tickTackButton[2, 0].Text == "O" && tickTackButton[2, 1].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[2, 3].Text == "O")
|| (tickTackButton[2, 1].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[2, 3].Text == "O" && tickTackButton[2, 4].Text == "O")
|| (tickTackButton[2, 2].Text == "O" && tickTackButton[2, 3].Text == "O" && tickTackButton[2, 4].Text == "O" && tickTackButton[2, 5].Text == "O")
|| (tickTackButton[3, 0].Text == "O" && tickTackButton[3, 1].Text == "O" && tickTackButton[3, 2].Text == "O" && tickTackButton[3, 3].Text == "O")
|| (tickTackButton[3, 1].Text == "O" && tickTackButton[3, 2].Text == "O" && tickTackButton[3, 3].Text == "O" && tickTackButton[3, 4].Text == "O")
|| (tickTackButton[3, 2].Text == "O" && tickTackButton[3, 3].Text == "O" && tickTackButton[3, 4].Text == "O" && tickTackButton[3, 5].Text == "O")
|| (tickTackButton[4, 0].Text == "O" && tickTackButton[4, 1].Text == "O" && tickTackButton[4, 2].Text == "O" && tickTackButton[4, 3].Text == "O")
|| (tickTackButton[4, 1].Text == "O" && tickTackButton[4, 2].Text == "O" && tickTackButton[4, 3].Text == "O" && tickTackButton[4, 4].Text == "O")
|| (tickTackButton[4, 2].Text == "O" && tickTackButton[4, 3].Text == "O" && tickTackButton[4, 4].Text == "O" && tickTackButton[4, 5].Text == "O")
|| (tickTackButton[5, 0].Text == "O" && tickTackButton[5, 1].Text == "O" && tickTackButton[5, 2].Text == "O" && tickTackButton[5, 3].Text == "O")
|| (tickTackButton[5, 1].Text == "O" && tickTackButton[5, 2].Text == "O" && tickTackButton[5, 3].Text == "O" && tickTackButton[5, 4].Text == "O")
|| (tickTackButton[5, 2].Text == "O" && tickTackButton[5, 3].Text == "O" && tickTackButton[5, 4].Text == "O" && tickTackButton[5, 5].Text == "O")
// Row
|| (tickTackButton[0, 0].Text == "O" && tickTackButton[1, 0].Text == "O" && tickTackButton[2, 0].Text == "O" && tickTackButton[3, 0].Text == "O")
|| (tickTackButton[1, 0].Text == "O" && tickTackButton[2, 0].Text == "O" && tickTackButton[3, 0].Text == "O" && tickTackButton[4, 0].Text == "O")
|| (tickTackButton[2, 0].Text == "O" && tickTackButton[3, 0].Text == "O" && tickTackButton[4, 0].Text == "O" && tickTackButton[5, 0].Text == "O")
|| (tickTackButton[0, 1].Text == "O" && tickTackButton[1, 1].Text == "O" && tickTackButton[2, 1].Text == "O" && tickTackButton[3, 1].Text == "O")
|| (tickTackButton[1, 1].Text == "O" && tickTackButton[2, 1].Text == "O" && tickTackButton[3, 1].Text == "O" && tickTackButton[4, 1].Text == "O")
|| (tickTackButton[2, 1].Text == "O" && tickTackButton[3, 1].Text == "O" && tickTackButton[4, 1].Text == "O" && tickTackButton[5, 1].Text == "O")
|| (tickTackButton[0, 2].Text == "O" && tickTackButton[1, 2].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[3, 2].Text == "O")
|| (tickTackButton[1, 2].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[3, 2].Text == "O" && tickTackButton[4, 2].Text == "O")
|| (tickTackButton[2, 2].Text == "O" && tickTackButton[3, 2].Text == "O" && tickTackButton[4, 2].Text == "O" && tickTackButton[5, 2].Text == "O")
|| (tickTackButton[0, 3].Text == "O" && tickTackButton[1, 3].Text == "O" && tickTackButton[2, 3].Text == "O" && tickTackButton[3, 3].Text == "O")
|| (tickTackButton[1, 3].Text == "O" && tickTackButton[2, 3].Text == "O" && tickTackButton[3, 3].Text == "O" && tickTackButton[4, 3].Text == "O")
|| (tickTackButton[2, 3].Text == "O" && tickTackButton[3, 3].Text == "O" && tickTackButton[4, 3].Text == "O" && tickTackButton[5, 3].Text == "O")
|| (tickTackButton[0, 4].Text == "O" && tickTackButton[1, 4].Text == "O" && tickTackButton[2, 4].Text == "O" && tickTackButton[3, 4].Text == "O")
|| (tickTackButton[1, 4].Text == "O" && tickTackButton[2, 4].Text == "O" && tickTackButton[3, 4].Text == "O" && tickTackButton[4, 4].Text == "O")
|| (tickTackButton[2, 4].Text == "O" && tickTackButton[3, 4].Text == "O" && tickTackButton[4, 4].Text == "O" && tickTackButton[5, 4].Text == "O")
|| (tickTackButton[0, 5].Text == "O" && tickTackButton[1, 5].Text == "O" && tickTackButton[2, 5].Text == "O" && tickTackButton[3, 5].Text == "O")
|| (tickTackButton[1, 5].Text == "O" && tickTackButton[2, 5].Text == "O" && tickTackButton[3, 5].Text == "O" && tickTackButton[4, 5].Text == "O")
|| (tickTackButton[2, 5].Text == "O" && tickTackButton[3, 5].Text == "O" && tickTackButton[4, 5].Text == "O" && tickTackButton[5, 5].Text == "O")
// Diag
|| (tickTackButton[0, 2].Text == "O" && tickTackButton[1, 3].Text == "O" && tickTackButton[2, 4].Text == "O" && tickTackButton[3, 5].Text == "O")
|| (tickTackButton[0, 1].Text == "O" && tickTackButton[1, 2].Text == "O" && tickTackButton[2, 3].Text == "O" && tickTackButton[3, 4].Text == "O")
|| (tickTackButton[1, 2].Text == "O" && tickTackButton[2, 3].Text == "O" && tickTackButton[3, 4].Text == "O" && tickTackButton[4, 5].Text == "O")
|| (tickTackButton[0, 0].Text == "O" && tickTackButton[1, 1].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[3, 3].Text == "O")
|| (tickTackButton[1, 1].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[3, 3].Text == "O" && tickTackButton[4, 4].Text == "O")
|| (tickTackButton[2, 2].Text == "O" && tickTackButton[3, 3].Text == "O" && tickTackButton[4, 4].Text == "O" && tickTackButton[5, 5].Text == "O")
|| (tickTackButton[1, 0].Text == "O" && tickTackButton[2, 1].Text == "O" && tickTackButton[3, 2].Text == "O" && tickTackButton[4, 3].Text == "O")
|| (tickTackButton[2, 1].Text == "O" && tickTackButton[3, 2].Text == "O" && tickTackButton[4, 3].Text == "O" && tickTackButton[5, 4].Text == "O")
|| (tickTackButton[2, 0].Text == "O" && tickTackButton[3, 1].Text == "O" && tickTackButton[4, 2].Text == "O" && tickTackButton[5, 3].Text == "O")
|| (tickTackButton[0, 3].Text == "O" && tickTackButton[1, 2].Text == "O" && tickTackButton[2, 1].Text == "O" && tickTackButton[3, 0].Text == "O")
|| (tickTackButton[0, 4].Text == "O" && tickTackButton[1, 3].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[3, 1].Text == "O")
|| (tickTackButton[1, 3].Text == "O" && tickTackButton[2, 2].Text == "O" && tickTackButton[3, 1].Text == "O" && tickTackButton[4, 0].Text == "O")
|| (tickTackButton[0, 5].Text == "O" && tickTackButton[1, 4].Text == "O" && tickTackButton[2, 3].Text == "O" && tickTackButton[3, 2].Text == "O")
|| (tickTackButton[1, 4].Text == "O" && tickTackButton[2, 3].Text == "O" && tickTackButton[3, 2].Text == "O" && tickTackButton[4, 1].Text == "O")
|| (tickTackButton[2, 3].Text == "O" && tickTackButton[3, 2].Text == "O" && tickTackButton[4, 1].Text == "O" && tickTackButton[5, 0].Text == "O")
|| (tickTackButton[1, 5].Text == "O" && tickTackButton[2, 4].Text == "O" && tickTackButton[3, 3].Text == "O" && tickTackButton[4, 2].Text == "O")
|| (tickTackButton[2, 4].Text == "O" && tickTackButton[3, 3].Text == "O" && tickTackButton[4, 2].Text == "O" && tickTackButton[5, 1].Text == "O")
|| (tickTackButton[2, 5].Text == "O" && tickTackButton[3, 4].Text == "O" && tickTackButton[4, 3].Text == "O" && tickTackButton[5, 2].Text == "O"))
{
int P = 2;
PlayerWins(P);
}
else if (B == 36)
{
int P = 0;
PlayerWins(P);
}
}
}
#endregion
private void PlayerWins(int p)
{
if (p == 1)
{
SoundPlayer P1Win = new SoundPlayer();
P1Win.SoundLocation = Application.StartupPath + "\\..\\..\\P1Win.wav";
P1Win.Play();
playerTextBox.Text = "Player1 wins!";
MessageBox.Show("PLAYER 1 IS THE WINNER", "RESULT", MessageBoxButtons.OK, MessageBoxIcon.Information);
P1Score++;
P1ScoreLabel.Text = P1Score.ToString();
Reset();
}
if (p == 2)
{
SoundPlayer P2Win = new SoundPlayer();
P2Win.SoundLocation = Application.StartupPath + "\\..\\..\\P2Win.wav";
P2Win.Play();
playerTextBox.Text = "Player2 wins!";
MessageBox.Show("PLAYER 2 IS THE WINNER", "RESULT", MessageBoxButtons.OK, MessageBoxIcon.Information);
P2Score++;
P2ScoreLabel.Text = P2Score.ToString();
Reset();
}
else if ((p != 1 && p != 2 && B == 9) || (p != 1 && p != 2 && B == 16) || (p != 1 && p != 2 && B == 25) || (p != 1 && p != 2 && B == 36))
{
SoundPlayer drawSound = new SoundPlayer();
drawSound.SoundLocation = Application.StartupPath + "\\..\\..\\draw.wav";
drawSound.Play();
playerTextBox.Text = "Draw!";
MessageBox.Show("IT'S A DRAW!", "RESULT", MessageBoxButtons.OK, MessageBoxIcon.Information);
draw++;
drawnScoreLabel.Text = draw.ToString();
Reset();
}
}
private void newGameButton_Click(object sender, EventArgs e)
{
P1ScoreLabel.Text = "0";
P2ScoreLabel.Text = "0";
drawnScoreLabel.Text = "0";
playerTextBox.Clear();
gridSizeLabel.Text = "3 X";
gridSizeComboBox.SelectedIndex = 0;
groupBoxButtons.Controls.Clear();
groupBoxButtons.Size = new System.Drawing.Size(400, 320);
GamePlayForm.ActiveForm.Size = new System.Drawing.Size(540, 420);
}
public void Reset()
{
groupBoxButtons.Controls.Clear();
B = 0;
}
}
}