Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Microsoft.EntityFrameworkCore;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Linq.Expressions;
- using System.Security.Cryptography.X509Certificates;
- using System.Text;
- using System.Threading.Tasks;
- namespace TicTacToe.Multiplayer
- {
- public class Service
- {
- public void Code()
- {
- TTTContext context = new TTTContext();
- int counter = 0;
- bool yourTurn;
- char symbol = ' ';
- bool first;
- /*Box box1 = new Box(1, 'A');
- context.Boxes.Add(box1);
- context.SaveChanges();
- box1 = context.Boxes.AsNoTracking().First(p => p.Field == 1);
- box1.Symbol = 'B';
- context.Boxes.Update(box1);
- context.SaveChanges();*/
- Box box1 = new Box(1, ' ');
- Box box2 = new Box(2, ' ');
- Box box3 = new Box(3, ' ');
- Box box4 = new Box(4, ' ');
- Box box5 = new Box(5, ' ');
- Box box6 = new Box(6, ' ');
- Box box7 = new Box(7, ' ');
- Box box8 = new Box(8, ' ');
- Box box9 = new Box(9, ' ');
- context.Boxes.Update(box1);
- context.Boxes.Update(box2);
- context.Boxes.Update(box3);
- context.Boxes.Update(box4);
- context.Boxes.Update(box5);
- context.Boxes.Update(box6);
- context.Boxes.Update(box7);
- context.Boxes.Update(box8);
- context.Boxes.Update(box9);
- context.SaveChanges();
- Random random = new Random();
- bool order = random.Next(2) == 0;
- Player player1 = new Player(1, order, false, false);
- Player player2 = new Player(2, false, false, false);
- if (context.Players.Contains(player1))
- {
- player1 = context.Players.AsNoTracking().First(p => p.ID == player1.ID);
- if(player1.FirstOrder)
- {
- player2 = new Player(2, false, false, false);
- symbol = 'O';
- first = player2.FirstOrder;
- context.Players.Update(player2);
- context.SaveChanges();
- }
- else
- {
- player2 = new Player(2, true, false, false);
- symbol = 'X';
- first = player2.FirstOrder;
- context.Players.Update(player2);
- context.SaveChanges();
- }
- }
- else
- {
- if (player1.FirstOrder)
- {
- symbol = 'X';
- }
- else
- {
- symbol = 'O';
- }
- context.Players.Add(player1);
- player2.YourTurn = true;
- context.Players.Add(player2);
- context.SaveChanges();
- first = player1.FirstOrder;
- }
- List<char> firstRow = "│ │ │ │".ToList();
- List<char> secondRow = "│ │ │ │".ToList();
- List<char> thirdRow = "│ │ │ │".ToList();
- while (true)
- {
- counter++;
- if (first)
- {
- if (counter % 2 == 1)
- {
- player1 = context.Players.First(p => p.ID == player1.ID);
- player1.YourTurn = true;
- yourTurn = true;
- context.Players.Update(player1);
- context.SaveChanges();
- }
- else
- {
- player1 = context.Players.First(p => p.ID == player1.ID);
- player1.YourTurn = false;
- yourTurn = false;
- context.Players.Update(player1);
- context.SaveChanges();
- }
- }
- else
- {
- if (counter % 2 == 0)
- {
- player2 = context.Players.First(p => p.ID == player2.ID);
- player2.YourTurn = true;
- yourTurn = true;
- context.Players.Update(player2);
- context.SaveChanges();
- }
- else
- {
- player2 = context.Players.First(p => p.ID == player2.ID);
- player2.YourTurn = false;
- yourTurn = false;
- context.Players.Update(player2);
- context.SaveChanges();
- }
- }
- /* box1 = context.Boxes.First(p => p.Field == 1);
- box2 = context.Boxes.First(p => p.Field == 2);
- box3 = context.Boxes.First(p => p.Field == 3);
- box4 = context.Boxes.First(p => p.Field == 4);
- box5 = context.Boxes.First(p => p.Field == 5);
- box6 = context.Boxes.First(p => p.Field == 6);
- box7 = context.Boxes.First(p => p.Field == 7);
- box8 = context.Boxes.First(p => p.Field == 8);
- box9 = context.Boxes.First(p => p.Field == 9);*/
- box1 = context.Boxes.AsNoTracking().First(p => p.Field == 1);
- box2 = context.Boxes.AsNoTracking().First(p => p.Field == 2);
- box3 = context.Boxes.AsNoTracking().First(p => p.Field == 3);
- box4 = context.Boxes.AsNoTracking().First(p => p.Field == 4);
- box5 = context.Boxes.AsNoTracking().First(p => p.Field == 5);
- box6 = context.Boxes.AsNoTracking().First(p => p.Field == 6);
- box7 = context.Boxes.AsNoTracking().First(p => p.Field == 7);
- box8 = context.Boxes.AsNoTracking().First(p => p.Field == 8);
- box9 = context.Boxes.AsNoTracking().First(p => p.Field == 9);
- firstRow[2] = box1.Symbol;
- firstRow[6] = box2.Symbol;
- firstRow[10] = box3.Symbol;
- secondRow[2] = box4.Symbol;
- secondRow[6] = box5.Symbol;
- secondRow[10] = box6.Symbol;
- thirdRow[2] = box7.Symbol;
- thirdRow[6] = box8.Symbol;
- thirdRow[10] = box9.Symbol;
- Console.Clear();
- foreach (char c in firstRow)
- {
- Console.Write(c);
- }
- Console.WriteLine();
- foreach (char c in secondRow)
- {
- Console.Write(c);
- }
- Console.WriteLine();
- foreach (char c in thirdRow)
- {
- Console.Write(c);
- }
- Console.WriteLine();
- player1 = context.Players.AsNoTracking().First(p => p.ID == player1.ID);//
- player2 = context.Players.AsNoTracking().First(p => p.ID == player2.ID);//
- /*if(context.Players.Contains(player2))
- {
- player2 = context.Players.AsNoTracking().First(p => p.ID == player2.ID);//
- }
- else
- {
- player2.YourTurn = true;
- }*/
- if (yourTurn == false && player1.ID == 1)
- {
- if (player2.YourTurn == true)
- {
- Console.WriteLine("Opponent's turn");
- }
- while (player2.YourTurn == true)
- {
- player2 = context.Players.AsNoTracking().First(p => p.ID == player2.ID);
- }
- }
- else if (yourTurn == false && player2.ID == 2)
- {
- if(player1.YourTurn == true)
- {
- Console.WriteLine("Opponent's turn!");
- }
- while (player1.YourTurn == true)
- {
- player1 = context.Players.AsNoTracking().First(p => p.ID == player1.ID);
- }
- }
- if(player1.Won == true || player2.Won == true)
- {
- Console.WriteLine("You Lose!");
- break;
- }
- if (yourTurn)
- {
- Console.ForegroundColor = ConsoleColor.White;
- Console.Write("Your turn:");
- int n = int.Parse(Console.ReadLine());
- if (n == 1)
- {
- box1 = context.Boxes.First(p => p.Field == 1);
- box1.Symbol = symbol;
- context.Boxes.Update(box1);
- context.SaveChanges();
- }
- else if (n == 2)
- {
- box2 = context.Boxes.First(p => p.Field == 2);
- box2.Symbol = symbol;
- context.Boxes.Update(box2);
- context.SaveChanges();
- }
- else if (n == 3)
- {
- box3 = context.Boxes.First(p => p.Field == 3);
- box3.Symbol = symbol;
- context.Boxes.Update(box3);
- context.SaveChanges();
- }
- else if (n == 4)
- {
- box4 = context.Boxes.First(p => p.Field == 4);
- box4.Symbol = symbol;
- context.Boxes.Update(box4);
- context.SaveChanges();
- }
- else if (n == 5)
- {
- box5 = context.Boxes.First(p => p.Field == 5);
- box5.Symbol = symbol;
- context.Boxes.Update(box5);
- context.SaveChanges();
- }
- else if (n == 6)
- {
- box6 = context.Boxes.First(p => p.Field == 6);
- box6.Symbol = symbol;
- context.Boxes.Update(box6);
- context.SaveChanges();
- }
- else if (n == 7)
- {
- box7 = context.Boxes.First(p => p.Field == 7);
- box7.Symbol = symbol;
- context.Boxes.Update(box7);
- context.SaveChanges();
- }
- else if (n == 8)
- {
- box8 = context.Boxes.First(p => p.Field == 8);
- box8.Symbol = symbol;
- context.Boxes.Update(box8);
- context.SaveChanges();
- }
- else if (n == 9)
- {
- box9 = context.Boxes.First(p => p.Field == 9);
- box9.Symbol = symbol;
- context.Boxes.Update(box9);
- context.SaveChanges();
- }
- Console.Clear();
- foreach (char c in firstRow)
- {
- Console.Write(c);
- }
- Console.WriteLine();
- foreach (char c in secondRow)
- {
- Console.Write(c);
- }
- Console.WriteLine();
- foreach (char c in thirdRow)
- {
- Console.Write(c);
- }
- Console.WriteLine();
- }
- if (firstRow[2] == symbol && firstRow[6] == symbol && firstRow[10] == symbol)
- {
- player1 = context.Players.First(p => p.ID == player1.ID);
- player2 = context.Players.First(p => p.ID == player2.ID);
- if (first)
- {
- player1.Won = true;
- context.Players.Update(player1);
- context.SaveChanges();
- }
- else
- {
- player2.Won = true;
- context.Players.Update(player2);
- context.SaveChanges();
- }
- Console.WriteLine();
- Console.WriteLine("You Win!");
- Console.WriteLine("-------------");
- Console.WriteLine($"│ {symbol} │ {symbol} │ {symbol} │");
- Console.WriteLine("│ │ │ │");
- Console.WriteLine("│ │ │ │");
- break;
- }
- else if (secondRow[2] == symbol && secondRow[6] == symbol && secondRow[10] == symbol)
- {
- player1 = context.Players.First(p => p.ID == player1.ID);
- player2 = context.Players.First(p => p.ID == player2.ID);
- if (first)
- {
- player1.Won = true;
- context.Players.Update(player1);
- context.SaveChanges();
- }
- else
- {
- player2.Won = true;
- context.Players.Update(player2);
- context.SaveChanges();
- }
- Console.WriteLine();
- Console.WriteLine("You Win");
- Console.WriteLine("-------------");
- Console.WriteLine("│ │ │ │");
- Console.WriteLine($"│ {symbol} │ {symbol} │ {symbol} │");
- Console.WriteLine("│ │ │ │");
- break;
- }
- else if (thirdRow[2] == symbol && thirdRow[6] == symbol && thirdRow[10] == symbol)
- {
- player1 = context.Players.First(p => p.ID == player1.ID);
- player2 = context.Players.First(p => p.ID == player2.ID);
- if (first)
- {
- player1.Won = true;
- context.Players.Update(player1);
- context.SaveChanges();
- }
- else
- {
- player2.Won = true;
- context.Players.Update(player2);
- context.SaveChanges();
- }
- Console.WriteLine();
- Console.WriteLine("You Win");
- Console.WriteLine("-------------");
- Console.WriteLine("│ │ │ │");
- Console.WriteLine("│ │ │ │");
- Console.WriteLine($"│ {symbol} │ {symbol} │ {symbol} │");
- break;
- }
- else if (firstRow[2] == symbol && secondRow[2] == symbol && thirdRow[2] == symbol)
- {
- player1 = context.Players.First(p => p.ID == player1.ID);
- player2 = context.Players.First(p => p.ID == player2.ID);
- if (first)
- {
- player1.Won = true;
- context.Players.Update(player1);
- context.SaveChanges();
- }
- else
- {
- player2.Won = true;
- context.Players.Update(player2);
- context.SaveChanges();
- }
- Console.WriteLine();
- Console.WriteLine("You Win");
- Console.WriteLine("-------------");
- Console.WriteLine($"│ {symbol} │ │ │");
- Console.WriteLine($"│ {symbol} │ │ │");
- Console.WriteLine($"│ {symbol} │ │ │");
- break;
- }
- else if (firstRow[6] == symbol && secondRow[6] == symbol && thirdRow[6] == symbol)
- {
- player1 = context.Players.First(p => p.ID == player1.ID);
- player2 = context.Players.First(p => p.ID == player2.ID);
- if (first)
- {
- player1.Won = true;
- context.Players.Update(player1);
- context.SaveChanges();
- }
- else
- {
- player2.Won = true;
- context.Players.Update(player2);
- context.SaveChanges();
- }
- Console.WriteLine();
- Console.WriteLine("You Win");
- Console.WriteLine("-------------");
- Console.WriteLine($"│ │ {symbol} │ │");
- Console.WriteLine($"│ │ {symbol} │ │");
- Console.WriteLine($"│ │ {symbol} │ │");
- break;
- }
- else if (firstRow[10] == symbol && secondRow[10] == symbol && thirdRow[10] == symbol)
- {
- player1 = context.Players.First(p => p.ID == player1.ID);
- player2 = context.Players.First(p => p.ID == player2.ID);
- if (first)
- {
- player1.Won = true;
- context.Players.Update(player1);
- context.SaveChanges();
- }
- else
- {
- player2.Won = true;
- context.Players.Update(player2);
- context.SaveChanges();
- }
- Console.WriteLine();
- Console.WriteLine("You Win");
- Console.WriteLine("-------------");
- Console.WriteLine($"│ │ │ {symbol} │");
- Console.WriteLine($"│ │ │ {symbol} │");
- Console.WriteLine($"│ │ │ {symbol} │");
- break;
- }
- else if (firstRow[2] == symbol && secondRow[6] == symbol && thirdRow[10] == symbol)
- {
- player1 = context.Players.First(p => p.ID == player1.ID);
- player2 = context.Players.First(p => p.ID == player2.ID);
- if (first)
- {
- player1.Won = true;
- context.Players.Update(player1);
- context.SaveChanges();
- }
- else
- {
- player2.Won = true;
- context.Players.Update(player2);
- context.SaveChanges();
- }
- Console.WriteLine();
- Console.WriteLine("You Win");
- Console.WriteLine("-------------");
- Console.WriteLine($"│ {symbol} │ │ │");
- Console.WriteLine($"│ │ {symbol} │ │");
- Console.WriteLine($"│ │ │ {symbol} │");
- break;
- }
- else if (firstRow[10] == symbol && secondRow[6] == symbol && thirdRow[2] == symbol)
- {
- player1 = context.Players.First(p => p.ID == player1.ID);
- player2 = context.Players.First(p => p.ID == player2.ID);
- if (first)
- {
- player1.Won = true;
- context.Players.Update(player1);
- context.SaveChanges();
- }
- else
- {
- player2.Won = true;
- context.Players.Update(player2);
- context.SaveChanges();
- }
- Console.WriteLine();
- Console.WriteLine("You Win");
- Console.WriteLine("-------------");
- Console.WriteLine($"│ │ │ {symbol} │");
- Console.WriteLine($"│ │ {symbol} │ │");
- Console.WriteLine($"│ {symbol} │ │ │");
- break;
- }
- }
- //context.Players.Remove(player1);
- //context.Players.Remove(player2);
- //context.SaveChanges();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement