grillfleisch
Erfahrenes Mitglied
Zum Thema Array: Da müssen ein paar Infos rein. Zu allererst muss es ein zweidimensionaler Array sein, damit du Zeilen und Spalten hast. Jedes Feld braucht dann nochmals zwei Informationen: Was ist es für ein Feld (Stein, Wasser, Baum, leer, Haus, ... whatever!) und was für eine ID hat das Feld.
Ersteres kann man einfach mit einer Nummerierung von 0-x lösen, wobei 0 für leer, 1 für Wasser, 2 für Bäume, ... steht. Die entsprechenden Grafiken nennst du dann einfach 0.png, 1.png... so sparst du vor allem Traffic.
Die Feld-ID ist nur wichtig, wenn du auf das Feld per Klick später zugreifen willst.
Mit JS bastelst du dir jetzt einfach ein paar Funktionen, die die Felder füllen. Wenn es da hängt, dann kannst du ja nochmal fragen.
gruß lime
also ich habe jetzt mal so ein json array gebastelt, -> json. Man startet das Script mit dem Button. Leider zeigt es den Inhalt des Arrays nicht an, nur im Firebug kann man es sich über die Console schlecht leserlich anschauen.
Also es beinhaltet die x-y Koordinaten, id´s, Imgtypes ( gras, wald, stein) in Zahlen.
Leider kann ich mir gerade noch nicht richtig vorstellen, wie ich mit meine Positionsmitte die ImgTags drumherum bekommen soll bzw wie es jetzt weiter geht ...
Vielleicht ist es auch schon zu Spät dafür!
Hier nochmal der inhalt der ajax.php. Ich glaube nämlich, dass ich da auch noch irgendwo ein Fehler habe.
PHP:
<?php
function generate($width, $height)
{
$fields = array();
for($y=0; $y < $map_height; $y++)
{
for($x=0; $x < $map_width; $x++)
{
$type = array(
0=>array("id"=>'y'.$y.'-x'.$x.'',"type"=>'0'),
1=>array("id"=>'y'.$y.'-x'.$x.'',"type"=>'1'), //wasser
2=>array("id"=>'y'.$y.'-x'.$x.'',"type"=>'2'), //berge
3=>array("id"=>'y'.$y.'-x'.$x.'',"type"=>'3') //wald
);
if($rand==0)
{
$fields[$x][$y] = $type[rand(1, 3)];
}
else
{
$fields[$x][$y] = $type[0];
}
};
};
return $fields;
};
$foo = generate(125, 125);
echo json_encode($foo);
?>