ZZZ bei Crash: Unterschied zwischen den Versionen

Aus KaroWiki
Zur Navigation springen Zur Suche springen
(klargestellt was weg soll durch auskommentieren)
Zeile 51: Zeile 51:
 
$walker kann wech
 
$walker kann wech
  
           $walker=0;
+
           #$walker=0;
 
           $i=$aussetzen;
 
           $i=$aussetzen;
 
           while ($i>=0)
 
           while ($i>=0)
Zeile 61: Zeile 61:
 
und den ganzen Kladderadatsch in diesem if-Zweig kann man dann ersetzen durch
 
und den ganzen Kladderadatsch in diesem if-Zweig kann man dann ersetzen durch
 
                         $i = 0;
 
                         $i = 0;
                          $sum=$aussetzen+$walker+$i;
+
                        # $sum=$aussetzen+$walker+$i;
                          if (($sum)>=$maxmoves)
+
                        # if (($sum)>=$maxmoves)
                                  $i=$maxmoves-$walker-1;
+
                        #        $i=$maxmoves-$walker-1;
                          else
+
                        # else
                                  $i=$i+$aussetzen;
+
                        #        $i=$i+$aussetzen;
 
                   }
 
                   }
 
                   $i--;
 
                   $i--;
                   $walker++;
+
                   #$walker++;
 
           }
 
           }
 
  
 
[[Category:Bisschen OpenSource]]
 
[[Category:Bisschen OpenSource]]

Version vom 22. April 2008, 13:47 Uhr

Da der (zugegebernmaßen evtl. etwas kompliziert programmierte) Algorithmus zur Bestimmung der Zurücksetzposition offenbar einen Bug hat, gibt's hier mal meinen "original"-Source code und danach eine korrektur bzw. Anmerkungen von Quabla.

Ich stell's hier jetzt mal zur Diskussion und möge sich die Community an diesem Stück Code beweisen :-D


               if ($possibles==0)
               {
                       $query="select M_ID,x_pos,y_pos,crash from $movestable [..]";
                       $res=do_query($query);
                       $maxmoves=mysql_num_rows($res);
                       if ($aussetzen>=$maxmoves)
                       {
                               $aussetzen=$maxmoves-1;
                       }
                       $walker=0;
                       $i=$aussetzen;
                       while ($i>=0)
                       {
                               $row=mysql_fetch_array($res);
                               if ($row[crash]==1)
                               {
                                       $sum=$aussetzen+$walker+$i;
                                       if (($sum)>=$maxmoves)
                                               $i=$maxmoves-$walker-1;
                                       else
                                               $i=$i+$aussetzen;
                               }
                               $i--;
                               $walker++;
                       }
                       $sysmsg="-:KIch werde $aussetzen Züge zurückgesetztK:-";
                       echo "AUAAAA! Es quietscht und du knatterst ins Gras... Dafür wirst Du um $aussetzen Züge zurückgesetzt und startest wieder von 0.";
               }


Hier die Kommentierung und Vorschläge von Quabla


 if ($possibles==0)
 {
         $query="select M_ID,x_pos,y_pos,crash from $movestable WHERE [..]";
         $res=do_query($query);
         $maxmoves=mysql_num_rows($res);
         if ($aussetzen>=$maxmoves)
         {
                 $aussetzen=$maxmoves-1;
         }

$walker kann wech

         #$walker=0;
         $i=$aussetzen;
         while ($i>=0)
         {
                 $row=mysql_fetch_array($res);
                 if ($row[crash]==1)
                 {

und den ganzen Kladderadatsch in diesem if-Zweig kann man dann ersetzen durch

                        $i = 0;
                        # $sum=$aussetzen+$walker+$i;
                        # if (($sum)>=$maxmoves)
                        #         $i=$maxmoves-$walker-1;
                        # else
                        #         $i=$i+$aussetzen;
                 }
                 $i--;
                 #$walker++;
         }