• Moderatore

    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


  • User Attivo

    magari :-))
    mi metto al lavoro


  • User

    Una cosa tipo www.travian.it?


  • Moderatore

    tipo.... a quanto ho capito 🙂


  • User Attivo

    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 :-))


  • Moderatore

    per quello basta un if 🙂

    ed una query ovviamente 🙂

    per ora però andiamo sulla struttura 🙂


  • User Attivo

    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)


  • Moderatore

    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 🙂


  • User Attivo

    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


  • Moderatore

    io la preferisco dall'alto 🙂
    quell'impostazione romboidale la vedo troppo esagerata 🙂
    comunque hai un mp 🙂