Autor Zpráva
Orist
Profil
Zdravím, mám potíže s vykreslením hexové mřížky v php, zatím dvousloupcovou, kdyby mi někdo s tím poradil, byl bych rád. Hlasí mi to tu tuhle chybu : Parse error: syntax error, unexpected '$A1x' (T_VARIABLE), expecting ',' or ';' in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\my portable files\Hex_Map_Combat_PHP.php on line 68.

Tady je kód :

<?php
      function hex_grid(){
      $r1=0;
      $r2=0;
      $r3=0;
      
      $A1x[0][0]= 150;
      $A1y[0][0]= 0;
      $B1x[0][0]= 300;
      $B1y[0][0]= 75;
      $C1x[0][0]= 300;
      $C1y[0][0]= 225;
      $D1x[0][0]= 150;
      $D1y[0][0]= 300;
      $E1x[0][0]= 0;
      $E1y[0][0]= 225;
      $F1x[0][0]= 0;
      $F1y[0][0]= 75;
      
      $A2x[0][0]= 300;
      $A2y[0][0]= 225;
      $B2x[0][0]= 450;
      $B2y[0][0]= 300;
      $C2x[0][0]= 450;
      $C2y[0][0]= 450;
      $D2x[0][0]= 300;
      $D2y[0][0]= 525;
      $E2x[0][0]= 150;
      $E2y[0][0]= 450;
      $F2x[0][0]= 150;
      $F2y[0][0]= 300;
      

      

      
      echo "<svg>";
      
      for($row1=0;$row1<=15;$row1++){
      $A1x[0][$row1]= $A1x[0][$row1] + 300;
      $A1y[0][$row1]= $A1y[0][$row1];
      $B1x[0][$row1]= $B1x[0][$row1] + 300 ;
      $B1y[0][$row1]= $B1y[0][$row1];
      $C1x[0][$row1]= $C1x[0][$row1] + 300;
      $C1y[0][$row1]= $C1y[0][$row1];
      $D1x[0][$row1]= $D1x[0][$row1] + 300;
      $D1y[0][$row1]= $D1y[0][$row1];
      $E1x[0][$row1]= $E1x[0][$row1] + 300;
      $E1y[0][$row1]= $E1y[0][$row1];
      $F1x[0][$row1]= $F1x[0][$row1] + 300;
      $F1y[0][$row1]= $F1y[0][$row1];
      $r3++;
        if(isset($A1[0][$r3],$B1[0][$r3],$C1[0][$r3],$D1[0][$r3],$E1[0][$r3],$G1[0][$r3])){
      echo "<polygon points = "$A1x[0][$r3],$A1y[0][$r3] $B1x[0][$r3],$B1y[0][$r3]  $C1x[0][$r3],$C1y[0][$r3] $D1x[0][$r3],$D1y[0][$r3] $E1x[0][$r3],$E1y[0][$r3] $F1x[0][$r3],$F1x[0][$r3]" style="fill:white;stroke:green;stroke-width:1" />";
      }
      }
      
      for($row2=0;$row2<=16;$row2++){
      $A2x[0][$row2]= $A2x[0][$row2] + 300;
      $A2y[0][$row2]= $A2y[0][$row2];
      $B2x[0][$row2]= $B2x[0][$row2] + 300 ;
      $B2y[0][$row2]= $B2y[0][$row2];
      $C2x[0][$row2]= $C2x[0][$row2] + 300;
      $C2y[0][$row2]= $C2y[0][$row2];
      $D2x[0][$row2]= $D2x[0][$row2] + 300;
      $D2y[0][$row2]= $D2y[0][$row2];
      $E2x[0][$row2]= $E2x[0][$row2] + 300;
      $E2y[0][$row2]= $E2y[0][$row2];
      $F2x[0][$row2]= $F2x[0][$row2] + 300;
      $F2y[0][$row2]= $F2y[0][$row2];
      $r3++;
        if(isset($A2[0][$r3],$B2[0][$r3],$C2[0][$r3],$D2[0][$r3],$E2[0][$r3],$G2[0][$r3])){
      echo "<polygon points = "$A2x[0][$r3],$A2y[0][$r3] $B2x[0][$r3],$B2y[0][$r3]  $C2x[0][$r3],$C2y[0][$r3] $D2x[0][$r3],$D2y[0][$r3] $E2x[0][$r3],$E2y[0][$r3] $F2x[0][$r3],$F2x[0][$r3]" style="fill:white;stroke:green;stroke-width:1"/>";
      }
      }
      
      
      echo "</svg>";
      }
      
      hex_grid();
      
      ?>
Rfilip
Profil
Tak zaprve diky ořezáni kodu a neaktualizaci radku hlasky se chyba nachazi na radku 53 (ne na 68), ktery je cely syntaktický nesmysl. to samé je i radek 72.
Castecne opraveny kod ted to hazi kupu Notice:
function hex_grid(){
      $r1=0;
      $r2=0;
      $r3=0;
      
      $A1x[0][0]= 150;
      $A1y[0][0]= 0;
      $B1x[0][0]= 300;
      $B1y[0][0]= 75;
      $C1x[0][0]= 300;
      $C1y[0][0]= 225;
      $D1x[0][0]= 150;
      $D1y[0][0]= 300;
      $E1x[0][0]= 0;
      $E1y[0][0]= 225;
      $F1x[0][0]= 0;
      $F1y[0][0]= 75;
      
      $A2x[0][0]= 300;
      $A2y[0][0]= 225;
      $B2x[0][0]= 450;
      $B2y[0][0]= 300;
      $C2x[0][0]= 450;
      $C2y[0][0]= 450;
      $D2x[0][0]= 300;
      $D2y[0][0]= 525;
      $E2x[0][0]= 150;
      $E2y[0][0]= 450;
      $F2x[0][0]= 150;
      $F2y[0][0]= 300;
      
 
      
 
      
      echo "<svg>";
      
      for($row1=0;$row1<=15;$row1++){
      $A1x[0][$row1]= $A1x[0][$row1] + 300;
      $A1y[0][$row1]= $A1y[0][$row1];
      $B1x[0][$row1]= $B1x[0][$row1] + 300 ;
      $B1y[0][$row1]= $B1y[0][$row1];
      $C1x[0][$row1]= $C1x[0][$row1] + 300;
      $C1y[0][$row1]= $C1y[0][$row1];
      $D1x[0][$row1]= $D1x[0][$row1] + 300;
      $D1y[0][$row1]= $D1y[0][$row1];
      $E1x[0][$row1]= $E1x[0][$row1] + 300;
      $E1y[0][$row1]= $E1y[0][$row1];
      $F1x[0][$row1]= $F1x[0][$row1] + 300;
      $F1y[0][$row1]= $F1y[0][$row1];
      $r3++;
        if(isset($A1[0][$r3],$B1[0][$r3],$C1[0][$r3],$D1[0][$r3],$E1[0][$r3],$G1[0][$r3])){
      echo "<polygon points='{$A1x[0][$r3]},{$A1y[0][$r3]} {$B1x[0][$r3]},{$B1y[0][$r3]}  {$C1x[0][$r3]},{$C1y[0][$r3]} {$D1x[0][$r3]},{$D1y[0][$r3]} {$E1x[0][$r3]},{$E1y[0][$r3]} {$F1x[0][$r3]},{$F1x[0][$r3]}' style='fill:white;stroke:green;stroke-width:1;' />";
}
      }
      
      for($row2=0;$row2<=16;$row2++){
      $A2x[0][$row2]= $A2x[0][$row2] + 300;
      $A2y[0][$row2]= $A2y[0][$row2];
      $B2x[0][$row2]= $B2x[0][$row2] + 300 ;
      $B2y[0][$row2]= $B2y[0][$row2];
      $C2x[0][$row2]= $C2x[0][$row2] + 300;
      $C2y[0][$row2]= $C2y[0][$row2];
      $D2x[0][$row2]= $D2x[0][$row2] + 300;
      $D2y[0][$row2]= $D2y[0][$row2];
      $E2x[0][$row2]= $E2x[0][$row2] + 300;
      $E2y[0][$row2]= $E2y[0][$row2];
      $F2x[0][$row2]= $F2x[0][$row2] + 300;
      $F2y[0][$row2]= $F2y[0][$row2];
      $r3++;
        if(isset($A2[0][$r3],$B2[0][$r3],$C2[0][$r3],$D2[0][$r3],$E2[0][$r3],$G2[0][$r3])){
          echo "<polygon points='{$A2x[0][$r3]},{$A2y[0][$r3]} {$B2x[0][$r3]},{$B2y[0][$r3]}  {$C2x[0][$r3]},{$C2y[0][$r3]} {$D2x[0][$r3]},{$D2y[0][$r3]} {$E2x[0][$r3]},{$E2y[0][$r3]} {$F2x[0][$r3]},{$F2x[0][$r3]}' style='fill:white;stroke:green;stroke-width:1;' />";
      }
      }
      
      
      echo "</svg>";
      }
      
      hex_grid();

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0