-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTikTak.cs
60 lines (54 loc) · 1.67 KB
/
TikTak.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
using System;
using System.Collections.Generic;
namespace Mission4Assignment
{
internal class TikTak
{
// Print the game board
public static void GameBoard(List<char> board)
{
Console.WriteLine();
Console.WriteLine($" {board[0]} | {board[1]} | {board[2]} ");
Console.WriteLine("---|---|---");
Console.WriteLine($" {board[3]} | {board[4]} | {board[5]} ");
Console.WriteLine("---|---|---");
Console.WriteLine($" {board[6]} | {board[7]} | {board[8]} ");
Console.WriteLine();
}
// Check if there is a winner
public static bool CheckWinner(List<char> board, out char winner)
{
// Horizontal check
for (int i = 0; i < 9; i += 3)
{
if (board[i] == board[i + 1] && board[i + 1] == board[i + 2])
{
winner = board[i];
return true;
}
}
// Vertical check
for (int i = 0; i < 3; i++)
{
if (board[i] == board[i + 3] && board[i] == board[i + 6])
{
winner = board[i];
return true;
}
}
// Diagonal checks
if (board[0] == board[4] && board[4] == board[8])
{
winner = board[0];
return true;
}
if (board[2] == board[4] && board[4] == board[6])
{
winner = board[2];
return true;
}
winner = ' ';
return false;
}
}
}