- #1
Veronica_Oles
- 142
- 3
Homework Statement
Making tic tac toe program!
Homework Equations
The Attempt at a Solution
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 TTT
{
public partial class Form1 : Form
{
static int turn = 0;// This variable will be used store the amount of turns the players will play
static int[,] board = new int[3, 3];// This array will be used
static bool winner = false;// This boolean will be used store winner, winner is set to false because no one has won at beginning becomes true if someone wins
static int Owins, Xwins, CatsGame = 0;// This variable will be used to store the number of times O wins, X wins, and ties
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
button14.Visible = true;
button15.Visible = true;
}
private void button4_Click(object sender, EventArgs e)
{
}
private void button5_Click(object sender, EventArgs e)
{
if (turn % 2 == 0)// If the players turn is mod by 2 and equal to 0 that means that the player using the letter O can go and make a move
{
button5.Text = "O";// This will output letter O
board[0, 0] = 2;// The player using letter O is equal to 2
button5.Enabled = false;// Once player uses that button it becomes enabled so that user cannot go back and change it
turn++;// After player makes a move this will loop around so that the next move can be made
}
else// If the players turn is mod by 2 and equal to a number greater than 0 that means that the player using the letter X can go and make a move
{
button5.Text = "X";// This will output the letter X
board[0, 0] = 1;// The player using letter X is equal to 1
button5.Enabled = false;// Once player uses that button it becomes enabled so that user cannot go back and change it
turn++;// After player makes a move this will loop around so that the next move can be made
}
textBox2.Text = turn.ToString();// This textbox will display the amount of turns the players use in order to win a game
textBox1.Text = check_winner().ToString();// This textbox will be used to display if there's a winner by outputting the word true and if no winner false
if (winner == false && turn == 9)// However, if there is no winner by the ninth turn then the textbox will output the words Cats Game
{
textBox1.Text = "Cats Game";
} }
private void button6_Click(object sender, EventArgs e)
{
if (turn % 2 == 0)
{
button6.Text = "O";
board[0, 1] = 2;
button6.Enabled = false;
turn++;
}
else
{
button6.Text = "X";
board[0, 1] = 1;
button6.Enabled = false;
turn++;
}
textBox2.Text = turn.ToString();
textBox1.Text = check_winner().ToString();
if (winner == false && turn == 9)
{
textBox1.Text = "Cats Game";
} }
private void button7_Click(object sender, EventArgs e)
{
if (turn % 2 == 0)
{
button7.Text = "O";
board[0, 2] = 2;
button7.Enabled = false;
turn++;
}
else
{
button7.Text = "X";
board[0, 2] = 1;
button7.Enabled = false;
turn++;
}
textBox2.Text = turn.ToString();
textBox1.Text = check_winner().ToString();
if (winner == false && turn == 9)
{
textBox1.Text = "Cats Game";
} }
static bool check_winner()// This is a new method that will check if a player has won a game
{
bool result = false;// The boolean result is set to false, when a player wins it becomes true
if (board[0, 0] == 1 && board[0, 1] == 1 && board[0, 2] == 1 || board[0, 0] == 2 && board[0, 1] == 2 && board[0, 2] == 2)
// This if statement checks if there is a winner by checking the rows and columns as well as the player's X or O to determine the actual winner
// For this specific if statement if the positions on the board 0,0 , 0,1 and 0,2 are equal to 1 then x will win if it is equal to 2 then o will win
{ if (board[0, 0] == 1)// If the position of the board has a 1
{
Xwins++;// This means that X will win }
else// If the position of the board has a 2
{
Owins++;// This means that O wins
}
result = true;// If any of these statements proove to be true then the result will be true meaning a player had won }
else if (board[1, 0] == 1 && board[1, 1] == 1 && board[1, 2] == 1 || board[1, 0] == 2 && board[1, 1] == 2 && board[1, 2] == 2)
{
if (board[1, 0] == 1)
{
Xwins++;
}
else
{
Owins++;
}
result = true;
} else if (board[2, 0] == 1 && board[2, 1] == 1 && board[2, 2] == 1 || board[2, 0] == 2 && board[2, 1] == 2 && board[2, 2] == 2)
{
if (board[2, 0] == 1)
{
Xwins++;
}
else
{
Owins++;
}
result = true;
}
else if (board[0, 0] == 1 && board[1, 0] == 1 && board[2, 0] == 1 || board[0, 0] == 2 && board[1, 0] == 2 && board[2, 0] == 2)
{
if (board[0, 0] == 1)
{
Xwins++;
}
else
{
Owins++;
}
result = true;
}
else if (board[0, 1] == 1 && board[1, 1] == 1 && board[2, 1] == 1 || board[0, 1] == 2 && board[1, 1] == 2 && board[2, 1] == 2)
{
if (board[0, 1] == 1)
{
Xwins++;
}
else
{
Owins++;
}
result = true;
}
else if (board[0, 2] == 1 && board[1, 2] == 1 && board[2, 2] == 1 || board[0, 2] == 2 && board[1, 2] == 2 && board[2, 2] == 2)
{
if (board[0, 2] == 1)
{
Xwins++;
}
else
{
Owins++;
}
result = true;
}
else if (board[0, 0] == 1 && board[1, 1] == 1 && board[2, 2] == 1 || board[0, 0] == 2 && board[1, 1] == 2 && board[2, 2] == 2)
{
if (board[0, 0] == 1)
{
Xwins++;
}
else
{
Owins++;
}
result = true;
}
else if (board[0, 2] == 1 && board[1, 1] == 1 && board[2, 0] == 1 || board[0, 2] == 2 && board[1, 1] == 2 && board[2, 0] == 2)
{
if (board[0, 2] == 1)
{
Xwins++;
}
else
{
Owins++;
}
result = true;
}
return result;
}
private void button8_Click(object sender, EventArgs e)
{
if (turn % 2 == 0)
{
button8.Text = "O";
board[1, 0] = 2;
button8.Enabled = false;
turn++;
}
else
{
button8.Text = "X";
board[1, 0] = 1;
button8.Enabled = false;
turn++;
}
textBox2.Text = turn.ToString();
textBox1.Text = check_winner().ToString();
if (winner == false && turn == 9)
{
textBox1.Text = "Cats Game";
} }
private void button9_Click(object sender, EventArgs e)
{
if (turn % 2 == 0)
{
button9.Text = "O";
board[1, 1] = 2;
button9.Enabled = false;
turn++;
}
else
{
button9.Text = "X";
board[1, 1] = 2;
button9.Enabled = false;
turn++;
}
textBox2.Text = turn.ToString();
textBox1.Text = check_winner().ToString();
if (winner == false && turn == 9)
{
textBox1.Text = "Cats Game";
} }
private void button10_Click(object sender, EventArgs e)
{
if (turn % 2 == 0)
{
button10.Text = "O";
board[1, 2] = 2;
button10.Enabled = false;
turn++;
}
else
{
button10.Text = "X";
board[1, 2] = 1;
button10.Enabled = false;
turn++;
}
textBox1.Text = check_winner().ToString();
textBox2.Text = turn.ToString();
if (winner == false && turn == 9)
{
textBox1.Text = "Cats Game";
} }
private void button11_Click(object sender, EventArgs e)
{
if (turn % 2 == 0)
{
button11.Text = "O";
board[2, 0] = 2;
button11.Enabled = false;
turn++;
}
else
{
button11.Text = "X";
board[2, 0] = 1;
button11.Enabled = false;
turn++;
}
textBox2.Text = turn.ToString();
textBox1.Text = check_winner().ToString();
if (winner == false && turn == 9)
{
textBox1.Text = "Cats Game";
} }
private void button12_Click(object sender, EventArgs e)
{
if (turn % 2 == 0)
{
button12.Text = "O";
board[2, 1] = 2;
button12.Enabled = false;
turn++;
}
else
{
button12.Text = "X";
board[2, 1] = 1;
button12.Enabled = false;
turn++;
}
textBox2.Text = turn.ToString();
textBox1.Text = check_winner().ToString();
if (winner == false && turn == 9)
{
textBox1.Text = "Cats Game";
} }
private void button13_Click(object sender, EventArgs e)
{
if (turn % 2 == 0)
{
button13.Text = "O";
board[2, 2] = 2;
button13.Enabled = false;
turn++;
}
else
{
button13.Text = "X";
board[2, 2] = 1;
button13.Enabled = false;
turn++;
}
textBox2.Text = turn.ToString();
textBox1.Text = check_winner().ToString();
if (winner == false && turn == 9)
{
textBox1.Text = "Cats Game";
} }
private void button14_Click(object sender, EventArgs e)
{
clear_buttons();
}
private void clear_buttons()
{
button5.Text = "";// Once the player clicks the play again button then all the buttons will clear up to allow the person to play again
button6.Text = "";
button7.Text = "";
button8.Text = "";
button9.Text = "";
button10.Text = "";
button11.Text = "";
button12.Text = "";
button13.Text = "";
button5.Enabled = true;// This enables the button to be true once the user presses play again
button6.Enabled = true;
button7.Enabled = true;
button8.Enabled = true;
button9.Enabled = true;
button10.Enabled = true;
button11.Enabled = true;
button12.Enabled = true;
button13.Enabled = true;
for (int i = 0; i < 3; i++)// This is a for loop
{
for (int j = 0; j < 3; j++)// This is a nesting for loop
{
board[i, j] = 0;// Once the player presses play again the entire board resets and each position becomes 1
}
}
turn = 0;// The turns then resets to 0 to start counting the amount of turns again during a new game
winner = false;// The winner becomes false because since there is a new game there is no new winner
textBox1.Text = winner.ToString();
textBox2.Text = turn.ToString();
}
private void button15_Click(object sender, EventArgs e)
{
textBox3.Text = Owins.ToString();
textBox4.Text = Xwins.ToString();
textBox5.Text = CatsGame.ToString();
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
} }
}
My statistics do not work can someone help me figure out why the X statistics and Cats Game statistics do not work.