Jeux de dés, calcule de score ...
ti_boby
Messages postés
122
Statut
Membre
-
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis en train de réaliser un petit programme de jeux de dés, en flash (AS3)
il y a trois dés, et donc trois valeurs différentes possible entre 1 et 6;
Jusque là tout va bien.
Je pêche surtout, sur la fonction qui va permettre de calculer les scores.
pour les combinaisons triples : (ex : 6 ; 6 ; 6 )
c'est assez simple j'ai mis :
Mais pour des combinaisons spécial tel que 2 ; 2 ; 1 ou 1 ; 4 ; 1 ou encore 3 ; 4 ; 5 (suite) ??
je ne trouve pas la condition a effectuer ! ! !
un peu d'aide s'il vous plait ?
Je suis en train de réaliser un petit programme de jeux de dés, en flash (AS3)
il y a trois dés, et donc trois valeurs différentes possible entre 1 et 6;
Jusque là tout va bien.
Je pêche surtout, sur la fonction qui va permettre de calculer les scores.
pour les combinaisons triples : (ex : 6 ; 6 ; 6 )
c'est assez simple j'ai mis :
function calculScore(valeur1, valeur2, valeur3) {
var scoreRes:Number = 1; // resultats
//Combinaison triple...
if( (valeur1 == valeur2) && (valeur2 == valeur3) ) {
scoreRes = valeur3;
if (valeur3 == "1") { scoreRes = 6; }
}
}
Mais pour des combinaisons spécial tel que 2 ; 2 ; 1 ou 1 ; 4 ; 1 ou encore 3 ; 4 ; 5 (suite) ??
je ne trouve pas la condition a effectuer ! ! !
un peu d'aide s'il vous plait ?
A voir également:
- Jeux de dés, calcule de score ...
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick jeux - Télécharger - Jeux vidéo
- Feuille de score belote excel - Forum Graphisme
- Jeux java itel touche - Forum Jeux vidéo
7 réponses
Tu peux expliquer le système de notation stp? Parce que là si j'ai bien compris, si tu as trois 1 tu as 6 points?
Bonjour,
Je te conseille avant tout de trier l'ordre de tes dés par ordre croissant.
Ainsi les conditions seront plus simples.
Par exemple pour le triple, ça deviendra : if (valeur1==valeur3)
Pour la suite, il faut que la différence entre valeur1 et valeur2 soit 1 et pareil entre valeur 1 et valeur 3.
Etc.
Cdlt,
Je te conseille avant tout de trier l'ordre de tes dés par ordre croissant.
Ainsi les conditions seront plus simples.
Par exemple pour le triple, ça deviendra : if (valeur1==valeur3)
Pour la suite, il faut que la différence entre valeur1 et valeur2 soit 1 et pareil entre valeur 1 et valeur 3.
Etc.
Cdlt,
oui si tu veux ^^
les combinaisons triple d'abord :
triple 2 = 2 pts
triple 3 = 3 pts
triple 4 = 4 pts
.
.
etc
sauf
triple 1 = 6 pts
les combinaisons avec le double 1 :
ex: 1 ; 3 ; 1 = 3 pts
ex: 1 ; 4 ; 1 = 4 pts
ex: 1 ; 5 ; 1 = 5 pts ....... etc
sauf 1 ; 1 ; 1 qui revient a une combinaison tripe donc 6 pts.
les combinaisons de type suite :
ex ; 1 ; 2 ; 3..... ou 2 ; 3 ; 4 ...... ou encore 3 ; 4 ; 5
nombre de pts équivaut au chiffre du centre de la suite, ici 2 puis 3 puis 4.
enfin les combinaisons spéciales :
nenette : 2 ; 2 ; 1 => pénalité de jeu
Le 421 : 4 ; 2 ; 1 => 12 pts
Par défaut, Si on ne fait aucunes des ces combinaisons on a 1 pts...
Voila les combinaisons... je pense que certain auront reconnu le jeu bien qu'il existe plusieurs variante ;-).
les combinaisons triple d'abord :
triple 2 = 2 pts
triple 3 = 3 pts
triple 4 = 4 pts
.
.
etc
sauf
triple 1 = 6 pts
les combinaisons avec le double 1 :
ex: 1 ; 3 ; 1 = 3 pts
ex: 1 ; 4 ; 1 = 4 pts
ex: 1 ; 5 ; 1 = 5 pts ....... etc
sauf 1 ; 1 ; 1 qui revient a une combinaison tripe donc 6 pts.
les combinaisons de type suite :
ex ; 1 ; 2 ; 3..... ou 2 ; 3 ; 4 ...... ou encore 3 ; 4 ; 5
nombre de pts équivaut au chiffre du centre de la suite, ici 2 puis 3 puis 4.
enfin les combinaisons spéciales :
nenette : 2 ; 2 ; 1 => pénalité de jeu
Le 421 : 4 ; 2 ; 1 => 12 pts
Par défaut, Si on ne fait aucunes des ces combinaisons on a 1 pts...
Voila les combinaisons... je pense que certain auront reconnu le jeu bien qu'il existe plusieurs variante ;-).
Oui en effet je reconnais mais j'ai jamais su trop compter les points.
Donc là je te conseille de faire comme t'a dit fiddy et de commencer à trier tes dés par ordre croissant ou décroissant comme tu veux et après tu pourras plus facilement faire tous les tests. en faisant ça ça divise le nombre de tests par 3...
Bon courage...
Donc là je te conseille de faire comme t'a dit fiddy et de commencer à trier tes dés par ordre croissant ou décroissant comme tu veux et après tu pourras plus facilement faire tous les tests. en faisant ça ça divise le nombre de tests par 3...
Bon courage...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ok, mais je ne connais pas de methode/function qui tire les valeur par ordre croissant... lol
vous pouvez m'aider ?
Dois-je les mettre dans un array ?
vous pouvez m'aider ?
Dois-je les mettre dans un array ?
Voila j'ai réussit a faire ma fonction de trie...
Bon bien sur je n'y connai pas grand chose en algorythme.... donc c'est pas surper optimal comme code...
Ya surmment beaucoup mieux, avec un boucle je pense qu'on peux faire bien mieux mais je vois pas comment faire....
en attendant celui ci marche très bien... mais reste limiter a 3 valeurs.
Si quelqu'un a mieux a proposer je suis tout ouïe :
Bon bien sur je n'y connai pas grand chose en algorythme.... donc c'est pas surper optimal comme code...
Ya surmment beaucoup mieux, avec un boucle je pense qu'on peux faire bien mieux mais je vois pas comment faire....
en attendant celui ci marche très bien... mais reste limiter a 3 valeurs.
Si quelqu'un a mieux a proposer je suis tout ouïe :
function trieValeurs(valeur1,valeur2,valeur3) {
var pVariable:Number; // petite valeur
var mVariable:Number; // moyenne valeur
var gVariable:Number; // grande valeur
// on compare les deux premières valeurs
if (valeur1 <= valeur2) {
pVariable = valeur1;
mVariable = valeur2;
}
else{
pVariable = valeur2;
mVariable = valeur1;
}
//la plus petite est ds pVariable la plus grande dans mVariable
// si elle sont egale peut importe !
//on compare avec la troisième valeur
if ( valeur3 <= pVariable ) {
gVariable = mVariable;
mVariable = pVariable;
pVariable = valeur3;
// si elle est plus grande que la précédente plus petite, on décale toute les valteur et on la met en pVariable.
// si elle est égale a la plus petite : idem
}
else if ( valeur3 >= mVariable ) {
gVariable = valeur3;
// sinon si elle est plus grande que le plus grande précédente, on la place dans gVariable.
// si elle est égale : idem
}
else{
//enfin, sinon c'est qu'elle se situe entre les deux.
gVariable = mVariable;
mVariable = valeur3;
}
trace(valeur1+" ; "+valeur2+" ; "+valeur3);
trace(pVariable+" ; "+mVariable+" ; "+gVariable);
}
Tu n'as pas encore le réflexe de fonction.
Par exemple, tu aurais dû faire une fonction "echanger" pour échanger le contenu des variables. Ca aurait simplifié considérablement ton code.
Par exemple :
Je n'ai pas testé le code, et il y a peut-être des erreurs puisque je n'ai jamais fait d'ActionScript. Mais on voit que c'est plus propre ;-)))
Par exemple, tu aurais dû faire une fonction "echanger" pour échanger le contenu des variables. Ca aurait simplifié considérablement ton code.
Par exemple :
function echanger(a,b) {
var c::Number;
c=a;
a=b;
b=c;
}
function trieValeurs(valeur1,valeur2,valeur3) {
if (valeur1>valeur2) { echanger(valeur1, valeur2); }
if (valeur1>valeur3) { echanger(valeur1, valeur3); }
if (valeur2>valeur3) { echanger(valeur2, valeur3); }
}
Je n'ai pas testé le code, et il y a peut-être des erreurs puisque je n'ai jamais fait d'ActionScript. Mais on voit que c'est plus propre ;-)))