il y a 6 ans
mon premier programme.
Je voudrais faire une machine à sous.
Mon souci est l’incrémentation de la variable argent si 2 ou 3 chiffres sont égaux.
Je suis coincé.
Je dois m'y prendre mal. C'est certain.
Une idée ?
NEW il y a 6 ans
Hello,
en reprenant l'existant de ton programme, cela peut se passer comme ça :
if (x == y && y == z) { argent += GROS_GAIN }
else if (x == y || x == z || y == z) { argent += PETIT_GAIN }
Ce n'est probablement pas le plus élégant, mais pour trois variables, il y a peu de combinaisons, et donc c'est probablement suffisant.
Autres remarques : a, b, c, x, y, z ne sont pas des noms de variables terriblement descriptives. Si ton programme grandi, tu vas rapidement t'y perdre. Ces variables étant liées sémantiquement, tu peux aussi passer par un tableau int ancien_nombres[3]
et int nouveau_nombres[3]
.
Je ne comprends pas bien la logique du tirage aléatoire. x est tiré entre 0 et 8 (inclue) (il manque peut-être un +1). Mais y est tiré entre 0 et le résultat de x exclu. Puis z entre le résultat 0 et le résultat de y exclu.
Autrement dit, aucun nombre ne pourra être égal avec un autre.
NEW il y a 6 ans
En principe pour une machine à sous, le principe de base c'est de tirer un nombre entre 0 et le nombre de symbole -1 ou de 1 au nombre de symboles donc s'il y en a 9 ça donne pour un nombre de 0 à 8:
x=random(9);
mais tu mets la même pour y et Z (y=random(9) et z=random(9))
sinon si tu veux entre 1 et 9 tu mets x=random(8) + 1 ;
Après tu devrais faire plus de procédure par exemple pour un tirage
void tirage(num) {
x=random(num);
y=random(num);
z=random(num);
gb.display.print(x);
gb.display.print(y);
gb.display.println(z);
du coup tu peux l'appeler dès le setup avec tirage(9);
et après tu le mets dans le loop
Tu peux aussi faire une autre procédure pour actualiser l'affichage des autres données (argent, etc ...)
NEW il y a 6 ans
Super, merci pour votre aide. cela fonctionne à présent.
Je vais améliorer la présentation maintenant.
Avec sons et lumières.
Merci !!!
NEW il y a 6 ans
Au fait si tu veux utiliser des graphiques plus tard, tu peux utiliser ceux là si tu veux:
Il y a un sprite pour l’arrêt et un sprite pour la roue qui tourne
NEW il y a 6 ans
Merci.
Il faut juste maintenant que je comprenne comment remplacer les chiffres par des sprites.
NEW il y a 6 ans
je ne savais pas que l'on pouvais créer plusieurs procédures...
A quel endroit se place t'elle ?
NEW il y a 6 ans
Tu peux les mettre ou tu veux. Tu peux même diviser ton source en plusieurs fichiers mais je te conseil pour commencer de n'en faire qu'un (c'est plus simple) après tu pourras regarder le tuto 1942shooter qui montre un peu comment organiser un programme en plusieurs parties "par thème".
Bon donc sinon pour le moment, le plus simple c'est de mettre tes procédures dans ton source, tu peux les mettre ou tu veux. Par exemple avant la procédure setup. Tu a intérêt a bien découper ton programme en procédures ayant une fonction bien définie avec ou sans paramètre selon le besoin.
NEW il y a 6 ans
Ce que j'aimerais c'est que le rouleau démarre ou s’arrête par pression du bouton UP.
Je dois avoir un souci d'organisation de mon programme.
Je vais a repartir à zéro.
J'ai surtout du mal a comprendre comment organiser et structurer un programme.
Comment faire pour que le rouleau obéisse à la pression d'une touche ?