Hi,
ich wusste nicht genau, in welchen Themenbereich es passt ;)
Ich versuche derzeit, einfach zum Spass, ein Spiel zu erstellen, dass Browserbasierend mit JS und PHP läuft.
Dabei habe ich ein Spielfeld (variable Größe, derzeit 20x20 Felder), dass durch ein PHP-Script mit Werten aus der Datenbank (Mysql) erzeugt wird. Auf diesem Feld bewegen sich 2 oder mehr Spielfiguren.
Das Spiel läuft mit Zügen, ein Zug dauert zB 1 Minute und dann kommt der andere Spieler.
Mein Problem ist jetzt, dass das Spielfeld nun doch _etwas_ groß ist, immerhin 400 Zellen im Moment. Und bei jedem Aufruf der Seite wird das komplette Spielfeld durch eine Schleife neu erstellt. Lokal mag da ja noch funktionieren, aber ich fürchte, besonders wenn das Spielfeld größer werden sollte, werden die Ladezeiten zu lange sein und so dem Spieler etwas von seiner effektiven Spielzeit pro Runde _klauen_.
Hat jemand von euch eine Idee, wie ich das ganze mit weniger Aufwand, also schneller, machen könnte?
Hier vielleicht noch ein Ausschnitt aus dem Source, um das ganze etwas klarer zu machen:
<?php
for($y = 1; $y <= $num_y; $y++)
{
echo "\t\t\t\t<tr>\n";
echo "\t\t\t\t\t<td style="text-align: center; width: ".$field_width."px;">\n";
echo "\t\t\t\t\t\t".$y."\n";
echo "\t\t\t\t\t</td>";
for($x = 1; $x <= $num_x; $x++)
{
if($x == 10 && $y == 1)
$foo = "background-color: #FF0000;";
elseif($x == 10 && $y == 20)
$foo = "background-color: #AA5500;";
else
$foo ="";
echo "\t\t\t\t\t<td id="".$x.":".$y."" style="width: ".$field_width."px; height: ".$field_height."px; ".$foo."" class="battlefield" onMouseOver="showdetail(".$x.", ".$y.")" onMouseOut="cleardetail()" onClick="move(".$x.", ".$y.")">\n";
echo "\t\t\t\t\t</td>\n";
}
echo "\t\t\t\t</tr>\n";
}
echo "\t\t\t</table>\n";
?>
Bin für jeden Ansatz dankbar.
Gruss
Carl