Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 17 Aoû 2012 - 23:51 | |
| @ Jicehel Si je dis tout, il n'y a plus de surprise... @ minibug Ce qui m'intéresse c'est ce que tu en dis, pas ce que tu n'en dis pas... si tu ne dis rien, c'est trop court pour envisager quelque chose... Bon, aller, comme j'suis un gars sympa ... j'ai repris le grand classique du jeu de l'oie... - Code:
-
dim de%(2) :' valeur des des dim C% :' cas rencontré dim P% ,New_P%,Inter_P%,rec% :' point du parcours dim T% :' No du tours dim x% ,y% :' Variable passe partout dim Doss_Img$,img$(63),de$(6) :' adresse des images dim M% :' variable du menu dim A%,CP%,mn% :' choix de l'amende ' ------------------------------------------------------------------------------ label Init,Init_Partie label Menu,choix,Ss_choix,Valid_choix,Arret,APp,AIde,Quitter label Lancer,Parcours,Avancer,Reculer,Amende,Fin_Partie ' ------------------------------------------------------------------------------ width 0,500:height 0,350:top 0,(screen_y-350)/2:left 0,(screen_x-500)/2 caption 0,"Jeu de l'Oie":font_name 0,"Times new roman":font_size 0,10
main_menu 1 sub_menu 2:parent 2,1:caption 2,"Jeu" sub_menu 10:parent 10,2:caption 10,"Nouvelle Partie" :on_click 10,Menu sub_menu 11:parent 11,2:caption 11,"Arrêter" :on_click 11,Menu sub_menu 12:parent 12,2:caption 12,"Quitter" :on_click 12,Menu sub_menu 3:parent 3,1:caption 3,"Options" sub_menu 13:parent 13,3:caption 13,"Choix des amendes":on_click 13,Menu sub_menu 14:parent 14,1:caption 14,"A Propos..." :on_click 14,Menu sub_menu 15:parent 15,1:caption 15,"Aide" :on_click 15,Menu
scene2d 100 sprite_target_is 100:width 100,150:height 100,150:top 100,10:left 100,300 sprite 64:sprite_file_load 64,Dir_current$+"\Img\Vierge2.bmp"
alpha 101 :top 101,170:left 101,300 picture 103:width 103,45:height 103,45:top 103,180:left 103,50 picture 104:width 104,45:height 104,45:top 104,180:left 104,100
button 105 :width 105,20:height 105,20:top 105,235:left 105,87 font_name 105,"Webdings":caption 105,"4":hint 105,"Lancer les dés":cursor_point 105 on_click 105,Lancer
gosub Init gosub choix end ' ------------------------------------------------------------------------------ Init: Doss_Img$=dir_current$+"\Img\" for x%=1 to 63 Img$(x%)=Doss_Img$+str$(x%)+".bmp" sprite x% :sprite_hide x% :sprite_file_load x%,Img$(x%) next x% for x%=1 to 6 de$(x%)=Doss_Img$+"dj"+str$(x%)+".jpg" next x% file_load 103,de$(6) file_load 104,de$(6) inactive 105 return ' ------------------------------------------------------------------------------ Menu: for x%=10 to 15 if clicked(x%)=1 then M%=x% next x% Select M% case 10 active 105 inactive 13 gosub Init_Partie case 11 gosub Arret case 12 gosub Quitter case 13 gosub choix case 14 gosub APp case 15 gosub Aide end_select return ' ------------------------------------------------------------------------------ Init_Partie: T%=0 P%=0 New_P%=0 for x%=1 to 63 sprite_x_position x%,150:sprite_show x% next x% return ' ------------------------------------------------------------------------------ Lancer: inactive 105 T%=T%+1 C%=0 de%(1)=int(rnd(5))+1 de%(2)=int(rnd(5))+1 for x%=1 to 6 file_load 103,de$(x%) file_load 104,de$(x%) wait 150 next x% file_load 103,de$(de%(1)) file_load 104,de$(de%(2)) sprite_hide 64 gosub Parcours return ' ------------------------------------------------------------------------------ Parcours: if T%=1 if (de%(1)=5 and de%(2)=4) or (de%(1)=4 and de%(2)=5) C%=1 else if (de%(1)=6 and de%(2)=3) or (de%(1)=3 and de%(2)=6) C%=2 else if de%(1)+de%(2)=6 C%=3 else C%=4 end_if end_if end_if else New_P%=P%+de%(1)+de%(2) if New_P%=9 or New_P%=18 or New_P%=27 or New_P%=36 or New_P%=45 or New_P%=54 C%=5 end_if if New_P%=19 C%=6 end_if if New_P%=31 C%=7 end_if if New_P%=42 C%=8 end_if if New_P%=52 C%=9 end_if if New_P%=58 C%=10 end_if if New_P%>63 C%=11 end_if if C%=0 then C%=12 end_if
select C% case 1 New_P%=53 caption 101, "Vous avez fait 5 et 4,"+chr$(13)+"vous allez directement en case 53..." gosub Avancer caption 101,"" case 2 New_P%=26 caption 101,"Vous avez fait 6 et 3,"+chr$(13)+"vous allez directement en case 26..." gosub avancer caption 101,"" case 3 New_P%=6 gosub Avancer caption 101, "Vous êtes sur le pont"+chr$(13)+"allez en case 12..." wait 100 P%=7 New_P%=12 gosub Avancer caption 101,"" case 4 New_P%=P%+de%(1)+de%(2) gosub Avancer case 5 gosub Avancer P%=New_P%+1 New_P%=New_P%+de%(1)+de%(2) caption 101, "Vous êtes sur une oie,"+chr$(13)+"Votre tirage est doublé.." gosub Avancer message str$(New_P%) caption 101,"" case 6 ' paie l'amende et attends 2 tours gosub Avancer caption 101,"Vous devez payer l'amende !..." gosub Amende case 7 ' paie l'amende et attends qu'un autre entre sur la case et prends sa case depart gosub Avancer caption 101,"Vous devez payer l'amende !..." gosub Amende rec%=mn% caption 101,"Vous reculez de :"+str$(rec%)+" cases" gosub Reculer caption 101,"" case 8 ' paie l'amende et va au no 30 gosub Avancer caption 101,"Vous devez payer l'amende !..." gosub Amende caption 101,"Vous retournez à la case 30" rec%=12 gosub Reculer caption 101,"" case 9 ' idem 7 gosub Avancer caption 101,"Vous devez payer l'amende !..." gosub Amende rec%=mn% caption 101,"Vous reculez de :"+str$(rec%)+" cases" gosub Reculer caption 101,"" case 10 ' paie l'amende et retourne à la case départ gosub Avancer caption 101,"Pas de Chance, vous retournez à la case départ ! gosub Init_Partie caption 101,"" case 11 ' sup 63 Rec%=New_P%-63 New_P%=63 gosub Avancer caption 101,"Vôtre lancé donne plus de 63,"+chr$(13)+"vous de vez reculer de :"+str$(rec%)+" cases" gosub Reculer caption 101,"" goto Parcours case 12 gosub Avancer end_select
P%=New_P% if P%=63 then gosub Fin_Partie active 105 return ' ------------------------------------------------------------------------------ Avancer: if P%=0 then P%=1 for x%= P% to New_P% for y%=1 to 150 if x%>1 then sprite_x_position x%-1,sprite_x_position(x%-1)-1 sprite_x_position x%,sprite_x_position(x%)-1 wait 5 next y% next x% return ' ------------------------------------------------------------------------------ Reculer: if rec%>0 for x%=New_P% to (New_P%-rec%) for y%=1 to 150 sprite_x_position x%,sprite_x_position(x%)+1 sprite_x_position x%-1,sprite_x_position(x%-1)+1 next y% next x% end_if return ' ------------------------------------------------------------------------------ Amende: if A%=1 gosub puzzle else mn%=CP% gosub Reculer end_if return ' ------------------------------------------------------------------------------ Puzzle: return ' ------------------------------------------------------------------------------ Fin_Partie: inactive 105 active 13 sprite_show 64 message "Bravo ! Vous avez Gagné !" return ' ------------------------------------------------------------------------------ choix: if object_exists(200)=1 show 200 else Form 200:width 200,300:height 200,150:top 200,(screen_y-150)/2:left 200,(screen_x-300)/2 font_name 200,"Times new roman":font_size 200,10:caption 200,"Options" command_target_is 200 container_option 201:top 201,5:left 201,5:width 201,120 option 202:parent 202,201:top 202,20:left 202,5:caption 202,"Puzzle":on_click 202,Ss_choix cursor_point 202 option 203:parent 203,201:top 203,60:left 203,5:caption 203,"Cases":on_click 203,Ss_choix cursor_point 203 alpha 204: top 204,15:left 204,130:caption 204,"Nbre de cases de pénalité" spin 205 : top 205,40:left 205,130:width 205,60:min 205,0:max 205,10:inactive 205 button 206:top 206,83:left 206,200:caption 206,"Valider":on_click 206,Valid_choix cursor_point 206 end_if return ' ------------------------------------------------------------------------------ Ss_choix: if checked(202)=1 inactive 205 A%=1 end_if if checked(203)=1 active 205 A%=0 end_if return ' ------------------------------------------------------------------------------ Valid_choix: if active(205)=1 then CP%=val(text$(205)) if checked(202)=0 and checked(203)=0 message "Vous devez choisir un mode de pénalité" else hide 200 end_if return ' ------------------------------------------------------------------------------ Arret: if message_confirmation_yes_no("Etes vous sûr de vouloir arrêter ?")=1 sprite_show 64 gosub Init_Partie end_if return ' ------------------------------------------------------------------------------ APp: return ' ------------------------------------------------------------------------------ Aide: return ' ------------------------------------------------------------------------------ Quitter: Terminate
Dernière édition par ygeronimi le Sam 18 Aoû 2012 - 3:58, édité 3 fois (Raison : avancement du code) | |
|