Bonsoir,
Je suis actuellement en train de coder une carte pour un jeu mais le souci c'est que le temps pour la générer est assez conséquent.
Voici la fonction pour générer une portion de la carte (19*19) :
Le problème, c'est que c'est une carte de 4 000 000 de cases et donc il y a 4 000 000 d'insertions dans la table "carte" :s
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 function draw_map($x,$y,$colonnes) { $cote = ($colonnes-1)/2; $debut_x = $x-$cote; $debut_y = $y-$cote; $nb_cases = $colonnes * $colonnes; for($i=0;$i<$nb_cases;$i++) { if((($i%$colonnes) == 0) && ($i > 0)) { $debut_x = $debut_x - $colonnes; $debut_y++; $carte .= '<br />'; } $selection_case = mysql_query('SELECT libre_case FROM carte WHERE case_x='.$debut_x.' AND case_y='.$debut_y.''); $donnees_case = mysql_fetch_array($selection_case); if($donnees_case['libre_case'] == 1) { $selection_forteresse = mysql_query('SELECT * FROM forteresses WHERE position_x='.$debut_x.' AND position_y='.$debut_y.''); $donneees_forteresse = mysql_fetch_array($selection_forteresse); } $carte .= ' ('.$debut_x.'-'.$debut_y.')'; $debut_x++; } return $carte; }
Ça prend un temps assez énorme pour afficher la portion de carte et j'imagine que ça vient de là mais je ne vois pas trop comment je pourrais faire autrement.
Merci d'avance pour votre aide.
Ps : c'est en local mais j'ai une ordinateur assez puissant.
Partager