JeuWeb - Crée ton jeu par navigateur
Positionnement de vilages sur une carte... - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Positionnement de vilages sur une carte... (/showthread.php?tid=3523)

Pages : 1 2


RE: Positionnement de vilages sur une carte... - Yopnico - 11-01-2009

non non tu vois bien que je n'ai rien mis dans le else{}

C'est la qu'il faut positionner les joueurs!!
Je t'ai fait seulement le code pour créer un rayon en fonction du nombre de joueurs!

Il te faudra sauvegarder le nombre de joueurs sur chaque cercle ($player_cercle 1, $player_cercle2) et R ($R)

Je te conseille de ne pas leur demander dans quelle zone ils vont être, et dans ce cas, le positionnement serait plus simple :

Je les placerais comme sa :


Code PHP :
<?php

//Fonction qui te donne le nombre de joueur que peut contenir un cercle de rayon R
function Taille($R)
{
$pi = pi();
$taille = variant_int(2*$pi*$R);
return
$taille;
}
//Fin fonction

//$player_cercletotal = le nombre total de joueurs que le cercle peut accueillir
//$player_cercleinscrit = le nombre de joueurs actuellement inscrit sur ce cercle
$player_cercleinscrit;
$player_cercletotal = Taille($R);

//Si le nombre de joueur est égal au nombre max de joueur sur ce cercle, on augmente le rayon du cercle de 2
if ($player_cercleinscrit = $player_cercletotal)
{
$R = $R + 2;
//ne pas oublier d'enregistrer le nombre de joueur sur le cercle suivant
}
else
{
//coordonnees X = cos(angle)
//coordonnees Y = sin(angle)
//on part de angle = 0
// pour connaitre la position de l'angle entre chaque joueur : (2*$pi)/($player)
//on evite la division par zero :)
if ($player_cercleinscrit != 0)
{
$alpha = ((2*pi())/($player_cercletotal))*$player_cercleinscrit;
}
else
{
$alpha = 0;
}
$posx = cos($alpha);
$posy = sin($alpha);
}
?>

A voir si sa fonctionne :glace:


RE: Positionnement de vilages sur une carte... - wild-D - 11-01-2009

quitte à plus faire de l'aléatoire, mais suivre une figure géométrique fixe; autant abandonner le cercle pour une spirale d'archimède; ça serait plus logique non ?


RE: Positionnement de vilages sur une carte... - Zamentur - 12-01-2009

Pas sur puisque cette spirale serait divisé en 4...

Et puis je suis pas sur qu'une répartition géométrique soit ce que veux l'auteur, perso si j'avais à faire çà j'utiliserais la methode de Yopnico en ajoutant une variation aléatoire de la position afin justement que çà fasse pas trop géométrique...

En vérifiant evidement la distance avec les villages voisins.

Faudrait juste dans ce cas s'assurer mathématiquement que dans les cas extrèmes la distance avec les villages voisins soit respectable... Sinon çà pourrait créer un bug.


RE: Positionnement de vilages sur une carte... - ReivaxHerica - 24-01-2009

Salut les gens Wink

ça me fait vaguement penser à http://v0-8.nemesis-online.com/gd.php une vieille carte sur quoi j'avais bossé c'est exactement ce que yopnico meme la disposition au dégré près lol :p bref pour résumer la carte une grosse dose de math, une louche de php et de gd et hop :p
et l'algo de yopnico :p


RE: Positionnement de vilages sur une carte... - Melimelo - 25-01-2009

Moi je suis pour la supperposition de plusieurs spirale d'archimède avec des point de départ différent
et de choisir aléatoirement sur quel spirale la planète sera placé.

une fois la spirale choisie on choisi un angle pas encore utilisé, et là soit on prend l'intersection entre la droite formant l'angle avec l'axe x ou alors on prend le point d'intersection avec là trisection de l'angle .

c'est pas très difficile à faire et ca peut donner quelque chose qui donne l'impression d'aléatoire à condition qu'on elimine les point ou les spirales se croisent.

Sinon il me semble qu'hakushi avait fait un script de creation d'univers


RE: Positionnement de vilages sur une carte... - ReivaxHerica - 26-01-2009

hop me revoila après quelques recherche sur ton système de spirale

http://www.spacefight.fr/img_general/screenshots/carte.png

c'est à peu pres ce que tu voulais faire ?


RE: Positionnement de vilages sur une carte... - Hakushi - 26-01-2009

(25-01-2009, 12:10 AM)Melimelo a écrit : Sinon il me semble qu'hakushi avait fait un script de creation d'univers

Meme si c'est un sujet sur lequel je travail depuis longtemps, c'est Ekilio qui avait produit un script :
http://jeuweb.org/board/creer-lunivers-t-4611.html