i want to now how i can have exemple c# code game my_tic_tac_toe console.
Loading
i want to now how i can have exemple c# code game my_tic_tac_toe console.
Know the answer? Post it — somebody with the same question will find it here.
Sign in to answer this question
It is the same account you read, post and publish with — and you will come straight back to this page.
Raj BhattPosted Apr 19, 2023, 7:29 AM
using System;
using System.Threading;
namespace TicTacToeGame
{
class Program
{
//making array and
//by default I am providing 0-9 where no use of zero
static readonly char[] arr = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
static int player = 1; //By default player 1 is set
static int choice; //This holds the choice at which position user want to mark
// The flag variable checks who has won if it's value is 1 then someone has won the match
//if -1 then Match has Draw if 0 then match is still running
static int flag = 0;
static void Main(string[] args)
{
do
{
Console.Clear();// whenever loop will be again start then screen will be clear
Console.WriteLine("Player1:X and Player2:O");
Console.WriteLine("\n");
if (player % 2 == 0)//checking the chance of the player
{
Console.WriteLine("Player 2 Chance");
}
else
{
Console.WriteLine("Player 1 Chance");
}
Console.WriteLine("\n");
Board();// calling the board Function
choice = int.Parse(Console.ReadLine());//Taking users choice
// checking that position where user want to run is marked (with X or O) or not
if (arr[choice] != 'X' && arr[choice] != 'O')
{
if (player % 2 == 0) //if chance is of player 2 then mark O else mark X
{
arr[choice] = 'O';
player++;
}
else
{
arr[choice] = 'X';
player++;
}
}
else
//If there is any possition where user want to run
//and that is already marked then show message and load board again
{
Console.WriteLine("Sorry the row {0} is already marked with {1}", choice, arr[choice]);
Console.WriteLine("\n");
Console.WriteLine("Please wait 2 second board is loading again.....");
Thread.Sleep(2000);
}
flag = CheckWin();// calling of check win
}
while (flag != 1 && flag != -1);
// This loop will be run until all cell of the grid is not marked
//with X and O or some player is not win
Console.Clear();// clearing the console
Board();// getting filled board again
if (flag == 1)
// if flag value is 1 then someone has win or
//means who played marked last time which has win
{
Console.WriteLine("Player {0} has won", (player % 2) + 1);
}
else// if flag value is -1 the match will be draw and no one is winner
{
Console.WriteLine("Draw");
}
Console.ReadLine();
}
// Board method which creats board
private static void Board()
{
Console.WriteLine(" | | ");
Console.WriteLine(" {0} | {1} | {2}", arr[1], arr[2], arr[3]);
Console.WriteLine("_____|_____|_____ ");
Console.WriteLine(" | | ");
Console.WriteLine(" {0} | {1} | {2}", arr[4], arr[5], arr[6]);
Console.WriteLine("_____|_____|_____ ");
Console.WriteLine(" | | ");
Console.WriteLine(" {0} | {1} | {2}", arr[7], arr[8], arr[9]);
Console.WriteLine(" | | ");
}
//Checking that any player has won or not
private static int CheckWin()
{
#region Horzontal Winning Condtion
//Winning Condition For First Row
if (arr[1] == arr[2] && arr[2] == arr[3])
{
return 1;
}
//Winning Condition For Second Row
else if (arr[4] == arr[5] && arr[5] == arr[6])
{
return 1;
}
//Winning Condition For Third Row
else if (arr[6] == arr[7] && arr[7] == arr[8])
{
return 1;
}
#endregion
#region vertical Winning Condtion
//Winning Condition For First Column
else if (arr[1] == arr[4] && arr[4] == arr[7])
{
return 1;
}
//Winning Condition For Second Column
else if (arr[2] == arr[5] && arr[5] == arr[8])
{
return 1;
}
//Winning Condition For Third Column
else if (arr[3] == arr[6] && arr[6] == arr[9])
{
return 1;
}
#endregion
#region Diagonal Winning Condition
else if (arr[1] == arr[5] && arr[5] == arr[9])
{
return 1;
}
else if (arr[3] == arr[5] && arr[5] == arr[7])
{
return 1;
}
#endregion
#region Checking For Draw
// If all the cells or values filled with X or O then any player has won the match
else if (arr[1] != '1' && arr[2] != '2' && arr[3] != '3' && arr[4] != '4' && arr[5] != '5' && arr[6] != '6' && arr[7] != '7' && arr[8] != '8' && arr[9] != '9')
{
return -1;
}
#endregion
else
{
return 0;
}
}
}
}
Amit MohantyPosted Apr 19, 2023, 4:06 AM
Tuhin PaulPosted Apr 19, 2023, 2:16 AM
This is a console-based implementation of the classic game "Tic Tac Toe" using C#. The program allows two players to take turns placing their marks (X or O) on a 3x3 game board until either one of them wins by placing three marks in a row, column or diagonal or the board is full resulting in a tie game. The game board is represented by a 2-dimensional char array of size 3x3, and the current player is represented by a char variable.
different methods used in the program:
1. Main method: This is the entry point of the program where the game loop starts. The game board is initialized, and the board is printed using the PrintBoard() method. It then enters into a while loop that continues until either one of the players wins or the board is full.
2. InitializeBoard() method: This method initializes the game board by setting all the elements in the 2-dimensional array to empty space.
3. PrintBoard() method: This method prints the game board on the console.
4. IsGameOver() method: This method checks if the game is over by iterating through the game board and checking if any cell is empty. If there are any empty cells, the method returns false. Otherwise, it returns true, indicating that the game is over.
5. HasPlayerWon() method: This method checks if the current player has won the game by iterating through the game board and checking for three consecutive marks in a row, column, or diagonal. If the current player has won, the method returns true; otherwise, it returns false.
6. SwitchPlayer() method: This method switches the current player from X to O or vice versa after each turn.
The program takes input from the user by asking for the row and column number to place the mark. It checks if the chosen cell is empty and updates the game board accordingly. If the move is invalid, it prints an error message and prompts the player to choose a valid move. When the game is over, it prints the winner's name or declares a tie if no one won.
Tuhin PaulPosted Apr 19, 2023, 2:16 AM
Tic Tac Toe game in C# console application
Deepak RawatPosted Apr 18, 2023, 6:46 PM