Exemplo n.º 1
0
        public Coordone AskForPositionne()
        {
            string caseChoisi = Console.ReadLine();

            //On test le nombre de caractere
            while (caseChoisi.Length != 2)
            {
                Console.WriteLine("Il faut rentrer 2 caratère");
                caseChoisi = Console.ReadLine();
            }
            //On test que ce sont bien des chiffre qui sont rentrées
            Regex TestChaine = new Regex("[0-9]");

            while (!TestChaine.Match(caseChoisi).Success)
            {
                Console.WriteLine("Il faut rentrer des chiffres");
                caseChoisi = Console.ReadLine();
            }
            //On test si les coordonne sont inferieur a 8 est superieur a -1
            while ((int)Char.GetNumericValue(caseChoisi[0]) < 0 || (int)Char.GetNumericValue(caseChoisi[0]) > 7 || (int)Char.GetNumericValue(caseChoisi[1]) < 0 || (int)Char.GetNumericValue(caseChoisi[1]) > 7)
            {
                Console.WriteLine("les coordonee ne peuvent pas etre inferieur a 0 ou supperieur a 7");
                caseChoisi = Console.ReadLine();
            }

            //on renvoye la coordonne
            Coordone r = new Coordone((int)Char.GetNumericValue(caseChoisi[0]), (int)Char.GetNumericValue(caseChoisi[1]));

            return(r);
        }
Exemplo n.º 2
0
 public virtual List <Coordone> GetUsuableCoordinate(Coordone PieceCoord, Pawn[,] Board)
 {
     return(new List <Coordone>());
     //TODO faire la liste des coord attaignable par la piece
 }
Exemplo n.º 3
0
        public void GameTurn()
        {
            PrintGameboard();
            if (IsMyTurn == true)
            {
                p3 = p1;
            }
            else
            {
                p3 = p2;
            }

            Console.WriteLine("Au tour de " + p3.name + " qui a la couleur " + p3.color + ". Ecriver quelle piece vous vouler jouer en donnant les positions avec x en premier et y en deuxième");
            Coordone coordone = AskForPositionne();

            // on test si c'est une piece du joueur
            while (cases[coordone.x, coordone.y] == null || cases[coordone.x, coordone.y].color != p3.color)
            {
                Console.WriteLine("Ecriver les coordone d'une piece à vous");
                coordone = AskForPositionne();
            }
            // On regarde si la piece peut se deplacer
            List <Coordone> MouvementPossible = cases[coordone.x, coordone.y].GetUsuableCoordinate(coordone, cases);

            while (MouvementPossible.Count == 0)
            {
                Console.WriteLine("Cette piece na pas de mouvement, choissisez s'en une autre");
                coordone          = AskForPositionne();
                MouvementPossible = cases[coordone.x, coordone.y].GetUsuableCoordinate(coordone, cases);
            }
            //on affiche les mouvement possible de la piece
            AfficheMouventPossible(MouvementPossible);
            Coordone NewPosition = AskForPositionne();

            //On test si la piece est dans les coordonnés
            for (int i = 0; i < MouvementPossible.Count; i++)
            {
                if (NewPosition.x == MouvementPossible[i].x && NewPosition.y == MouvementPossible[i].y)
                {
                    break;
                }

                if (i == MouvementPossible.Count - 1)
                {
                    i = -1;
                    Console.WriteLine("La postion que vous avez rentre n'est pas dans la liste des possibilité");
                    NewPosition = AskForPositionne();
                }
            }

            //On test si la pièce est le roi qui mettrai la fin au jeu
            if (cases[NewPosition.x, NewPosition.y] != null)
            {
                if (cases[NewPosition.x, NewPosition.y].signe == "K")
                {
                    Console.Clear();
                    Console.WriteLine("La Partie est terminé. Le gagnant est " + p3.name + " avec la couleur " + p3.color + " en " + nbTours + "tours");
                    TestFinDuJeu = true;
                }
            }

            //On échange de position la piece
            if (TestFinDuJeu == false)
            {
                cases[NewPosition.x, NewPosition.y] = cases[coordone.x, coordone.y];
                cases[coordone.x, coordone.y]       = null;

                //On change le tour de jeu
                if (IsMyTurn == true)
                {
                    IsMyTurn = false;
                }
                else
                {
                    IsMyTurn = true;
                }
                Console.Clear();
            }
        }