- Home
- Categorie
- Coding e Sistemistica
- PHP
- mappa per gioco
-
per il server fai un ajaxcall e risolvi
quindi alla fine non è la mia seconda idea bensì la mia prima
cioè quella a matrice... magari possiamo realizzarla tutti assieme qui....
inizia a generare qualcosa... almeno la base della mappa così tutti abbiamo un punto di partenza
-
magari :-))
mi metto al lavoro
-
Una cosa tipo www.travian.it?
-
tipo.... a quanto ho capito
-
esatto:-), l'unica differenza che visualizzo il giocatore che "cammina" sulla mappa e possibilità di incontrarne altri che "camminano" a "sua volta"(come disse il mago di arcella).
edit:
diciamo travian con possibilità anche di battaglia in campo aperto :-))
-
per quello basta un if
ed una query ovviamente
per ora però andiamo sulla struttura
-
Ho lavorato duramente (faccina di pinocchio):
con questo ora riesco a visualizzare una mappa alla travian, manca soltanto una implementazione più accurata della funzione per visualizzare la mappa, dove metto i link ecc ecc
Prima di fare quella però credo si debba passare ad Ajax, bene da dove comincio (non sono esperto nel settore)...function getMappa($x,$y,$celle){ //$x,$y centro della mappa, $celle = spazi visibili oltre il centro per ogni lato, sopra e sotto //caselline da visualizzare = $mostra ^ 2 //struttura array *[coordinata]-*[tipo]-*[user].... $x1=$x-$celle;//basso sx $y1=$y-$celle;//basso sx $x2=$x+$celle;//alto dx $y2= $y+$celle;//alto dx $mostra=$celle*2+1; //leggo da db le celle incriminate, se trovo sei valori li inserisco nell'array $result=getMappaDB($x1,$x2, $y1, $y2); $array [$mostra][$mostra]; foreach ($result as $value){ $array [$x2-$value[x]][$y2-$value[y]]=$value; } visualizzaMappa($array, $mostra); } //funzione per leggere dal db function getMappaDB ($x1, $x2, $y1, $y2) { // struttura array *[coordinata]-*[tipo]-*[user] $conn=connessione(); $result = $conn->query ("SELECT * FROM mappa WHERE x >='$x1' AND x <='$x2' AND y >='$y1' AND y <='$y2'"); $i=0; while ($row=$result->fetch_row()){ $array*[coordinata]=$row[0]; $array*[x]=$row[1]; $array*[y]=$row[2]; $array*[tipo]=$row[3]; $array*[user]=$row[4]; $i++; } $result->free(); $conn->close(); return $array; } //Funzione per visualizzare la mappa function visualizzaMappa($array, $len ){ for ($i=0;$i<$len;$i++){ for ($j=$len-1;$j>-1;$j--){ if (isset($array[$j]*)){ //nessun valore trovato nel db echo '<img src="img/2.gif" width="25" height="25" />'; }else{ //ho trovato un valore nel db echo '<img src="img/1.gif" width="25" height="25" />'; } }echo ("</br>"); } } //chiamata di test getMappa(4,3,5);
edit:
struttura del db
id chiave primaria (da capire più in là se realmente serve)
x int (indicizzato)
y int (indicizzato)
tipo int (mi indica l'immaginina da visualizzare)
altro (qualsiasi altra cosa che può servire)
-
già di per se non è pesante in quanto non visualizzi tutti gli indici
quando vado a casa o al max domani ti posto un po' di script e cosa và moddato per la chiamate javascript
-
grazie mille, io intanto perfeziono il template che visualizza la mappa.
Ho fatto anche uno scriptino che dai alcuni paramentri, altezza, larghezza rombo, numero di celle da visualizzare mi genera un foglio di style :-))
Questo è il risultato parziale (ho registrato nel db due città alle coordinate (1,3) e (4,4)... sta venendo figo :-)) Ancora troppo "travianesca" ma poi si aggiusta...Ciao e grazie ancora
-
io la preferisco dall'alto
quell'impostazione romboidale la vedo troppo esagerata
comunque hai un mp