Examples of Casella


Examples of prop.hex.domini.models.Casella

    for ( int fila = 0; fila < tauler.getMida(); fila++ )
    {
      for ( int columna = 0; columna < tauler.getMida(); columna++ )
      {
        if ( !casella.equals( new Casella( fila, columna ) ) && potencials[fila][columna] < minim )
        {
          minim = potencials[fila][columna];
        }
      }
    }
View Full Code Here

Examples of prop.hex.domini.models.Casella

  public JPanelTauler( boolean partida_en_curs )
  {
    // Inicialitzem els atributs.
    elements_de_control_partida = PresentacioCtrl.getInstancia().getElementsDeControlPartida();
    elements_de_control_jugadors = PresentacioCtrl.getInstancia().getElementsDeControlJugadors();
    ultima_pista = new Casella( 0, 0 );
    pista_valida = false;
    this.partida_en_curs = partida_en_curs;
    partida_ia = ( ( TipusJugadors ) elements_de_control_jugadors[0][0] ) != TipusJugadors.JUGADOR &&
                 ( ( TipusJugadors ) elements_de_control_jugadors[0][0] ) != TipusJugadors.CONVIDAT &&
                 ( ( TipusJugadors ) elements_de_control_jugadors[0][1] ) != TipusJugadors.JUGADOR &&
View Full Code Here

Examples of prop.hex.domini.models.Casella

    {
      for ( int j = 0; j < tauler.getMida(); j++ )
      {
        if ( tauler.getEstatCasella( i, j ) == jo ) //si la casella és meva.
        {
          Casella casella = new Casella( i, j );
          if ( !estaEnUnGrup( casella ) )  //i si la casella no esta en cap grup.
          {
            GrupCaselles nou_grup = new GrupCaselles( tauler );
            nou_grup.estendre( casella );
            grups.add( nou_grup );        //creem un nou grup i l'afegim.
View Full Code Here

Examples of prop.hex.domini.models.Casella

    FitesDePoda fita = FitesDePoda.FITA_SUPERIOR;
    boolean[][] explorades = new boolean[tauler.getMida()][tauler.getMida()];
    int num_explorades = 0;
    while ( num_explorades < max_moviments && num_explorades < caselles_restants )
    {
      Casella actual =
          new Casella( generador.nextInt( tauler.getMida() ), generador.nextInt( tauler.getMida() ) );
      if ( tauler.esMovimentValid( contrincant, actual ) && !explorades[actual.getFila()][actual.getColumna()] )
      {
        explorades[actual.getFila()][actual.getColumna()] = true;
        num_explorades++;
        tauler.mouFitxa( contrincant, actual );
        estat_iteracio = partida.comprovaEstatPartida( actual.getFila(), actual.getColumna() );
        puntuacio = -negaMonteScout( contrincant, jugador, -beta_2, -alfa, profunditat + 1, estat_iteracio );

        if ( alfa < puntuacio && puntuacio < beta && !primer_fill )
        {
          fita = FitesDePoda.VALOR_EXACTE;
View Full Code Here

Examples of prop.hex.domini.models.Casella

    //Evaluem el tauler d'esquerra a dreta.

    // Omplim la primera columna del tauler amb les resistencies, (directe del seu estat).
    for ( int i = 0; i < tauler.getMida(); i++ )
    {
      resistencies_parcials[i][0] = resistenciaCasella( new Casella( i, 0 ) );
    }

    // Calculem les resistencies parcials cap a baix a partir de la primera fila.
    for ( int columna = 1; columna < tauler.getMida(); columna++ )
    {
      for ( int fila = 0; fila < tauler.getMida(); fila++ )
      {
        double r_entrada = calculaResistenciaColumna( fila, columna );

        if ( r_entrada >= 10000.0 )
        {
          resistencies_parcials[fila][columna] = 10000.0;
        }
        else
        {
          if ( resistenciaCasella( new Casella( fila, columna ) ) >= 10000.0 )
          {
            resistencies_parcials[fila][columna] = 10000.0;
          }
          else
          {
            resistencies_parcials[fila][columna] =
                r_entrada + resistenciaCasella( new Casella( fila, columna ) );
          }
        }
      }
    }
View Full Code Here

Examples of prop.hex.domini.models.Casella

    //Evaluem el tauler d'adalt a baix.

    // Omplim la primera fila del tauler amb les resistencies, (directe del seu estat).
    for ( int i = 0; i < tauler.getMida(); i++ )
    {
      resistencies_parcials[0][i] = resistenciaCasella( new Casella( 0, i ) );
    }

    // Calculem les resistencies parcials cap a baix a partir de la primera fila.
    for ( int fila = 1; fila < tauler.getMida(); fila++ )
    {
      for ( int columna = 0; columna < tauler.getMida(); columna++ )
      {
        double r_entrada = calculaResistenciaFila( fila, columna );

        if ( r_entrada >= 10000.0 )
        {
          resistencies_parcials[fila][columna] = 10000.0;
        }
        else
        {
          if ( resistenciaCasella( new Casella( fila, columna ) ) >= 10000.0 )
          {
            resistencies_parcials[fila][columna] = 10000.0;
          }
          else
          {
            resistencies_parcials[fila][columna] =
                r_entrada + resistenciaCasella( new Casella( fila, columna ) );
          }
        }
      }
    }
View Full Code Here

Examples of prop.hex.domini.models.Casella

   */
  public Casella obteMoviment( EstatCasella fitxa )
  {
    if ( partida.getTornsJugats() <= 1 )
    {
      Casella obertura = obertura();
      if ( obertura != null )
      {
        return obertura;
      }
    }

    tauler = partida.getTauler();

    int puntuacio_millor = Integer.MIN_VALUE + 1;
    Casella millor_moviment = null;

    int caselles_restants = tauler.getMida() * tauler.getMida() - tauler.getTotalFitxes();
    if ( partida.getTornsJugats() < 2 )
    {
      caselles_restants--;
    }
    else if ( tauler.getTotalFitxes() % ( ( int ) ( 2.3 * tauler.getMida() ) ) == 0 &&
              partida.getTornsJugats() != 0 )
    {
      profunditat_maxima++;
    }

    int max_moviments = Math.max( caselles_restants / ( int ) ( Math.sqrt( tauler.getMida() ) * 0.6 ), 7 );
    boolean[][] explorades = new boolean[tauler.getMida()][tauler.getMida()];
    int num_explorades = 0;
    while ( num_explorades < max_moviments && num_explorades < caselles_restants )
    {
      Casella actual =
          new Casella( generador.nextInt( tauler.getMida() ), generador.nextInt( tauler.getMida() ) );
      if ( tauler.esMovimentValid( fitxa, actual ) && !explorades[actual.getFila()][actual.getColumna()] )
      {
        explorades[actual.getFila()][actual.getColumna()] = true;
        num_explorades++;

        tauler.mouFitxa( fitxa, actual );
        int puntuacio_actual =
            negaMonteScout( fitxa, fitxaContraria( fitxa ), Integer.MIN_VALUE + 1, Integer.MAX_VALUE - 1, 1,
                partida.comprovaEstatPartida( actual.getFila(), actual.getColumna() ) );

        tauler.treuFitxa( actual );

        if ( puntuacio_actual > puntuacio_millor )
        {
View Full Code Here

Examples of prop.hex.domini.models.Casella

    if ( fila == tauler.getMida() )
    {
      veins = new ArrayList<Casella>();
      for ( int i = 0; i < tauler.getMida(); i++ )
      {
        veins.add( new Casella( tauler.getMida() - 1, i ) );
      }
    }
    else
    {
      veins = tauler.getVeins( fila, columna );
View Full Code Here

Examples of prop.hex.domini.models.Casella

    if ( columna == tauler.getMida() )
    {
      veins = new ArrayList<Casella>();
      for ( int i = 0; i < tauler.getMida(); i++ )
      {
        veins.add( new Casella( i, tauler.getMida() - 1 ) );
      }
    }
    else
    {
      veins = tauler.getVeins( fila, columna );
View Full Code Here

Examples of prop.hex.domini.models.Casella

     */
    if ( jugador == EstatCasella.JUGADOR_A )
    {
      for ( int fila = 0; fila < tauler.getMida(); fila++ )
      {
        resistencies_parcials[fila][0] = resistenciaCasella( new Casella( fila, 0 ) );
        cua_caselles.add( new ResistenciaCasella( new Casella( fila, 0 ), resistencies_parcials[fila][0] ) );
      }
    }
    else
    {
      for ( int columna = 0; columna < tauler.getMida(); columna++ )
      {
        resistencies_parcials[0][columna] = resistenciaCasella( new Casella( 0, columna ) );
        cua_caselles
            .add( new ResistenciaCasella( new Casella( 0, columna ), resistencies_parcials[0][columna] ) );
      }
    }

    /**
     * Fem Dijkstra sobre la cua_caselles.
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.