Orbyt
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -45%
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre ...
Voir le deal
339 €

[1.7] Formules

3 participants

Page 1 sur 2 1, 2  Suivant

Aller en bas

[1.7] Formules Empty [1.7] Formules

Message par Matdark Mer 24 Mar - 1:16

Parce qu'elles se relient entre elles à travers les différends éléments du jeu, on va faire un topic regroupant l'ensemble des formules (et les stats attenantes)
Matdark
Matdark

Messages : 172
Date d'inscription : 16/01/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par byleth Mer 24 Mar - 1:20

bon, on dirait que c'est ici que je dois poster, la premiere que j'ai faite (non testee hein, matdark a pas voulu tester), c'est a priori le calcul de l'angle de derive par rapport a differentes variables, comme la vitesse du vent, vitesse du bateau etc etc

angle de derive = 1/m1 [(v1 X (cos Beta)^2 /(8X L1 ^2)) - 0.6464 X alpha
X v2 X L2 ^2]

m1 = masse du bateau = poids/g(9.81)
v1=
vitesse du bateau en m/s
beta= orientation de la voile par rapport au bateau
L1= longueur
bateau
alpha= angle du cent
v2= vitesse du vent en m/s
L2=
longueur de la voile
X= c'est 'fois'


J'ai les calculs en format .pdf si quelqu'un est interesse...matdark les a aussi.

byleth

Messages : 27
Date d'inscription : 24/03/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par byleth Mer 24 Mar - 1:43

Bon, Matdark m'a demande comment calculer l'ELO...

On met a jour le classement selon la formule (apres chaque combat):

DE= K X (S- 1/[10^((-D/F)+1)])

Avec, pour chaque joueur :

  • dE : nombre de points Elo en jeu
  • S : Score (1 = gagné, 0
    = perdu, 0.5 = match nul)
  • F : Facteur F (volatilité du classement) =
    400
    : constance definissant la facilite du jeu
  • D : Différence de points Elo : Elo du joueur -
    Elo de son adversaire

  • K : Facteur K (Importance de la partie):

    • Score d'un des joueurs < 2100, K vaudra 32
    • Score d'un des joueurs < 2401, K vaudra 24
    • Score des joueur > 2400, K vaudra 16

    </li>

byleth

Messages : 27
Date d'inscription : 24/03/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par Matdark Mer 24 Mar - 3:51

Petite question à Mot (et les autres codeurs...)

Vous pouvez vous en servir de ça?

Je veux dire, les transposer tel quel, ou les comprendre pour les inclure dans le jeu. Ou c'est du charabia inutilisable?
Matdark
Matdark

Messages : 172
Date d'inscription : 16/01/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par byleth Mer 24 Mar - 4:15

bon, formule d'eperonage, c'est en gros un pass/fail, c'est a dire que si la valeur est superieur a 16 (nombre choisi aleatoirement), le bateau coule, sinon il n'a rien...

La formule a appliquer est:

% X 1/(2X PVcoque) X (m1 +m2) x (v2)^2

Avec m1 etant la masse du defenseur
m2, masse attaquant
V2, vitesse attaquant
et % un jet de de de 100 = (1+ jet/100)

byleth

Messages : 27
Date d'inscription : 24/03/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par my hotel Mer 24 Mar - 15:22

Matdark, pour te répondre, on peut effectivement se servir de formules écrites comme ça, sachant que PHP inclut pas mal de fonctions maths, du style cos et compagnie.
Sinon, pour optimiser un peu, faudrait prendre des valeurs plus rondes, parce que PHP pêche sur les décimales. Du style g=10N.kg-1 au lieu de 9.81N.kg-1.

Bye

my hotel

Messages : 291
Date d'inscription : 16/01/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par byleth Jeu 25 Mar - 1:23

Bah a priori, si c'est homogene c'est a dire si on utilise que des 'poids' a la place des 'masses' partout, on peut carrement zapper la valeur de la constante de Newton ou autre (g).
Ca simplifierait le code et vu que de meme, les vitesses seront en 'carre/tour' et pas en 'm/s' comme ca devrait l'etre, on aura un semblant de coherence/realisme tout en gardant quelque chose 'utilisable'...a moins que ca ne derange pas les codeurs de faire ca avec les 'vraies formules' c'est a dire avec les conversions vers les 'vraies unites'^^

byleth

Messages : 27
Date d'inscription : 24/03/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par byleth Jeu 25 Mar - 3:16

bon, formule de desenchouage
c'est a dire le bateau qui arrive a se sortir du sable apres s'y etre echoue.

desenchouage = 0.4 X(3Pveq + PVcoque/2)/ masse bateau

avec Pveq le nombre de PV equipage actuel (pas max)
Et Pv coque le nombre de PV coque actuel (pas max).

En gros, ca fait du 12% de chances de sortir pour un bateau 'standard'

byleth

Messages : 27
Date d'inscription : 24/03/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par byleth Jeu 25 Mar - 5:00

ok, formule suivante, qu'on a mega simplifie avec mat (au depart, il voulait 12 variables...)

Vitesse bateau voile = vitesse vent X ([angle voile par rapport a bateau module 90]/90)%

Alors le 'modulo' ca veut simplement dire que lorsque l'angle atteint 90, la valeur de cet angle redescent a 0...car on est dans un cercle on ne veut pas avoir des valeurs de 110% par exemple.

La vitesse reelle du bateau etant donc:
Vr = [plus grand de (vitesse bateau voile; vitesse bateau rames)]
Avec le vitesse bateau rames une variable connue (definie).




Maintenant, nouvelle vitesse, prenant en compte le courant, comme le veut mat:

vitesse finale bateau = (Pvcoque actuelle/Pvcoque max) X (Vr + Vc[1-teta/90])

Avec vr la vitesse reelle ci dessus
teta l'angle de courant...modulo 180 cette fois.
Vc la vitesse ru courant

byleth

Messages : 27
Date d'inscription : 24/03/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par byleth Ven 26 Mar - 2:00

formule suivant, sur l'evolution du vent..

On va nommer Y la variable des 8 directions.

Pour Y: Nord +1 = Nord-ouest
Nord-ouest +1 = Ouest..
...etc...
Est+1= Nord est
Nord est+1 = N

Donc un module 8 en fait.

N->NO->O->SO->S->SE->E->NE ...etc

La formule d'evolution de direction du vent Y est:
Y(t+1) = Y(t)X [ 8X (random %)/100 +1]

Ca nous donne une variation de directions pas trop abrupte.

Il faudra evidemment arrondir a l'entier le plus proche, c'est a dire si Y(t) = O et qu'avec le random, on a Y (t+1) = 6 Y(t) alors, Y(t+1) = N.

Maintenant, meme principe pour l'evolution de la puissance du vent.
Soit V vent la vitesse du vent.

V (t+1) = V(t) X [ (1+ 2X( random %)/100]

byleth

Messages : 27
Date d'inscription : 24/03/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par Matdark Ven 26 Mar - 2:11

Les quelques trucs qui ne sont pas des formules en soit, mais que bon, quand même.

Les dégats flèches/Cac sont un random entre les deux chiffres indiqués sur la stat du bateau (genre 15-20, ça donne des dégats de 15-16-17-18-19-20).
Si y a moyen d'avoir des dégats catapultes de type 0+random, (genre 15-20 = 0-15-16-17-18-19-20...), les dégats peuvent varier légèrement aussi, mais surtout le tir peut etre foiré.

Sinon je crois qu'on a plus ou moins tout en "véritable" formule la. Le reste va être simple normalement.

La Ct ci dessous est la capacité à virer (stat bateau).


Dernière édition par Matdark le Ven 26 Mar - 3:48, édité 2 fois
Matdark
Matdark

Messages : 172
Date d'inscription : 16/01/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par byleth Ven 26 Mar - 2:33

bon autre formule 'requested'

C'est la formule pour tourner le bateau.
les valeurs intervenant sont:
- la capacite a tourner du bateau, constante selon le bateau = Ct
- l'angle de derive calcule precedemment
- l'angle 'voulu' qui est l'angle que l'on veut tournmer.

Angle dont le bateau tourne = -angle de derive + (Ct/100) X angle voulu.

byleth

Messages : 27
Date d'inscription : 24/03/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par my hotel Mer 7 Avr - 16:35

Dans les formules de vent, random % = nombre au hasard entre 1 et 100?
EDIT : si random % veut bien dire ça, alors tes formules ont un souci, puisque la force/direction augmentent en permanence. Or, il me faut des nombres toujours inférieurs à 255 pour stocker en BDD.

Bye

my hotel

Messages : 291
Date d'inscription : 16/01/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par byleth Jeu 8 Avr - 3:22

En fait, pour que ca marche, en effet, faudrait que random % soit un entier entre -100 et + 100.

Niveau BDD, pour le 255 c'est possible de faire pour que quand ca atteint une certaine valeur, on retombe a 0 automatiquement?

Une espece de 'modulo 255' en fait.

byleth

Messages : 27
Date d'inscription : 24/03/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par my hotel Jeu 8 Avr - 9:21

OK pour le random.

Sinon, vu que les directions 1 et 9 sont identiques on peut pas faire une espèce de modulo 8?

Bref, faut trouver un moyen mathématique que ça dépasse pas 255, et si possible que ça reste de 1 à 8, pour optimiser un peu.

Bye

my hotel

Messages : 291
Date d'inscription : 16/01/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par byleth Jeu 8 Avr - 9:37

Si carrement, si c'est plus facile de faire un modulo 8, c'est perfect.

byleth

Messages : 27
Date d'inscription : 24/03/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par my hotel Jeu 8 Avr - 9:52

OK, ben modulo 8 sur la formule alors...
Mais 8mod8 = 0... Donc je dois sauter une étape.

my hotel

Messages : 291
Date d'inscription : 16/01/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par byleth Jeu 8 Avr - 10:08

pas forcement, si le resultat de 'variation' est 0, alors le vent ou la direction ne change pas...ca arrive probablement.
Comme on ne divise pas par ce modulo, ca devrait pas causer de soucis.

byleth

Messages : 27
Date d'inscription : 24/03/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par my hotel Jeu 8 Avr - 13:55

OK, je vois... Bon, je vais implémenter ça dans le moteur de jeu.

my hotel

Messages : 291
Date d'inscription : 16/01/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par my hotel Ven 9 Avr - 11:00

Je comprends pas... La suite des valeurs pour la direction ou la force du vent tend vers 0, et l'atteint en quelques tours.

Ma formule :
Code:

$wind_direction = ($this->informations['wind_direction'] * (8 * rand(-100, 100)/100  1))%8;
$wind_power = $this->informations['wind_power'] * (2 * rand(-100, 100)/100  1);
Où est le problème?

my hotel

Messages : 291
Date d'inscription : 16/01/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par byleth Ven 9 Avr - 11:05

Hmmm

Dans la formule de code, je pige pas ca:
(8 * rand(-100, 100)/100 1))%8;


Le '1' separe comme ca, ca veut dire quoi?

La formule de depart etant
V (t+1) = V(t) X [ (1+ 8X( random %)/100]

Le '1' devrait etre quelque part dans une addition, sans le +1, en effet, on aurait un truc qui tend vers 0...

byleth

Messages : 27
Date d'inscription : 24/03/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par my hotel Ven 9 Avr - 11:06

Oui, effectivement, erreur de copier-coller : la formule est :
Code:
$wind_direction = ($this->informations['wind_direction'] * ((8 * rand(-100, 100)/100) + 1))%8;
Ou $wind_direction est la nouvelle valeur, et $this->informations['wind_direction'] l'ancienne.
Mais les valeurs tendent toujours vers 0.

my hotel

Messages : 291
Date d'inscription : 16/01/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par byleth Ven 9 Avr - 11:13

hmm la c'est pas normal... pcq un truc de la forme V(t+1) = ( 1+ V(t) ) devrait tendre vers une grosse valeur...pas 0...

Le %8 a la fin ca fait quoi exactement? c'est le modulo 8?

En fait, je viens de penser a un truc con, c'est quelle valeur pour V(0) qui est la vitesse initiale? Si c'est '0' c'est normal que ca tende vers 0 car a chaque etape, il va multiplier par 0.

En fait, faudrait peut etre donner un v(0) non nul en hypothese avant non?

byleth

Messages : 27
Date d'inscription : 24/03/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par my hotel Ven 9 Avr - 11:19

Le %8 à la fin signifie qu'on passe toute la formule au modulo 8.
J'avais pensé à ne pas donner 0 en hypothèse, mais alors le souci c'est que la formule peut renvoyer 0 parfois (voir messages précédents) à cause du module (8%8=0).
Donc je pense que le problème vient de là, c'est à dire que quand la formule renvoie 8, 8%8=0, et après on reste à 0.

Je vais faire des tests pour voir si le bug vient d'ailleurs... Mais en tout cas, ça reste un problème Wink

Bye

EDIT : oui donc on a des séries plus ou moins longues, mais on tombe parfois sur 0, et là c'est le drame! Smile

my hotel

Messages : 291
Date d'inscription : 16/01/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par byleth Ven 9 Avr - 11:31

ok, je vois...en effet ca vient de la...si on atteint 0, la t+1 sera toujours 0, j'avais pas pense a ca^^ En fait ya une chance sur 200 pour que ca arrive mais ca arrive quand meme...

Ca arrive quand V(t) X (1+ 8X( random %)/100) = 8
C'est a dire random = [(8-V(t)) X 100) /(8 V(t)]

C'est un cauchemar pour determiner les valeurs de random a eviter^^

Ya pas moyen de poser en contrainte que random 'evite' les valeurs [(8-V(t)) X 100) /(8 V(t)] ?

Ou alors je change la formule par un moyen quelconque quand j'ai 5mn

byleth

Messages : 27
Date d'inscription : 24/03/2010

Revenir en haut Aller en bas

[1.7] Formules Empty Re: [1.7] Formules

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum