Beispiel #1
0
        }// eldönti ,hogy a fekete játékos nyert-e

        static void babukhelye(string[,] koordinatak)
        {
            for (int i = 0; i < koordinatak.GetLength(0); i++)
            {
                for (int j = 0; j < koordinatak.GetLength(1); j++)
                {
                    koordinatak[i, j] = "00";
                }
            }
            Jatekos1.Jatekos1Babuk();
            for (int i = 0; i < Jatekos1.Minions.Length; i++)
            {
                string   hely   = Jatekos1.Minions[i].Koordinata;
                string[] helyek = hely.Split(',');
                int      x      = int.Parse(helyek[0]);
                int      y      = int.Parse(helyek[1]);
                koordinatak[x, y] = Jatekos1.Minions[i].Nev;
            }

            Jatekos2.Jatekos2Babuk();
            for (int i = 0; i < Jatekos2.Minions.Length; i++)
            {
                string   hely   = Jatekos2.Minions[i].Koordinata;
                string[] helyek = hely.Split(',');
                int      x      = int.Parse(helyek[0]);
                int      y      = int.Parse(helyek[1]);
                koordinatak[x, y] = Jatekos2.Minions[i].Nev;
            }
        }// meghatározza a bábuk helyét
Beispiel #2
0
        }// meghatározza a bábuk helyét

        static void Main(string[] args)
        {
            Console.Title = "Kamisado - Made by Krujz Gergely (P71JVI)";// cím
            do
            {
                //MENÜ eleje
                Console.WriteLine("Kérlek üsd be a megfelelő számot!");
                Console.WriteLine("1 - A JÁTÉK KEZDETE (ONLY MULTIPLAYER!!)");
                Console.WriteLine("2 - A JÁTÉKSZABÁLYZAT");
                Console.WriteLine("3 - KILÉPÉS");
                menupont = Console.ReadLine();
                Console.Clear();
                switch (menupont)
                {
                case "1":
                    Console.WriteLine("JÓ JÁTÉKOT KÍVÁNUNK!");
                    Console.ReadKey();
                    Console.Clear();
                    break;

                case "2":
                    Console.WriteLine("A JÁTÉK SZABÁLYAI:\n- Játékosok száma: 2\n- Ajánlott életkor: 10 éves kortól\n- A játék hossza: nem korlátozott\n \n");

                    Console.WriteLine("A JÁTÉK TARTALMA:\n- 8 különböző színű mezőből álló 64 mezős játéktábla.");
                    Console.WriteLine("- Mindegyik játékosnak 8-8 különböző színű bástyája van.\n- Az a játékos győz, akinek sikerül az egyik bástyáját az ellenfél oldalának kezdősorába eljuttatni. \n- A nehézség annyi, hogy a játékos kizárólag azzal a bástyájával lépphet (csak előrefelé vagy átlósan előrefelé), amilyen színű mezőre lépett az ellenfél az előző lépésesekor. \n- A Kamisado páya színkiosztása a következő (színek: narancs (N), kék (K), lila (L), rózsaszín (R), sárga (S), piros (P), zöd (Z), barna (B)). \n- Minden játékos a saját oldalán az első sorban kezd, úgy, hogy a bástyák az azonos színu˝ mezőkre vannak letéve.");
                    Console.ReadKey();
                    Console.Clear();
                    break;

                case "3":
                    Console.WriteLine("Viszlát!!");

                    break;

                default:
                    Console.WriteLine("Hiba történt ,írd be újra");
                    Console.ReadKey();
                    Console.Clear();
                    break;
                }
            } while (!(menupont == "1" || menupont == "3"));
            //MENÜ vége


            babukhelye(koordinatak);  //betölti a bábukat a kezdőhelyükre
            Palya.Palyavizsgalat();   //megvizsgálya hogy a pályánk megfelelő - e,
            Palya.Palyafeltolt();     //feltölti a pályát

            int  db          = 1;     // eldönti hogy ki következik
            bool helyeslepes = false; // megnézi hogy a felhasználó jól ütötte e be a kívánt adatokat

            if (menupont != "3")      // ha a menüpont 3 akkor kilép
            {
                do
                {
                    db++;

                    if (db % 2 == 0)// eldönti hogy ki következik
                    {
                        do
                        {
                            Console.Clear();
                            Palya.Palyakiir();// kirajzolja a pályát
                            lepesszam++;

                            do
                            {
                                Console.Clear();
                                Palya.Palyakiir();

                                if (lepesszam == 1)
                                {
                                    Console.WriteLine("A fehér játékos lép erre a mezőre:(BETŰ)--val/vel lépsz (x;y)-KOORDINÁTÁRA VESSZŐVEL ELVÁLASZTVA ! ");
                                    lepes = Console.ReadLine();
                                    string[] seged_feher = lepes.Split(',', '.');    // segít szétválasztani a bekért adatokat

                                    feherlepes[0] = seged_feher[0];
                                    feherlepes[0] = feherlepes[0].ToUpper();
                                    feherlepes[2] = seged_feher[1];
                                    feherlepes[1] = seged_feher[2];

                                    Lepes_helyessegenek_eldontese_feher(koordinatak, feherlepes[0], feherlepes[2], feherlepes[1]);
                                }
                                else // ha a lépésszám nem 1 akkor megmutatja a rendszer hogy melyik bábuval fogsz lépni
                                {
                                    Console.WriteLine("Ilyenkor már ne üsd be a kívánt betüt, mert a gép eldönti helyetted ,hogy melyikkel kell lépned");
                                    Console.WriteLine();
                                    Console.WriteLine("A fehér játékos lép erre a mezőre: {0}-val/vel lépsz (x;y)-KOORDINÁTÁRA VESSZŐVEL ELVÁLASZTVA !", feherlepes[0]);

                                    lepes = Console.ReadLine();
                                    string[] feherseged = lepes.Split(',');


                                    feherlepes[2] = feherseged[0];
                                    feherlepes[1] = feherseged[1];
                                    Lepes_helyessegenek_eldontese_feher(koordinatak, feherlepes[0], feherlepes[2], feherlepes[1]);
                                }


                                if ((feherlepes[0] == "N" || feherlepes[0] == "K" || feherlepes[0] == "L" || feherlepes[0] == "R" || feherlepes[0] == "S" || feherlepes[0] == "P" || feherlepes[0] == "Z" || feherlepes[0] == "B"))
                                {
                                    if (int.Parse(feherlepes[1]) == 0 || int.Parse(feherlepes[1]) == 1 || int.Parse(feherlepes[1]) == 2 || int.Parse(feherlepes[1]) == 3 || int.Parse(feherlepes[1]) == 4 || int.Parse(feherlepes[1]) == 5 || int.Parse(feherlepes[1]) == 6 || int.Parse(feherlepes[1]) == 7)
                                    {
                                        if (int.Parse(feherlepes[2]) == 0 || int.Parse(feherlepes[2]) == 1 || int.Parse(feherlepes[2]) == 2 || int.Parse(feherlepes[2]) == 3 || int.Parse(feherlepes[2]) == 4 || int.Parse(feherlepes[2]) == 5 || int.Parse(feherlepes[2]) == 6 || int.Parse(feherlepes[2]) == 7)
                                        {
                                            helyeslepes = true;
                                        }
                                    }
                                }
                                if (koordinatak[int.Parse(feherlepes[1]), int.Parse(feherlepes[2])] != "00")
                                {
                                    helyeskoordinata = false;
                                }
                                else if (koordinatak[int.Parse(feherlepes[1]), int.Parse(feherlepes[2])] == "00")// megnézi hogy üres-e a koordináta amire lépni szeretnénk
                                {
                                    helyeskoordinata = true;
                                }


                                if (helyeslepes == false || Lepes_helyessegenek_eldontese_feher(koordinatak, feherlepes[0], feherlepes[2], feherlepes[1]) == false || helyeskoordinata == false)
                                {
                                    Console.WriteLine("Hiba csúszott a lépésbe próbáld újra!!"); // ha hiba van kiírja és újratölt
                                    Console.ReadLine();
                                }
                            } while (helyeslepes == false || Lepes_helyessegenek_eldontese_feher(koordinatak, feherlepes[0], feherlepes[2], feherlepes[1]) == false || helyeskoordinata == false);
                        } while (helyeslepes == false);

                        Jatekos1.Jatekos1Mozg(feherlepes); // bábu mozgatás



                        switch (Palya.map[int.Parse(feherlepes[1]), int.Parse(feherlepes[2])])// megkeresi azt hogy hova lépett az előző felhasználó ,és  amilyen színre lépett olyan bábuval kell elmozdulnia a másiknak.
                        {
                        case "N":
                            for (int a = 0; a < Palya.map.GetLength(0); a++)
                            {
                                for (int b = 0; b < Palya.map.GetLength(1); b++)
                                {
                                    if (koordinatak[a, b] != "00")            // ha nem üres a koordináta
                                    {
                                        if (Palya.map[a, b] == "N")           // ha a pálya ezen koordinátái megeggyeznek a narancssárgával
                                        {
                                            feketelepes[0] = Palya.map[a, b]; // akkor az ellenfél játékosa a narancssárga bábuval lép el
                                        }
                                    }
                                }
                            }

                            break;

                        case "K":
                            for (int a = 0; a < Palya.map.GetLength(0); a++)
                            {
                                for (int b = 0; b < Palya.map.GetLength(1); b++)
                                {
                                    if (koordinatak[a, b] != "00")
                                    {
                                        if (Palya.map[a, b] == "K")
                                        {
                                            feketelepes[0] = Palya.map[a, b];
                                        }
                                    }
                                }
                            }
                            break;

                        case "L":
                            for (int a = 0; a < Palya.map.GetLength(0); a++)
                            {
                                for (int b = 0; b < Palya.map.GetLength(1); b++)
                                {
                                    if (koordinatak[a, b] != "00")
                                    {
                                        if (Palya.map[a, b] == "L")
                                        {
                                            feketelepes[0] = Palya.map[a, b];
                                        }
                                    }
                                }
                            }
                            break;

                        case "R":
                            for (int a = 0; a < Palya.map.GetLength(0); a++)
                            {
                                for (int b = 0; b < Palya.map.GetLength(1); b++)
                                {
                                    if (koordinatak[a, b] != "00")
                                    {
                                        if (Palya.map[a, b] == "R")
                                        {
                                            feketelepes[0] = Palya.map[a, b];
                                        }
                                    }
                                }
                            }
                            break;

                        case "S":
                            for (int a = 0; a < Palya.map.GetLength(0); a++)
                            {
                                for (int b = 0; b < Palya.map.GetLength(1); b++)
                                {
                                    if (koordinatak[a, b] != "00")
                                    {
                                        if (Palya.map[a, b] == "S")
                                        {
                                            feketelepes[0] = Palya.map[a, b];
                                        }
                                    }
                                }
                            }
                            break;

                        case "P":
                            for (int a = 0; a < Palya.map.GetLength(0); a++)
                            {
                                for (int b = 0; b < Palya.map.GetLength(1); b++)
                                {
                                    if (koordinatak[a, b] != "00")
                                    {
                                        if (Palya.map[a, b] == "P")
                                        {
                                            feketelepes[0] = Palya.map[a, b];
                                        }
                                    }
                                }
                            }
                            break;

                        case "Z":
                            for (int a = 0; a < Palya.map.GetLength(0); a++)
                            {
                                for (int b = 0; b < Palya.map.GetLength(1); b++)
                                {
                                    if (koordinatak[a, b] != "00")
                                    {
                                        if (Palya.map[a, b] == "Z")
                                        {
                                            feketelepes[0] = Palya.map[a, b];
                                        }
                                    }
                                }
                            }
                            break;

                        case "B":
                            for (int a = 0; a < Palya.map.GetLength(0); a++)
                            {
                                for (int b = 0; b < Palya.map.GetLength(1); b++)
                                {
                                    if (koordinatak[a, b] != "00")
                                    {
                                        if (Palya.map[a, b] == "B")
                                        {
                                            feketelepes[0] = Palya.map[a, b];
                                        }
                                    }
                                }
                            }

                            break;
                        }
                    }
                    else
                    {
                        do
                        {
                            do
                            {
                                helyeskoordinata = false; // alapértékre állít
                                helyeslepes      = false; // alapértékre állít
                                Console.Clear();
                                Palya.Palyakiir();
                                Console.WriteLine("Ilyenkor már ne üsd be a kívánt betüt, mert a gép eldönti helyetted ,hogy melyikkel kell lépned");
                                Console.WriteLine();
                                Console.WriteLine("A fekete játékos lép erre a mezőre: {0}-val/vel lépsz (x;y)-KOORDINÁTÁRA  VESSZŐVEL ELVÁLASZTVA !", feketelepes[0]);

                                lepes = Console.ReadLine();                    // bekérés
                                string[] seged_fekete = lepes.Split(',', '.'); //  szétválogatás

                                feketelepes[2] = seged_fekete[0];
                                feketelepes[1] = seged_fekete[1];
                                Lepes_helyessegenek_eldontese_fekete(koordinatak, feketelepes[0], feketelepes[2], feketelepes[1]);// milyen irányban léphetünk?

                                if ((feketelepes[0] == "N" || feketelepes[0] == "K" || feketelepes[0] == "L" || feketelepes[0] == "R" || feketelepes[0] == "S" || feketelepes[0] == "P" || feketelepes[0] == "Z" || feketelepes[0] == "B"))
                                {
                                    if (int.Parse(feketelepes[1]) == 0 || int.Parse(feketelepes[1]) == 1 || int.Parse(feketelepes[1]) == 2 || int.Parse(feketelepes[1]) == 3 || int.Parse(feketelepes[1]) == 4 || int.Parse(feketelepes[1]) == 5 || int.Parse(feketelepes[1]) == 6 || int.Parse(feketelepes[1]) == 7)
                                    {
                                        if (int.Parse(feketelepes[2]) == 0 || int.Parse(feketelepes[2]) == 1 || int.Parse(feketelepes[2]) == 2 || int.Parse(feketelepes[2]) == 3 || int.Parse(feketelepes[2]) == 4 || int.Parse(feketelepes[2]) == 5 || int.Parse(feketelepes[2]) == 6 || int.Parse(feketelepes[2]) == 7)
                                        {
                                            helyeslepes = true;
                                        }
                                    }
                                }

                                if (koordinatak[int.Parse(feketelepes[1]), int.Parse(feketelepes[2])] != "00")
                                {
                                    helyeskoordinata = false;
                                }
                                else if (koordinatak[int.Parse(feketelepes[1]), int.Parse(feketelepes[2])] == "00")
                                {
                                    helyeskoordinata = true;
                                }

                                if (helyeslepes == false || helyeskoordinata == false || Lepes_helyessegenek_eldontese_fekete(koordinatak, feketelepes[0], feketelepes[2], feketelepes[1]) == false)
                                {
                                    Console.WriteLine("Hiba csúszott a lépésbe próbáld újra!!");
                                    Console.ReadLine();
                                }
                            } while (helyeslepes == false || Lepes_helyessegenek_eldontese_fekete(koordinatak, feketelepes[0], feketelepes[2], feketelepes[1]) == false || helyeskoordinata == false);

                            lepesszam++;
                        } while (helyeslepes == false);
                        Jatekos2.Jatekos2Mozg(feketelepes);
                        switch (Palya.map[int.Parse(feketelepes[1]), int.Parse(feketelepes[2])])
                        {
                        case "N":
                            for (int a = 0; a < Palya.map.GetLength(0); a++)
                            {
                                for (int b = 0; b < Palya.map.GetLength(1); b++)
                                {
                                    if (koordinatak[a, b] != "00")
                                    {
                                        if (Palya.map[a, b] == "N")
                                        {
                                            feherlepes[0] = Palya.map[a, b];
                                        }
                                    }
                                }
                            }

                            break;

                        case "K":
                            for (int a = 0; a < Palya.map.GetLength(0); a++)
                            {
                                for (int b = 0; b < Palya.map.GetLength(1); b++)
                                {
                                    if (koordinatak[a, b] != "00")
                                    {
                                        if (Palya.map[a, b] == "K")
                                        {
                                            feherlepes[0] = Palya.map[a, b];
                                        }
                                    }
                                }
                            }
                            break;

                        case "L":
                            for (int a = 0; a < Palya.map.GetLength(0); a++)
                            {
                                for (int b = 0; b < Palya.map.GetLength(1); b++)
                                {
                                    if (koordinatak[a, b] != "00")
                                    {
                                        if (Palya.map[a, b] == "L")
                                        {
                                            feherlepes[0] = Palya.map[a, b];
                                        }
                                    }
                                }
                            }
                            break;

                        case "R":
                            for (int a = 0; a < Palya.map.GetLength(0); a++)
                            {
                                for (int b = 0; b < Palya.map.GetLength(1); b++)
                                {
                                    if (koordinatak[a, b] != "00")
                                    {
                                        if (Palya.map[a, b] == "R")
                                        {
                                            feherlepes[0] = Palya.map[a, b];
                                        }
                                    }
                                }
                            }
                            break;

                        case "S":
                            for (int a = 0; a < Palya.map.GetLength(0); a++)
                            {
                                for (int b = 0; b < Palya.map.GetLength(1); b++)
                                {
                                    if (koordinatak[a, b] != "00")
                                    {
                                        if (Palya.map[a, b] == "S")
                                        {
                                            feherlepes[0] = Palya.map[a, b];
                                        }
                                    }
                                }
                            }
                            break;

                        case "P":
                            for (int a = 0; a < Palya.map.GetLength(0); a++)
                            {
                                for (int b = 0; b < Palya.map.GetLength(1); b++)
                                {
                                    if (koordinatak[a, b] != "00")
                                    {
                                        if (Palya.map[a, b] == "P")
                                        {
                                            feherlepes[0] = Palya.map[a, b];
                                        }
                                    }
                                }
                            }
                            break;

                        case "Z":
                            for (int a = 0; a < Palya.map.GetLength(0); a++)
                            {
                                for (int b = 0; b < Palya.map.GetLength(1); b++)
                                {
                                    if (koordinatak[a, b] != "00")
                                    {
                                        if (Palya.map[a, b] == "Z")
                                        {
                                            feherlepes[0] = Palya.map[a, b];
                                        }
                                    }
                                }
                            }
                            break;

                        case "B":
                            for (int a = 0; a < Palya.map.GetLength(0); a++)
                            {
                                for (int b = 0; b < Palya.map.GetLength(1); b++)
                                {
                                    if (koordinatak[a, b] != "00")
                                    {
                                        if (Palya.map[a, b] == "B")
                                        {
                                            feherlepes[0] = Palya.map[a, b];
                                        }
                                    }
                                }
                            }

                            break;
                        }
                    }
                }while (Jatekeldontese_feher(koordinatak) == false && Jatekeldontese_fekete(koordinatak) == false);

                if (Jatekeldontese_feher(koordinatak) == true)// ha a feher győzött
                {
                    Console.Clear();
                    Palya.Palyakiir();
                    Console.WriteLine("A GYŐZTES A FEHÉR JÁTÉKOS !! ");
                    Console.ReadKey();
                }
                else if (Jatekeldontese_fekete(koordinatak) == true)// ha a feher győzött
                {
                    Console.Clear();
                    Palya.Palyakiir();
                    Console.WriteLine("A GYŐZTES A FEKETE JÁTÉKOS !! ");
                    Console.ReadKey();
                }

                Console.Clear();
                Console.WriteLine("KÖSZÖNJÜK,HOGY MINKET VÁLASZTOTT!!");
                Console.ReadKey();
            }
            else if (menupont == "3")// 3. menüpont kilépés
            {
                Console.ReadKey();
            }
        }