JeuWeb - Crée ton jeu par navigateur
[Réglé]Positionnement - 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 : [Réglé]Positionnement (/showthread.php?tid=1460)



[Réglé]Positionnement - zigzog - 11-07-2007

Salut à tous,
Je vais commencer par féliciter les personnes qui font avancer le chmilblic! Vos tutos m'ont vraiment beaucoup aidé pour faire mon jeu!

Mon jeu est entre ogame et travian sur le principe. Il y 3 peuples: mutant, robot, humain.

Ma carte est carré(style travian), tout fonctionne à merveille, sauf que je voudrais inserer les joueurs(lors de leur inscription) de maniere aleatoire(pas compliqué) mais de façon que les joueurs inscrits en même temps soient ensembles.
En gros on trace 2 cercle de rayon assez proche et les joueurs sont dans cette tranche.
Illustration très grossiere mais c'est juste pour le principe:

[Image: cart_b10.jpg]

Merci d'avance à tous!


RE: Positionnement - PatteDePoule - 11-07-2007

Tu pourrais aussi choisir une valeur par jour, et tu positionnes les nouveaux joueurs dans à une distance aléatoire par rapport au point d'origine du jour. Tu le change chaque jours.

Ce n'est pas la même méthode que tu expliques, mais c'est une autre idée. :glace:


RE: Positionnement - zigzog - 11-07-2007

oui c'est à peu près me même concepte. Mais le programmer je ne sais pas. Je voudrais simplement un petit indice, je ne vous demande pas de le faire à ma place Cool


RE: Positionnement - carlou - 11-07-2007

par exemple, tu place les 10 1er joueurs dans une zone de 0 a 10 ensuite de 10 a 20, ensuite de 30 a 30

donc tu fais un count sur les membres,
si inf a 10,
x=rand(0,10) et y=rand(0,10)

si >= a 11 et inf= a 20
x=rand(10,20) et y=rand(10,20)

etc
ca va bien pour un carré apres faut travailler avec les math pour calculer les cercles mais la ce n'est pas de mon ressort ^^


RE: Positionnement - elazard - 11-07-2007

Pour rappel :
équation du cercle de centre (a, b) et de rayon r: (x-a)²+(y-b)² = r²

Donc par simplicité je vois un cercle de centre 0,0 donc x²+y² = r²
Je suppose mais je ne suis pas sur (moi et les maths^^) que r² doit la taille des cases sur un rayon donc ca tu définis toi même.
Et puis je pense que doit y avoir une fonction ou tu calcule au hasard un x et y qui au carré = le r² en question et tu inscrit puis quand tu veux changer tu augmente la taille du rayon.
Encore une fois je n'ai fais que réfléchir un peu au problème et il est bien possible (99% sur) que je me plante comme un gland mais bon au moins j'aurai essayé d'aider^^


RE: Positionnement - zigzog - 11-07-2007

Merci, je vais voir avec ça et je vous tien au courant.
Bonne soirée!


RE: Positionnement - zigzog - 16-07-2007

Voici ma page php qui gere le positionnement
Code PHP :
<?php 
$query
= mysql_query("SELECT count(*) FROM $tb1 ") or die(mysql_error());

$nb_entrees = mysql_result($query,0,0);


mysql_close();

if(
$nb_entrees <= 10)
{
$pos_X=rand(0,10);
$pos_Y=rand(0,10);
}
elseif(
$nb_entrees > 10 & $nb_entrees < 50)
{
$pos_X=rand(-10,0);
$pos_Y=rand(-10,0);
}
elseif(
$nb_entrees > 50 & $nb_entrees < 300)
{
$pos_X=rand(10,50);
$pos_Y=rand(10,50);
}
elseif(
$nb_entrees > 300 & $nb_entrees < 650)
{
$pos_X=rand(-10,-50);
$pos_Y=rand(-10,-50);
}
..................
Je l'ai fait à la main car une boucle me semblais penible...

ça fonctionne très bien, je le conseil.

A+++