Code : Tout sélectionner
If R1=7
gains=gains+5
endif
If R2=7
gains=gains+5
endif
If R3=7
gains=gains+5
endif
sinon, je m'étais permis de modifier ton code pour ajouter un "effet graphique" sur les chiffres :
EDIT : je pense aussi que tu devrais tester l'égalité des 3 chiffres, pour augmenter les gains, du style "3 3 3" rapporte 10 points, et "7 7 7" rapporte 50 points.
;***** Bandit manchot *****
;***** écris par Jbernard *****
;**** Constantes *****
Enumeration
#Fenetre_main
#Cadre_0
#cadre_1
#Titre
#Titre2
#Titre3
#string_Resultat
#Texte_Gains
#string_Gains
#Bouton_lancer
#Bouton_rejouer
#Font1
#Font2
#Font3
#Font4
#Font5
EndEnumeration
;**** Déclarations des variables ****
;*** Pour les polices ***
Global Font01,Font02,font03,Font04,Font05
;*** Pour le calcul du resultat et du gains
Global Resultat,gains
;*** Chargement de la police ****
Font01= loadfont ( #Font1 , "arial" ,20, #PB_Font_Bold )
Font02= loadfont ( #Font2 , "arial" ,50, #PB_Font_Bold )
font03= loadfont ( #Font3 , "arial" ,15, #PB_Font_Bold )
font05= loadfont ( #Font5 , "Impact" ,50, #PB_Font_Bold )
;**** Les procédures ****
Procedure Calcul_Resultat()
Shared gains
Resultat = random (9)
; Faire "tourner" le rouleau des chiffres
; Tout d'abord 3 fois complet
speed=32
For roul=1 To 3
y=0
Repeat
displaytranslucentsprite (1,5,y+81,255)
flipbuffers ()
clearscreen ( rgb (255,255,0))
y=y-speed
Until y=<-902 ;738
speed=speed/2
Next roul
; puis une seule fois où on s'arrête sur le bon numéro
y=0
Repeat
displaytranslucentsprite (1,5,y+81,255)
flipbuffers ()
clearscreen ( rgb (255,255,0))
y=y-speed
Until y<=((resultat+1)*82)*-1
setgadgettext ( #string_Resultat , " " + str (Resultat))
If Resultat= 7
textgadget ( #Titre2 ,60,120,110,70, "Gagné" , #PB_Text_Center )
setgadgetfont ( #Titre2 ,Font01)
setgadgetcolor ( #Titre2 , #PB_Gadget_FrontColor , rgb ($FF,$0,$0))
gains= gains+10
setgadgettext ( #string_Gains , "" + str (gains))
Else
textgadget ( #Titre3 ,60,120,110,70, "Perdu" , #PB_Text_Center )
setgadgetfont ( #Titre3 ,Font01)
setgadgetcolor ( #Titre3 , #PB_Gadget_FrontColor , rgb ($FF,$0,$0))
EndIf
EndProcedure
Procedure rejouer()
setgadgettext ( #Titre2 , "" )
setgadgettext ( #Titre3 , "" )
EndProcedure
;***** Création de la fenetre et des gadgets *****
; Initialisations Diverses
If initsprite () =0 Or initkeyboard ()=0 Or initmouse ()=0 Or initsprite3d ()=0
messagerequester ( "Error" , "Sprite system can't be initialized" , 0)
End
EndIf
If openwindow ( #Fenetre_main ,0,0,340,440, " Bandit Manchot " , #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered )
If openwindowedscreen ( windowid ( #Fenetre_main ),240,60,45,80,0,0,0)
clearscreen ( rgb (255,255,0))
EndIf
frame3dgadget ( #Cadre_0 ,20,10,300,200, "" )
textgadget ( #Titre ,60,30,110,70, "Bandit Manchot" , #PB_Text_Center )
setgadgetfont ( #Titre ,Font01)
setgadgetcolor ( #Titre , #PB_Gadget_FrontColor , rgb ($FF,$0,$0))
stringgadget ( #string_Resultat ,180,60,45,80, "" , #PB_String_Numeric|#PB_String_ReadOnly )
;StringGadget(#string_Resultat,240,60,45,80,"",#PB_String_Numeric|#PB_String_ReadOnly)
setgadgetfont ( #string_Resultat ,Font02)
setgadgetcolor ( #string_Resultat , #PB_Gadget_BackColor , rgb ($FF,$FF,$0))
;***** Deuxieme cadre ***********
frame3dgadget ( #cadre_1 ,20,220,300,200, "" )
textgadget ( #Texte_Gains ,50,250,100,30, "Gains : " , #PB_Text_Center )
setgadgetfont ( #Texte_Gains ,font03)
setgadgetcolor ( #Texte_Gains , #PB_Gadget_FrontColor , rgb ($FF,$0,$0))
stringgadget ( #string_Gains ,180,250,100,20, "0" , #PB_String_Numeric|#PB_String_ReadOnly )
setgadgetfont ( #string_Gains ,Font04)
setgadgetcolor ( #string_Gains , #PB_Gadget_BackColor , rgb ($FF,$FF,$0))
buttongadget ( #Bouton_lancer ,30,310,50,20, "Lancer" )
buttongadget ( #Bouton_rejouer ,110,310,50,20, "Rejouer" )
; Création du "rouleau" de chiffres
createsprite (1,36,821)
For i=0 To 9
startdrawing ( spriteoutput (1))
drawingmode ( #PB_2DDrawing_Transparent )
drawingfont ( fontid ( #font5 ))
drawtext (0,(i*82)+1, str (i), rgb (0,1,0), rgb (0,0,0))
stopdrawing ()
Next i
EndIf
;***** Boucle du programe ****
Repeat
Select waitwindowevent ()
Case #PB_Event_Gadget
Select eventgadget ()
Case #Bouton_lancer
textgadget ( #Titre3 ,60,120,110,70, " " , #PB_Text_Center )
setgadgetfont ( #Titre3 ,Font01)
setgadgetcolor ( #Titre3 , #PB_Gadget_FrontColor , rgb ($FF,$0,$0))
setgadgettext ( #string_Resultat , " " )
Calcul_Resultat()
Case #Bouton_rejouer
messagerequester ( "Infos" , "Nouvelle partie" , #PB_MessageRequester_Ok )
rejouer()
EndSelect
Case #PB_Event_CloseWindow
Fermer = #True
EndSelect
Until Fermer
End
Un bon "IF..." devrait faire l'affaire