Page 12 of 16

Re: Triple Triad

Posted: 27 Feb 2010, 00:00
by Viento
Eh, que me he dejado ganar para ver si en la última jugada te volvía a ganar suciamente, pero no ha funcionado xD

Re: Triple Triad

Posted: 27 Feb 2010, 00:18
by Pappapishu
Bueno bueno...te he vuelto a ganar y eso que en el ultimo turno has vuelto a tener un bug a tu favor!!!

Re: Triple Triad

Posted: 27 Feb 2010, 01:30
by Sinh
Yo creo que el bug podría estar en que la regla suma funciona incluso cuando no hay carta con la que sumar. Es decir, imaginemos que ponemos una carta cuyo borde inferior suma 6 con la del contrario (por ejemplo 1+5). Si en alguno de los otros lados tiene un 6 y no está adyacente a ninguna otra carta, te hace la suma 6+0. Y al haber dos lados que suman seis pues da la vuelta a la otra carta.

Re: Triple Triad

Posted: 27 Feb 2010, 08:48
by Pappapishu
Joe Sinh, pues si....no había pensado en la posibilidad de que sumara un 0, yo creo que va a ser eso. Pero la regla suma no se aplica SOLO si todos los lados la cumplen? Por esa regla de tres debería ser siempre los 4 lados, por lo que hay un segundo bug en esa suma!

Re: Triple Triad

Posted: 01 Mar 2010, 00:38
by Inferno
Probando con Black Flare hemos hallado el problema, que es como apuntábamos, que suma con 0 cuando no hay carta.
Primero ha pasado lo mismo de antes:
Image

Yo he puesto el acorazado sobre el venoma, 6 arriba (6+0=6) y 1 abajo, que sumado con el 5 son 6 también. Su carta se ha girado.
Pero para no limitarlo a ese caso, hemos probado con otra cosa. Él ha puesto una carta de lado izquierdo 7 y derecho 2, de forma que 7+0=7 y 2+5=7. La carta se ha girado.
Así que el problema está ahí.
Este es el scan sacado por Black de la segunda jugada:
Image

Re: Triple Triad

Posted: 01 Mar 2010, 17:33
by Pappapishu
Pues creo que el bug ya se puede considerar completamente descubirto jeje, gran trabajo global de todos los usuarios del foro. Viento, ¿Hay algo que se pueda hacer para solucionarlo? ¿Necesitas ayuda para echarle un ojo?

Re: Triple Triad

Posted: 01 Mar 2010, 18:10
by Viento
Pues lo tengo que mirar tranquilamente, pero si algún valiente quiere mirarlo ahí dejo el código de la parte que recorre las cartas. Obviamente es PHP.

Code: Select all

                  
                     while ($tt_combo_size >= $tt_combo_counter)
                     {         
                        $tt_x = $tt_x_list[$tt_combo_counter];
                        $tt_y = $tt_y_list[$tt_combo_counter];
                        $tt_combo_counter += 1;
                     
                        //Same Wall
                        if ($tt_duel_info['rule_same_wall'] == 'yes')
                        {
                           for ($n = 1; $n <= 3; $n=$n+1)
                           {
                              $tt_board_card_up[$n][4] = 10;
                              $tt_board_card_down[$n][0] = 10;
                              $tt_board_card_left[4][$n] = 10;
                              $tt_board_card_right[0][$n] = 10;
                           }
                        }
                        
                        //Same
                        if ($tt_duel_info['rule_same'] == 'yes')
                        {
                           if ($tt_board_card_up[$tt_x][$tt_y] == $tt_board_card_down[$tt_x][$tt_y - 1] && $tt_board_card_right[$tt_x][$tt_y] == $tt_board_card_left[$tt_x + 1][$tt_y])
                           {
                              //Combo
                              if ($tt_duel_info['rule_combo'] == 'yes')
                              {
                                 if ($tt_board_card_marked[$tt_x][$tt_y - 1] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x;
                                    $tt_y_list[$tt_combo_size] = $tt_y - 1;
                                    $tt_combo = true;
                                 }
                                 if ($tt_board_card_marked[$tt_x + 1][$tt_y] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x + 1;
                                    $tt_y_list[$tt_combo_size] = $tt_y;
                                    $tt_combo = true;
                                 }
                              }
                              $tt_board_card_marked[$tt_x][$tt_y - 1] = $tt_player;
                              $tt_board_card_marked[$tt_x + 1][$tt_y] = $tt_player;
                           }
                           if ($tt_board_card_right[$tt_x][$tt_y] == $tt_board_card_left[$tt_x + 1][$tt_y] && $tt_board_card_down[$tt_x][$tt_y] == $tt_board_card_up[$tt_x][$tt_y + 1])
                           {
                              //Combo
                              if ($tt_duel_info['rule_combo'] == 'yes')
                              {
                                 if ($tt_board_card_marked[$tt_x + 1][$tt_y] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x + 1;
                                    $tt_y_list[$tt_combo_size] = $tt_y;
                                    $tt_combo = true;
                                 }
                                 if ($tt_board_card_marked[$tt_x][$tt_y + 1] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x;
                                    $tt_y_list[$tt_combo_size] = $tt_y + 1;
                                    $tt_combo = true;
                                 }
                              }
                              $tt_board_card_marked[$tt_x + 1][$tt_y] = $tt_player;
                              $tt_board_card_marked[$tt_x][$tt_y + 1] = $tt_player;
                           }
                           if ($tt_board_card_down[$tt_x][$tt_y] == $tt_board_card_up[$tt_x][$tt_y + 1] && $tt_board_card_left[$tt_x][$tt_y] == $tt_board_card_right[$tt_x - 1][$tt_y])
                           {
                              //Combo
                              if ($tt_duel_info['rule_combo'] == 'yes')
                              {
                                 if ($tt_board_card_marked[$tt_x][$tt_y + 1] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x;
                                    $tt_y_list[$tt_combo_size] = $tt_y + 1;
                                    $tt_combo = true;
                                 }
                                 if ($tt_board_card_marked[$tt_x - 1][$tt_y] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x - 1;
                                    $tt_y_list[$tt_combo_size] = $tt_y;
                                    $tt_combo = true;
                                 }
                              }
                              $tt_board_card_marked[$tt_x][$tt_y + 1] = $tt_player;
                              $tt_board_card_marked[$tt_x - 1][$tt_y] = $tt_player;
                           }
                           if ($tt_board_card_left[$tt_x][$tt_y] == $tt_board_card_right[$tt_x - 1][$tt_y] && $tt_board_card_up[$tt_x][$tt_y] == $tt_board_card_down[$tt_x][$tt_y - 1])
                           {
                              //Combo
                              if ($tt_duel_info['rule_combo'] == 'yes')
                              {
                                 if ($tt_board_card_marked[$tt_x - 1][$tt_y] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x - 1;
                                    $tt_y_list[$tt_combo_size] = $tt_y;
                                    $tt_combo = true;
                                 }
                                 if ($tt_board_card_marked[$tt_x][$tt_y - 1] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x;
                                    $tt_y_list[$tt_combo_size] = $tt_y - 1;
                                    $tt_combo = true;
                                 }
                              }
                              $tt_board_card_marked[$tt_x - 1][$tt_y] = $tt_player;
                              $tt_board_card_marked[$tt_x][$tt_y - 1] = $tt_player;
                           }
                           if ($tt_board_card_up[$tt_x][$tt_y] == $tt_board_card_down[$tt_x][$tt_y - 1] && $tt_board_card_down[$tt_x][$tt_y] == $tt_board_card_up[$tt_x][$tt_y + 1])
                           {
                              //Combo
                              if ($tt_duel_info['rule_combo'] == 'yes')
                              {
                                 if ($tt_board_card_marked[$tt_x][$tt_y - 1] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x;
                                    $tt_y_list[$tt_combo_size] = $tt_y - 1;
                                    $tt_combo = true;
                                 }
                                 if ($tt_board_card_marked[$tt_x][$tt_y + 1] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x;
                                    $tt_y_list[$tt_combo_size] = $tt_y + 1;
                                    $tt_combo = true;
                                 }
                              }
                              $tt_board_card_marked[$tt_x][$tt_y - 1] = $tt_player;
                              $tt_board_card_marked[$tt_x][$tt_y + 1] = $tt_player;
                           }
                           if ($tt_board_card_right[$tt_x][$tt_y] == $tt_board_card_left[$tt_x + 1][$tt_y] && $tt_board_card_left[$tt_x][$tt_y] == $tt_board_card_right[$tt_x - 1][$tt_y])
                           {
                              //Combo
                              if ($tt_duel_info['rule_combo'] == 'yes')
                              {
                                 if ($tt_board_card_marked[$tt_x + 1][$tt_y] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x + 1;
                                    $tt_y_list[$tt_combo_size] = $tt_y;
                                    $tt_combo = true;
                                 }
                                 if ($tt_board_card_marked[$tt_x - 1][$tt_y] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x - 1;
                                    $tt_y_list[$tt_combo_size] = $tt_y;
                                    $tt_combo = true;
                                 }
                              }
                              $tt_board_card_marked[$tt_x + 1][$tt_y] = $tt_player;
                              $tt_board_card_marked[$tt_x - 1][$tt_y] = $tt_player;
                           }
                        }
                        
                        //Same Wall
                        if ($tt_duel_info['rule_same_wall'] == 'yes')
                        {
                           for ($n = 1; $n <= 3; $n=$n+1)
                           {
                              $tt_board_card_up[$n][4] = 0;
                              $tt_board_card_down[$n][0] = 0;
                              $tt_board_card_left[4][$n] = 0;
                              $tt_board_card_right[0][$n] = 0;
                           }
                        }
                        
                        //Plus
                        if ($tt_duel_info['rule_plus'] == 'yes')
                        {
                           if ($tt_board_card_up[$tt_x][$tt_y] + $tt_board_card_down[$tt_x][$tt_y - 1] == $tt_board_card_right[$tt_x][$tt_y] + $tt_board_card_left[$tt_x + 1][$tt_y])
                           {
                              //Combo
                              if ($tt_duel_info['rule_combo'] == 'yes')
                              {
                                 if ($tt_board_card_marked[$tt_x][$tt_y - 1] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x;
                                    $tt_y_list[$tt_combo_size] = $tt_y - 1;
                                    $tt_combo = true;
                                 }
                                 if ($tt_board_card_marked[$tt_x + 1][$tt_y] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x + 1;
                                    $tt_y_list[$tt_combo_size] = $tt_y;
                                    $tt_combo = true;
                                 }
                              }
                              $tt_board_card_marked[$tt_x][$tt_y - 1] = $tt_player;
                              $tt_board_card_marked[$tt_x + 1][$tt_y] = $tt_player;
                           }
                           if ($tt_board_card_right[$tt_x][$tt_y] + $tt_board_card_left[$tt_x + 1][$tt_y] == $tt_board_card_down[$tt_x][$tt_y] + $tt_board_card_up[$tt_x][$tt_y + 1])
                           {
                              //Combo
                              if ($tt_duel_info['rule_combo'] == 'yes')
                              {
                                 if ($tt_board_card_marked[$tt_x + 1][$tt_y] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x + 1;
                                    $tt_y_list[$tt_combo_size] = $tt_y;
                                    $tt_combo = true;
                                 }
                                 if ($tt_board_card_marked[$tt_x][$tt_y + 1] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x;
                                    $tt_y_list[$tt_combo_size] = $tt_y + 1;
                                    $tt_combo = true;
                                 }
                              }
                              $tt_board_card_marked[$tt_x + 1][$tt_y] = $tt_player;
                              $tt_board_card_marked[$tt_x][$tt_y + 1] = $tt_player;
                           }
                           if ($tt_board_card_down[$tt_x][$tt_y] + $tt_board_card_up[$tt_x][$tt_y + 1] == $tt_board_card_left[$tt_x][$tt_y] + $tt_board_card_right[$tt_x - 1][$tt_y])
                           {
                              //Combo
                              if ($tt_duel_info['rule_combo'] == 'yes')
                              {
                                 if ($tt_board_card_marked[$tt_x][$tt_y + 1] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x;
                                    $tt_y_list[$tt_combo_size] = $tt_y + 1;
                                    $tt_combo = true;
                                 }
                                 if ($tt_board_card_marked[$tt_x - 1][$tt_y] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x - 1;
                                    $tt_y_list[$tt_combo_size] = $tt_y;
                                    $tt_combo = true;
                                 }
                              }
                              $tt_board_card_marked[$tt_x][$tt_y + 1] = $tt_player;
                              $tt_board_card_marked[$tt_x - 1][$tt_y] = $tt_player;
                           }
                           if ($tt_board_card_left[$tt_x][$tt_y] + $tt_board_card_right[$tt_x - 1][$tt_y] == $tt_board_card_up[$tt_x][$tt_y] + $tt_board_card_down[$tt_x][$tt_y - 1])
                           {
                              //Combo
                              if ($tt_duel_info['rule_combo'] == 'yes')
                              {
                                 if ($tt_board_card_marked[$tt_x - 1][$tt_y] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x - 1;
                                    $tt_y_list[$tt_combo_size] = $tt_y;
                                    $tt_combo = true;
                                 }
                                 if ($tt_board_card_marked[$tt_x][$tt_y - 1] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x;
                                    $tt_y_list[$tt_combo_size] = $tt_y - 1;
                                    $tt_combo = true;
                                 }
                              }
                              $tt_board_card_marked[$tt_x - 1][$tt_y] = $tt_player;
                              $tt_board_card_marked[$tt_x][$tt_y - 1] = $tt_player;
                           }
                           if ($tt_board_card_up[$tt_x][$tt_y] + $tt_board_card_down[$tt_x][$tt_y - 1] == $tt_board_card_down[$tt_x][$tt_y] + $tt_board_card_up[$tt_x][$tt_y + 1])
                           {
                              //Combo
                              if ($tt_duel_info['rule_combo'] == 'yes')
                              {
                                 if ($tt_board_card_marked[$tt_x][$tt_y - 1] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x;
                                    $tt_y_list[$tt_combo_size] = $tt_y - 1;
                                    $tt_combo = true;
                                 }
                                 if ($tt_board_card_marked[$tt_x][$tt_y + 1] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x;
                                    $tt_y_list[$tt_combo_size] = $tt_y + 1;
                                    $tt_combo = true;
                                 }
                              }
                              $tt_board_card_marked[$tt_x][$tt_y - 1] = $tt_player;
                              $tt_board_card_marked[$tt_x][$tt_y + 1] = $tt_player;
                           }
                           if ($tt_board_card_right[$tt_x][$tt_y] + $tt_board_card_left[$tt_x + 1][$tt_y] == $tt_board_card_left[$tt_x][$tt_y] + $tt_board_card_right[$tt_x - 1][$tt_y])
                           {
                              //Combo
                              if ($tt_duel_info['rule_combo'] == 'yes')
                              {
                                 if ($tt_board_card_marked[$tt_x + 1][$tt_y] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x + 1;
                                    $tt_y_list[$tt_combo_size] = $tt_y;
                                    $tt_combo = true;
                                 }
                                 if ($tt_board_card_marked[$tt_x - 1][$tt_y] == $tt_opponent)
                                 {
                                    $tt_combo_size += 1;
                                    $tt_x_list[$tt_combo_size] = $tt_x - 1;
                                    $tt_y_list[$tt_combo_size] = $tt_y;
                                    $tt_combo = true;
                                 }
                              }
                              $tt_board_card_marked[$tt_x + 1][$tt_y] = $tt_player;
                              $tt_board_card_marked[$tt_x - 1][$tt_y] = $tt_player;
                           }
                        }
                        
                        //Elemental
                        if ($tt_duel_info['rule_elemental'] == 'yes')
                        {
                           for ($y = 1; $y <= 3; $y=$y+1)
                           {
                              for ($x = 1; $x <= 3; $x=$x+1)
                              {
                                 $tt_element_position = ($y - 1) * 3 + $x;
                                 if ($tt_duel_info['element_'. $tt_element_position] != 0)
                                 {
                                    if ($tt_board_card_element[$x][$y] == $tt_duel_info['element_'. $tt_element_position])
                                    {
                                       $tt_board_card_up[$x][$y] += 1;
                                       $tt_board_card_down[$x][$y] += 1;
                                       $tt_board_card_left[$x][$y] += 1;
                                       $tt_board_card_right[$x][$y] += 1;
                                    }
                                    else
                                    {
                                       $tt_board_card_up[$x][$y] -= 1;
                                       $tt_board_card_down[$x][$y] -= 1;
                                       $tt_board_card_left[$x][$y] -= 1;
                                       $tt_board_card_right[$x][$y] -= 1;
                                    }
                                 }
                              }
                           }
                        }
                        
                        //Normal
                        if ($tt_board_card_up[$tt_x][$tt_y] > $tt_board_card_down[$tt_x][$tt_y - 1])
                        {
                           //Combo
                           if ($tt_combo == true && $tt_board_card_marked[$tt_x][$tt_y - 1] == $tt_opponent)
                           {
                              $tt_combo_size += 1;
                              $tt_x_list[$tt_combo_size] = $tt_x;
                              $tt_y_list[$tt_combo_size] = $tt_y - 1;
                           }
                           $tt_board_card_marked[$tt_x][$tt_y - 1] = $tt_player;
                        }
                        if ($tt_board_card_right[$tt_x][$tt_y] > $tt_board_card_left[$tt_x + 1][$tt_y])
                        {
                           //Combo
                           if ($tt_combo == true && $tt_board_card_marked[$tt_x + 1][$tt_y] == $tt_opponent)
                           {
                              $tt_combo_size += 1;
                              $tt_x_list[$tt_combo_size] = $tt_x + 1;
                              $tt_y_list[$tt_combo_size] = $tt_y;
                           }
                           $tt_board_card_marked[$tt_x + 1][$tt_y] = $tt_player;
                        }
                        if ($tt_board_card_down[$tt_x][$tt_y] > $tt_board_card_up[$tt_x][$tt_y + 1])
                        {
                           //Combo
                           if ($tt_combo == true && $tt_board_card_marked[$tt_x][$tt_y + 1] == $tt_opponent)
                           {
                              $tt_combo_size += 1;
                              $tt_x_list[$tt_combo_size] = $tt_x;
                              $tt_y_list[$tt_combo_size] = $tt_y + 1;
                           }
                           $tt_board_card_marked[$tt_x][$tt_y + 1] = $tt_player;
                        }
                        if ($tt_board_card_left[$tt_x][$tt_y] > $tt_board_card_right[$tt_x - 1][$tt_y])
                        {
                           //Combo
                           if ($tt_combo == true && $tt_board_card_marked[$tt_x - 1][$tt_y] == $tt_opponent)
                           {
                              $tt_combo_size += 1;
                              $tt_x_list[$tt_combo_size] = $tt_x - 1;
                              $tt_y_list[$tt_combo_size] = $tt_y;
                           }
                           $tt_board_card_marked[$tt_x - 1][$tt_y] = $tt_player;
                        }

                        //Elemental
                        if ($tt_duel_info['rule_elemental'] == 'yes')
                        {
                           for ($y = 1; $y <= 3; $y=$y+1)
                           {
                              for ($x = 1; $x <= 3; $x=$x+1)
                              {
                                 $tt_element_position = ($y - 1) * 3 + $x;
                                 if ($tt_duel_info['element_'. $tt_element_position] != 0)
                                 {
                                    if ($tt_board_card_element[$x][$y] == $tt_duel_info['element_'. $tt_element_position])
                                    {
                                       $tt_board_card_up[$x][$y] -= 1;
                                       $tt_board_card_down[$x][$y] -= 1;
                                       $tt_board_card_left[$x][$y] -= 1;
                                       $tt_board_card_right[$x][$y] -= 1;
                                    }
                                    else
                                    {
                                       $tt_board_card_up[$x][$y] += 1;
                                       $tt_board_card_down[$x][$y] += 1;
                                       $tt_board_card_left[$x][$y] += 1;
                                       $tt_board_card_right[$x][$y] += 1;
                                    }
                                 }
                              }
                           }
                        }
                     }

Re: Triple Triad

Posted: 01 Mar 2010, 18:47
by Pappapishu
Suponiendo que

$tt_board_card_up[$tt_x][$tt_y] + $tt_board_card_down[$tt_x][$tt_y - 1] == $tt_board_card_right[$tt_x][$tt_y] + $tt_board_card_left[$tt_x + 1][$tt_y]

sea lo que creo que es...en ningun lugar veo que haya una comprobación previa de que exista una carta en el espacio con el que se compara, por lo que lo lógico s que no enceuntre valor y se quede con el valor predeterminado (0 en este caso). Este problema no se presenta nunca con la regla Same (Igual) porque jamás habrá un 0=0 pero con la suma si se puede producir el ya mítico 5+1 = 6+0

por lo que yo creo que la solución sería una de las siguientes

1 - if (carta1 = true AND carta2 = true AND $tt_board_card_up[$tt_x][$tt_y] + $tt_board_card_down[$tt_x][$tt_y - 1] == $tt_board_card_right[$tt_x][$tt_y] + $tt_board_card_left[$tt_x + 1][$tt_y])


2 - más sencillo aún para pensarlo ya que no hay que buscar campos, pero más largo de programar (de hecho puedes copiarlo y pegarlo para el primer caso cambiando el AND por lo que se use en el php que ahora no me apetece mirarlo en googleXD, habría que hacer lo mismo para los otros 3 casos)

if ($tt_board_card_up[$tt_x][$tt_y] != 0 AND $tt_board_card_down[$tt_x][$tt_y - 1] != 0 AND $tt_board_card_right[$tt_x][$tt_y] != 0 AND $tt_board_card_left[$tt_x + 1][$tt_y] != 0 AND $tt_board_card_up[$tt_x][$tt_y] + $tt_board_card_down[$tt_x][$tt_y - 1] == $tt_board_card_right[$tt_x][$tt_y] + $tt_board_card_left[$tt_x + 1][$tt_y])

Re: Triple Triad

Posted: 01 Mar 2010, 22:50
by Black Flare
O como dice pappa de ponerle que en cada vez que se quiera verificar que exista la carta, o lo que creo que puede ser algo más sencillo que es que los valores de los laterales de las posiciones vacias valga -10 en vez de 0 (No he mirado a fondo y no se exactamente si sería capaz de llevarlo a cabo), ya que siendo la mayor jugada de A (10), nunca valdría más de 0 y no se podría dar la suma.

Pero bueno, si no está diseñado como yo pienso entonces la solución de pappa me parece buena :ugeek:

Re: Triple Triad

Posted: 01 Mar 2010, 23:20
by Pappapishu
Es que no es que los laterales valgan 0 si no que no tienen valor así que toma el valor por defecto, 0. No creo que se le pueda asignar un valor a un campo inexistente y en caso se hacerlo solo se podría hacer en los casos en los que se diera el caso de ese campo por lo que habría que hacer las mismas comprobaciones que yo he propuesto para, posteriormente, darle ese valor. Algo que no sería necesario ya que ya se conocería que no hay valorXD