public ComandoMover(Pieza p, Coordenada PosInicial, Coordenada PosFinal, Pieza[,] Tablero, List <Coordenada> ListaBlanco, List <Coordenada> ListaNegros) { this.p = p; this.PosInicial = PosInicial; this.PosFinal = PosFinal; this.Tablero = Tablero; p.CalcularMovimientos(Tablero, PosInicial, ListaBlanco, ListaNegros, p.Color); ListaMovBlancos = ListaBlanco; ListaMovNegros = ListaNegros; }
//Aca empieza el bardo static void PonerPieza() { Pieza Pieza = null; //Crea una pieza y la setea como null para despues asignarle la clase que el jugador elija Console.WriteLine(); Console.WriteLine("Qué Pieza Quiere Poner? 'T'(Torre) / 'R' (Rey) / 'A' (Alfil) / 'h' (Reina) / 'C' (Caballo) / 'P' (Peon) "); char Opcion = char.Parse(Console.ReadLine()); if (Opcion == 't' || Opcion == 'T') { Pieza = new Torre(); } else if (Opcion == 'r' || Opcion == 'R') { Pieza = new Rey(); } else if (Opcion == 'a' || Opcion == 'A') { Pieza = new Alfil(); } else if (Opcion == 'h' || Opcion == 'H') { Pieza = new Reina(); } else if (Opcion == 'c' || Opcion == 'C') { Pieza = new Caballo(); } else if (Opcion == 'p' || Opcion == 'P') { Pieza = new Peon(); } //Segun la letra ingresada es una clase u otra //Lo mismo con el color Console.WriteLine("De que color? 'B' (Blanca) / 'N' (Negra)"); char OpcionC = char.Parse(Console.ReadLine()); if (OpcionC == 'b' || OpcionC == 'B') { Pieza.Color = 'B'; } else if (OpcionC == 'n' || OpcionC == 'N') { Pieza.Color = 'N'; } //La funcion ObtenerCoordenadas esta arriba comentada, la pieza creada obtiene su posicion de esta funcion Pieza.Posicion = ObtenerCoordenadas(); //Estos son los 3 casos posibles (la posicion esta ocupada por una pieza de tu color, por una de otro color o por nadie) if (Tablero[Pieza.Posicion.X, Pieza.Posicion.Y] is PiezaVacia) { Tablero[Pieza.Posicion.X, Pieza.Posicion.Y].Img = Pieza.Img; //Se muestra en el tablero donde pusiste la pieza Pieza.CalcularMovimientos(Tablero, Pieza.Posicion, MovPosiblesBlancos, MovPosiblesNegros, Pieza.Color); //Se calculan los mov de esta Console.ReadKey(); } else if (Tablero[Pieza.Posicion.X, Pieza.Posicion.Y].Color == Pieza.Color) { //No pasa nada Console.WriteLine("El Casillero esta ocupado por una pieza de tu color"); Console.ReadKey(); } else if (Tablero[Pieza.Posicion.X, Pieza.Posicion.Y].Color != Pieza.Color) { //Hace lo mismo que la primer condicion pero te tira un mensaje Console.WriteLine("Comiste una pieza de otro color"); Console.ReadKey(); Pieza.CalcularMovimientos(Tablero, Pieza.Posicion, MovPosiblesBlancos, MovPosiblesNegros, Pieza.Color); Tablero[Pieza.Posicion.X, Pieza.Posicion.Y] = Pieza; } }