Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApplication26
- {
- public class Program
- {
- public enum Ruch
- {
- Kolko,
- Krzyzyk,
- Brak,
- }
- public enum Gracz
- {
- Kolko,
- Krzyzyk,
- }
- public enum RezultatGry
- {
- Remis,
- Nierozstrzygnieta,
- WygrywaKolko,
- WygrywaKrzyzyk,
- }
- public class Plansza
- {
- Ruch[] Tab = new Ruch[9];
- public bool ZaznaczRuch(int x, int y, Ruch Znak)
- {
- int Wspol = (x + (3 *(y - 1)) - 1);
- if (Tab[Wspol] == Ruch.Brak)
- {
- Tab[Wspol] = Znak;
- return true;
- }
- else
- return false;
- }
- /*public string ToString()
- {
- string Wynik = string.Empty;
- for (int i = 1; i < 9; i++)
- {
- switch (Tab[i - 1])
- {
- case (Ruch.Brak):
- Wynik = ".";
- break;
- case (Ruch.Kolko):
- Wynik = "O";
- break;
- case (Ruch.Krzyzyk):
- Wynik = "X";
- break;
- default:
- break;
- }
- if (i % 3 == 0)
- Console.WriteLine();
- return (Wynik);
- }
- return " ";
- }*/
- public void ToString()
- {
- for (int i = 0; i < 9; i++)
- {
- if (i % 3 == 0) Console.WriteLine();
- if (Tab[i] == Ruch.Kolko) Console.Write("O");
- if (Tab[i] == Ruch.Krzyzyk) Console.Write("X");
- if (Tab[i] == Ruch.Brak) Console.Write(".");
- }
- Console.Write("\n\n");
- }
- public RezultatGry SprawdzRezultat()
- {
- for (int i = 0; i <= 6; i += 3)
- {
- if (Tab[i] == Ruch.Kolko && Tab[i + 1] == Ruch.Kolko && Tab[i + 2] == Ruch.Kolko) { return (RezultatGry.WygrywaKolko); }
- if (Tab[i] == Ruch.Krzyzyk && Tab[i + 1] == Ruch.Krzyzyk && Tab[i + 2] == Ruch.Krzyzyk) { return (RezultatGry.WygrywaKrzyzyk); }
- }
- for (int i = 0; i <= 2; i += 3)
- {
- if (Tab[i] == Ruch.Kolko && Tab[i + 3] == Ruch.Kolko && Tab[i + 6] == Ruch.Kolko) { return (RezultatGry.WygrywaKolko); }
- if (Tab[i] == Ruch.Krzyzyk && Tab[i + 3] == Ruch.Krzyzyk && Tab[i + 6] == Ruch.Krzyzyk) { return (RezultatGry.WygrywaKrzyzyk); }
- }
- if (Tab[0] == Ruch.Kolko && Tab[4] == Ruch.Kolko && Tab[8] == Ruch.Kolko) { return (RezultatGry.WygrywaKolko); }
- if (Tab[2] == Ruch.Krzyzyk && Tab[4] == Ruch.Krzyzyk && Tab[6] == Ruch.Krzyzyk) { return (RezultatGry.WygrywaKrzyzyk); }
- return (RezultatGry.Nierozstrzygnieta);
- }
- public static Gracz ZmienGracza(Gracz AktualnyGracz)
- {
- if (AktualnyGracz == Gracz.Kolko)
- return Gracz.Krzyzyk;
- else
- return Gracz.Kolko;
- }
- public void Czyszczenie()
- {
- for (int i = 0; i < 9; i++)
- {
- Tab[i] = Ruch.Brak;
- }
- }
- }
- static void Main(string[] args)
- {
- int KtoZaczyna;
- int x, y;
- Gracz Zawodnik;
- Console.WriteLine("Kto ma zaczynać: Kolko(0) Krzyzyk(1)");
- KtoZaczyna = int.Parse(Console.ReadLine());
- Plansza NowaPlansza = new Plansza();
- NowaPlansza.Czyszczenie();
- if (KtoZaczyna == 0) { Zawodnik = Gracz.Kolko; }
- else { Zawodnik = Gracz.Krzyzyk; }
- //NowaPlansza.ToString();
- for (int i = 0; i < 9; i++)
- {
- NowaPlansza.ToString();
- Console.Write("Podaj współrzedną x: ");
- x = int.Parse(Console.ReadLine());
- Console.Write("Podaj współrzędną y: ");
- y = int.Parse(Console.ReadLine());
- if (Zawodnik == Gracz.Kolko)
- if (NowaPlansza.ZaznaczRuch(x, y, Ruch.Kolko)==false)
- {
- Console.WriteLine("To pole jest zajęte. Wybierz inne.");
- }
- if (Zawodnik == Gracz.Krzyzyk) NowaPlansza.ZaznaczRuch(x, y, Ruch.Krzyzyk);
- Zawodnik = Plansza.ZmienGracza(Zawodnik);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement