Lancer de dés

Soyez le premier à donner votre avis sur cette source.

Vue 3 201 fois - Téléchargée 186 fois

Description

A quoi sert mon code ? Ben imaginez que vous et un de vos copains voulez regarder deux films qui passent en même temps sur deux chaînes différentes ( par exemple, "Duke Nukem au pays des merveilles" et "Qui a la peau de Frankenstein" ), et que vous ne disposez que d'un seul téléviseur.
Vous lancez mon programme, et vous jouez à pile ou face en lançant 10e5 pièces de monnaie pour savoir quel film vous regarderez ... C'est beau le progrès :)
Heu... ne soyez pas trop sévères avec la note, c'est mon premier programme en visual basic :)

Source / Exemple :


Private Sub CmdLancer_Click()
Randomize Timer
If NombreFaces.Caption = 2 Then hasard2
If NombreFaces.Caption = 3 Then hasard3
If NombreFaces.Caption = 4 Then hasard4
If NombreFaces.Caption = 5 Then hasard5
If NombreFaces.Caption = 6 Then hasard6
End Sub

Private Sub CmdPrint_Click()

Credits = "-=[ Azar ]=-" + vbCrLf + "Programme de Mathias Seuret"
If NombreFaces.Caption = 2 Then Resultat.Text = Credits + vbCrLf + vbCrLf + "Les dés ont " + NombreFaces.Caption + " faces." + vbCrLf + "Nombre de lancers : " + NombreLancers.Text + vbCrLf + vbCrLf + "Pourcentage de pile : " + Txt1Faces + vbCrLf + "Pourcentage de faces : " + Txt2Faces.Text
If NombreFaces.Caption = 3 Then Resultat.Text = Credits + vbCrLf + vbCrLf + "Les dés ont " + NombreFaces.Caption + " faces." + vbCrLf + "Nombre de lancers : " + NombreLancers.Text + vbCrLf + vbCrLf + "Pourcentage de face une : " + Txt1Faces + vbCrLf + "Pourcentage de face deux : " + Txt2Faces.Text + vbCrLf + "Pourcentage de face trois : " + Txt3Faces.Text
If NombreFaces.Caption = 4 Then Resultat.Text = Credits + vbCrLf + vbCrLf + "Les dés ont " + NombreFaces.Caption + " faces." + vbCrLf + "Nombre de lancers : " + NombreLancers.Text + vbCrLf + vbCrLf + "Pourcentage de face une : " + Txt1Faces + vbCrLf + "Pourcentage de face deux : " + Txt2Faces.Text + vbCrLf + "Pourcentage de face trois : " + Txt3Faces.Text + vbCrLf + "Pourcentage de face quatre : " + Txt4Faces.Text
If NombreFaces.Caption = 5 Then Resultat.Text = Credits + vbCrLf + vbCrLf + "Les dés ont " + NombreFaces.Caption + " faces." + vbCrLf + "Nombre de lancers : " + NombreLancers.Text + vbCrLf + vbCrLf + "Pourcentage de face une : " + Txt1Faces + vbCrLf + "Pourcentage de face deux : " + Txt2Faces.Text + vbCrLf + "Pourcentage de face trois : " + Txt3Faces.Text + vbCrLf + "Pourcentage de face quatre : " + Txt4Faces.Text + vbCrLf + "Pourcentage de face cinq : " + Txt5Faces.Text
If NombreFaces.Caption = 6 Then Resultat.Text = Credits + vbCrLf + vbCrLf + "Les dés ont " + NombreFaces.Caption + " faces." + vbCrLf + "Nombre de lancers : " + NombreLancers.Text + vbCrLf + vbCrLf + "Pourcentage de face une : " + Txt1Faces + vbCrLf + "Pourcentage de face deux : " + Txt2Faces.Text + vbCrLf + "Pourcentage de face trois : " + Txt3Faces.Text + vbCrLf + "Pourcentage de face quatre : " + Txt4Faces.Text + vbCrLf + "Pourcentage de face cinq : " + Txt5Faces.Text + vbCrLf + "Pourcentage de face six : " + Txt6Faces.Text

Rem imprimer
Printer.FontSize = 12
Printer.Print Resultat.Text
Printer.EndDoc
End Sub
Private Sub FacesMoin_Click()
If NombreFaces.Caption > 2 Then NombreFaces.Caption = NombreFaces.Caption - 1
End Sub

Private Sub FacesPlus_Click()
If NombreFaces.Caption < 6 Then NombreFaces.Caption = NombreFaces.Caption + 1
End Sub

Private Sub NombreLancers_Change()
lancers = NombreLancers.Text
If lancers > 100000 And Rogner.Value = Unchecked Then ok = MsgBox("Vous avez choisi de lancer " + lancers + " dés. Calculer plus de 100 000 lancers prend beaucoup de temps. J'ai donc réglé mon programme pour ne pas accepter plus de 100 000 dés. Si vous désirez quand même en lancer plus, cochez la case qui se trouve tout en bas à droite. En cochant cette case, vous acceptez le risque que votre ordinateur se bloque, et s'il perd des données non sauvegardées, je ne pourai pas en être tenu pour responsable.", vbExclamation, "Attention")
If lancers > 100000 And Rogner.Value = Unchecked Then lancers = 100000
NombreLancers.Text = lancers
End Sub

Private Sub Rogner_Click()
If Rogner.Value = Checked Then MsgBox "A vos risques et périls !"
End Sub

Sub hasard2()
For t = 1 To NombreLancers.Text
X = Int(Rnd * 2)
If X = 1 Then face1 = face1 + 1 Else face2 = face2 + 1
Next t
Txt1Faces.Text = face1 / NombreLancers.Text * 100
Txt2Faces.Text = face2 / NombreLancers.Text * 100
Txt3Faces.Text = "-"
Txt4Faces.Text = "-"
Txt5Faces.Text = "-"
Txt6Faces.Text = "-"
If face1 / NombreLancers.Text * 100 = 50 And NombreLancers.Text > 1000 Then ok = MsgBox("En lançant plus de 1000 pièces vous avez eu exactement 50% de Piles. Ca devait bien arriver un jour :)", vbInformation, "Surprenant, non ?")
End Sub

Sub hasard3()

For t = 1 To NombreLancers.Text
X = Int(Rnd * 3)
If X = 0 Then face1 = face1 + 1
If X = 1 Then face2 = face2 + 1
If X = 2 Then face3 = face3 + 1

Next t
Txt1Faces.Text = face1 / NombreLancers.Text * 100
Txt2Faces.Text = face2 / NombreLancers.Text * 100
Txt3Faces.Text = face3 / NombreLancers.Text * 100
Txt4Faces.Text = "-"
Txt5Faces.Text = "-"
Txt6Faces.Text = "-"

End Sub

Sub hasard4()

For t = 1 To NombreLancers.Text
X = Int(Rnd * 4)
If X = 0 Then face1 = face1 + 1
If X = 1 Then face2 = face2 + 1
If X = 2 Then face3 = face3 + 1
If X = 3 Then face4 = face4 + 1

Next t
Txt1Faces.Text = face1 / NombreLancers.Text * 100
Txt2Faces.Text = face2 / NombreLancers.Text * 100
Txt3Faces.Text = face3 / NombreLancers.Text * 100
Txt4Faces.Text = face4 / NombreLancers.Text * 100
Txt5Faces.Text = "-"
Txt6Faces.Text = "-"

End Sub

Sub hasard5()

For t = 1 To NombreLancers.Text
X = Int(Rnd * 5)
If X = 0 Then face1 = face1 + 1
If X = 1 Then face2 = face2 + 1
If X = 2 Then face3 = face3 + 1
If X = 3 Then face4 = face4 + 1
If X = 4 Then face5 = face5 + 1

Next t
Txt1Faces.Text = face1 / NombreLancers.Text * 100
Txt2Faces.Text = face2 / NombreLancers.Text * 100
Txt3Faces.Text = face3 / NombreLancers.Text * 100
Txt4Faces.Text = face4 / NombreLancers.Text * 100
Txt5Faces.Text = face5 / NombreLancers.Text * 100
Txt6Faces.Text = "-"

End Sub

Sub hasard6()

For t = 1 To NombreLancers.Text
X = Int(Rnd * 6)
If X = 0 Then face1 = face1 + 1
If X = 1 Then face2 = face2 + 1
If X = 2 Then face3 = face3 + 1
If X = 3 Then face4 = face4 + 1
If X = 4 Then face5 = face5 + 1
If X = 5 Then face6 = face6 + 1

Next t
Txt1Faces.Text = face1 / NombreLancers.Text * 100
Txt2Faces.Text = face2 / NombreLancers.Text * 100
Txt3Faces.Text = face3 / NombreLancers.Text * 100
Txt4Faces.Text = face4 / NombreLancers.Text * 100
Txt5Faces.Text = face5 / NombreLancers.Text * 100
Txt6Faces.Text = face6 / NombreLancers.Text * 100

End Sub

Conclusion :


Rassurez-vous, je ne ferai pas informaticien ;)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
36
Date d'inscription
jeudi 28 mars 2002
Statut
Membre
Dernière intervention
5 décembre 2002

ou si tu aimes bien les "if", utilise les comme ca :

if condition1 then
action1
elseif condition2 then
action2
elseif condition3 then
action3
else
action4
end if
Messages postés
71
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
15 juin 2002

Drolement bien pour un premier programme en VB!!! 9/10
Un conseil: quand t'as plein de if c mieu d'utiliser Selec case:
Select case NombreFaces.Caption
case 2
hasard2
case 3
hasard3
...
End select
Ca fait plus beau
Et la je vais etre un peu hors sujet: Bravo aussi pour ton jeu:Climber en DB

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.