예제 #1
0
        void CrearArbol()
        {
            if (CalculoJugadorContrario != null && CalculoJugadorContrario.terminado == true)
            {
                NumeroDeMovimiento++;
                IAmovio                 = true;
                SePuedeMostrar          = false;
                posOrinal               = true;
                CalculoJugadorContrario = null;
            }

            if (NumeroDeMovimiento <= ListaDeMovimientosParaCalcular.Count - 1)
            {
                //DarValorDeEstado (NumeroDeMovimiento);
                ListaDeMovimientosParaCalcular[NumeroDeMovimiento].estadoFinal.MostrarPiezasEnSusPosiciones();
                DarValorDeEstado(NumeroDeMovimiento);
                if (CalculoJugadorContrario == null)
                {
                    //Debug.Log("calculo");
                    EstadoParaCalcular = ListaDeMovimientosParaCalcular[NumeroDeMovimiento].estadoFinal;
                    CrearJugadaDesdeEstado(EstadoParaCalcular);
                }

                //Debug.Log(estado.ListaDePiezas[0].Casilla);
                //Debug.Log("alfinl = " + Partida.ListaDePiezas[0].casilla.nombre);

                //string s= MovimientosDelContrario[0].estadoFinal.ListaDePiezas[0].Casilla;
                //Debug.Log(s);

                //sDebug.Log (estado.ListaDePiezas[0].Nombre + " se guardo " + estado.ListaDePiezas[0].Casilla);
            }
        }
예제 #2
0
        void CrearJugadaDesdeEstado(EstadoDeJuego estado)
        {
            List <Movimiento> MovimientosDelContrario =
                Juego.IA.CalcularMovimientosPorColorEnEstado(Juego.color.Claro, estado);

            CalculoJugadorContrario = new CalculoDeJugada(MovimientosDelContrario, estado);
            //Debug.Log (estado.ListaDePiezas[0].Nombre + " se guardo " + estado.ListaDePiezas[0].Casilla);
            CalculoJugadorContrario.NumeroDeMovimiento = 0;
            CalculoJugadorContrario.terminado          = false;
        }
예제 #3
0
		void Update () {

			if (Input.GetKeyDown (KeyCode.A)) {
				EstadoDeJuego estado = new EstadoDeJuego ();
				estadoOriginal = estado;
				//CantidadDeCasillasOcupadasEnEstado (estadoOriginal);

				//estado.ActualizarCasillasOcupadas();
				movs = Juego.IA.CalcularMovimientosPorColorEnEstado (Juego.color.Oscuro, estado);

				foreach(Movimiento mov in movs){
						//CantidadDeCasillasOcupadasEnEstado(mov.estadoFinal);
				}
				CalculoDeJugada calculo1 = new CalculoDeJugada(movs,estado);
				calculo1.Calcular();
			}

			if (Input.GetKeyDown (KeyCode.Z)) {

			}

			if (Input.GetKeyDown (KeyCode.B)) {

			}
			if (Input.GetKeyDown (KeyCode.G)) {
				Debug.Log (Partida.ListaDePiezas.Count.ToString ());
				EstadoDeJuego estado = new EstadoDeJuego (Partida.ListaDePiezas);

				estados.Add (estado);

			}
			if (Input.GetKeyDown (KeyCode.RightArrow)) {
				if (estadoSelecionado < estados.Count - 1) {
					estadoSelecionado++;
				}
			}
			if (Input.GetKeyDown (KeyCode.LeftArrow)) {
				if (estadoSelecionado > 0) {
					estadoSelecionado--;

				}
			}
			//Mostrar PIezas
			if (Input.GetKeyDown (KeyCode.M)) {
				estados[estadoSelecionado].MostrarPiezasEnSusPosiciones ();

			}

			CantidadDeEstados = estados.Count;
		}