keevin69
Messages postés7Date d'inscriptionmardi 14 mars 2006StatutMembreDernière intervention 2 juin 2008
-
8 déc. 2007 à 16:31
keevin69
Messages postés7Date d'inscriptionmardi 14 mars 2006StatutMembreDernière intervention 2 juin 2008
-
16 déc. 2007 à 12:24
Bonjour a tous!
Je m'apelle Kevin et je suis en terminal.
Je suis debutant en VB mais passionné d'imformatique.
Je fais du vb depuis seulement 2 mois et j'ai examen lundi 17 dec!
Le prof nous a donc donné un ennoncé de programme mais je suis completement perdu et je ne sais pas du tout comment m'y prendre! :(
Voila l'ennoncé:
Ecrire un programme permettant de jouer au lotto.
Il faut 42 cellules de couleurs rouge contenant des nombres aléatoire de 1 a 42.
Permettre a l'utilisateur de cocher 6 nombres qui deviendront vert.
Opérer a un tirage de 6 nombres + 1 numero complémentaire ( tirage de 7 nombres donc)
Afficher les gains: pour gagner il faut 3,4,5,6 nombres identique ou 5 et le numéro complementaire.
Si quelqu'un pouvais me le faire ca serai sympa.
Il me faut au mion le code ca me sauverai!
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201849 8 déc. 2007 à 17:16
bienvenue dans le monde cruel du
q : Si quelqu'un pouvais me le faire ca serai sympa.
r : ah non c'est bon, j'avais oublié que c'était moi qui passait des exams à la fin de l'année....
on ne fera pas ton job, on ne fera que t'aider sur un pb précis
c'est déjà pas mal non?
http://www.vbfrance.com/reglement.aspx <li>
On pose une question aussi précise que possible.
Répondre prend parfois beaucoup de temps. inutile d'en ajouter par des échanges n'étant que des reformulations. relisez-vous...</li><li>
On précise les détails du problème : contexte, langage, message d'erreur, etc.
</li><li>
On pense à donner le bout de code qui pose problème et à préciser le langage utilisé.
C# n'est pas C++, VBA n'est pas VB6, etc... vérifiez le thème où vous postez.</li><li>
On ne demande pas un programme tout fait, on ne demande que de l'aide sur un problème concret.
Dirigez-vous
directement dans la recherche de sources pour les programmes complets.
Inutile de demander du "code tout cuit", vous n'obtiendrez aucune
réponse.</li>
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 8 déc. 2007 à 22:53
Je ne pourrais pas dire mieux...
Si tu as un exercice, fais le toi même ou(et) viens nous demander si tu as un problème particulier. Dans ce cas là, nous serons ravi de t'aider :).
Par contre, ne viens pas nous demander de te faire ton boulot à ta place et de te servir ça sur un plateau, ça nous énerve plutôt qu'autre chose :-p
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 10 déc. 2007 à 17:35
Salut,
Bon début :)
Juste deux trois petites choses pour t'aiguiller:
-il faudrait (je pense) afficher les numéros dès le départ, sans avoir à appuyer sur le bouton lancer la grille (l'utilisateur ne jouera pas sans grille ^^ )
-faire que les command1(i) se désactivent quand on a tous les numéros (sinon, on peut choisir autant de nombres qu'on veut)
-au lieu du bouton "lancer la grille", peut être faire un bouton "réinitialiser", ou "remise à zéro de la grille"? pour si on veut rejouer?
-pour le comptage, vérifie tout d'abord que le joueur a joué tous les numéros. Après, il faut voir si il a les numéros, combien il en a, etc... facile à faire avec une boucle for.
-Enfin, pour les "gains" en argent, je ne sais pas exactement comment ils calculent ça en vrai (la loi qu'ils utilisent), mais comme ici tu as un seul joueur, tu as déjà le facteur stats à enlever, donc je pense une loi exponentielle doit aller :)
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 10 déc. 2007 à 17:43
Ah, un truc pour le form_load.
Remplace
For z = 0 To 6
q(z) = Int(Rnd * 42) + 1
MsgBox q(z)
Next z
MsgBox "-"
For i = 0 To 6
For j = 0 To 6
If i <> j Then
If q(i) = q(j) Then
flag = True
End If
End If
Next j
Next i
par
q(0)=int(rnd*42)+1
dim i,j as integer 'C'est plus propre de le mettre
dim EstUnique as boolean
for i=1 to 6
estunique=false
while not estunique
estunique=true
q(i)=int(rnd*42)+1
for j=0 to i-1
if q(i)=q(j) then estunique=false
next
wend
next
for i=0 to 6
msgbox str(q(i))
next
Comme ça, ça évite d'avoir à voir 50 tirages "manqués" (avec des numéros en couble) qui s'affichent à l'écran.
En plus, tu fais moins de boucles.
Enfin sinon, je ne mettrais pas le tirage comme ça, avant que le jeu commence, mais plutôt quand le joueur veut vérifier s'il a trouvé les bons numéros ;-)
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 10 déc. 2007 à 17:45
Et un dernier truc: tu programmes en vb6, pas en vb2005 ou vb.net, donc la prochaine fois, mets ton topic au bon endroit ;-)
(celui là est dans Thèmes / VB.NET et VB 2005 / Algorithme / Divers / Jeu lotto )
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 10 déc. 2007 à 22:47
Bah pour le post, c'est pas bien grave, t'inquiète pas :)
Y'a des fois, c'est embêtant, parce qu'on passe des fois un certain temps à répondre, et après le mec qui a créé le topic nous dit: "non mais moi je veux un truc en vb2005, pas en vb6" lol. C'est assez énervant :p
Alors je préfère prévenir, mais ne t'inquiète pas lol y'a pas de mal :)
mstarsup5
Messages postés527Date d'inscriptionlundi 15 octobre 2007StatutMembreDernière intervention10 octobre 20131 16 déc. 2007 à 11:27
Ben il te faut 6 nombres je crois (le tirage), disons Tirage(i) pour i allant de 1 à 6, et 6 nombres joués, disons NbJoue(i) pour i allant de 1 à 6.
Pour savoir combien sont bons c'est simple:
dim NbBons as integer
NbBons=0
dim i,j as integer
pour i de 1 à 6
pour j de 1 à 6
si Tirage(i)=NbJoue(j) alors NbBons=NbBons+1
FinPour
FinPour
(Ps: Ca suppose que tu t'es pas planté et que le joueur a exactement 6 numéros distincts, et que ton tirage est composé de 6 numéros distincts hein... :) )
Après, pour les gains, à toi de te démerder... :p