JeuWeb - Crée ton jeu par navigateur
2 en 1(comme la lessive) - 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 : 2 en 1(comme la lessive) (/showthread.php?tid=1797)

Pages : 1 2


RE: 2 en 1(comme la lessive) - Byleth - 25-09-2007

Psssssssssssssssst, c'est .


RE: 2 en 1(comme la lessive) - alechuga - 25-09-2007

je voulais savoir si il existait une fonction aléatoire pour les chiffres décimaux
(celle la n'a l'air de faire que les entiers)


RE: 2 en 1(comme la lessive) - Mysterarts - 25-09-2007

Par présentation, on aime bien que sa soit fait dans la section correspondante Smile Mais au pire, c'est déjà pas mal (car celle-ci n'est pas obligatoire, mais appréciée Smile)
Ce qu'il faut que tu fasses surtout, je pense, c'est prendre un crayon et du papier, et que tu réfléchisses, par toi même, à la manière logique et mathématique pour résoudre tes problèmes...
Puis tu tentes de le retranscrire en code php, et enfin, si tu es toujours bloqué, tu nous montres ces codes et tu nous explique là où ça coince Smile
Bonne continuation

Mysterarts

EDIT : pour les fonctions aléatoire, pense à un truc : un nombre entier divisé par 10, ça fait un décimal Smile


RE: 2 en 1(comme la lessive) - alechuga - 25-09-2007

j'y ai déjà pensé au fraction et je les utilises pour d'autre partit de mon script (je suis pas totalement stupide non plus, très bête par contre...) mais c'est le résultat de la fonction qui coince,
mt_rand se dit : "prenons un entier au hazard" or moi je veux une fonction qui se dit "prenons un nombre même décimal au hazard"


RE: 2 en 1(comme la lessive) - Mysterarts - 25-09-2007

J'ai du mal à comprendre...
Par décimal, tu veux dire quoi ?
Imaginons que tu veuilles un nombre décimal (à un dixième) entre 0 et 10...
Tu fais :
$alea = mt_rand(0,100);
$resultat = $alea/10;
Et puis voila !
Explique nous mieux s'il te plait, si ce n'est pas ça Smile

Mysterarts


RE: 2 en 1(comme la lessive) - Byleth - 25-09-2007

Et surtout, libre à toi de prendre un très grand ensemble d'origine pour tes entiers, ce qui reviens strictement au même...


RE: 2 en 1(comme la lessive) - alechuga - 26-09-2007

c'est moi qui est poster alors que j'avais aucun problème
(des fois je suis con :hahahaha: )


RE: 2 en 1(comme la lessive) - alechuga - 26-09-2007

j'ai cherhcer aussi pour la fonction max mais ne suit pas sur qu'elle pourrait me servir vu que e n'utilise que très peu d'arry (c'est peut être une erreur mais bon)
Mon script (je l'ai pas sous le nez), dit ça en gros :
-Toute les 24 h un nouvel habitant avec pour modele
habitants = habitants+timestamp/86400
(il marche d'ailleur pas très bien)
Ce que je veux c'est pouvoir mettre une condition de façon à ce que quant le nombre d'habitant dépasse la contenance le calcul s'arrete.
Avec while ça beug et avec if l'augmentation n'a même pas lieu.


RE: 2 en 1(comme la lessive) - Harparine - 26-09-2007

Pour la limitation, relis à haute voix le premier algorithme que je t'ai filé (en traduisant les expressions mathématiques en français) : tu comprendras plus facilement la logique et le principe est à la portée de n'importe quel débutant (peut-être qu'il faut s'y arrêter quelques minutes tout de même pour bien piger). Effectivement, la fonction max ne devrait pas être très utile ici.

Concernant le script d'augmentation d'habitants, interroge toi sur la valeur de timestamp et sur les effets que peut produire cette variable dans ton calcul : tu risques effectivement d'avoir quelques problèmes dans tes résultats.
Après, tu as deux possibilités :
- ou bien la mise en place d'une tâche cron qui va incrémenter le nombre d'habitants tous les jours pour tous les joueurs (le plus simple à mettre en place mais tu seras dépendant du serveur cron).
- ou bien l'écriture d'un script qui vérifiera à chaque connexion du joueur (ou à chaque appel de page dans le cas d'un traitement plus fin mais plus lourd) si au moins 24 heures se sont écoulées depuis la dernière incrémentation d'habitants. Après, il te suffit de bidouiller les timestamp pour calculer le nombre de journées écoulées, le temps restant, etc. Cette solution est plus compliquée mais te rend plus indépendant qu'un système cron.

Voilà quelques pistes. Il te reste maintenant à prendre un papier, un crayon (non, pas de clavier pour l'instant^^) et à réfléchir à la meilleure manière de mettre en place ce genre de système : comment limiter au max l'accès à la base de données pour ce genre de test ? Quel calcul utiliser pour connaitre le nombre d'habitants à rajouter depuis la dernière mise à jour ? Comment éviter un décalage temporel lors de l'update du timestamp ? etc.

Bonne chance Wink


RE: 2 en 1(comme la lessive) - alechuga - 27-09-2007

Le fait que ma division soit massive ne pose pas problème j'éspère
(1/86400 c'est vrai que c'est beaucoup)
Sinon pour le code de limitation j'ai compris merci