Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 19 Aoû 2012 - 13:39 | |
| @ minibug l'affichage des vignettes est mon principal souci... normalement au départ elles sont toutes en (150,0) puis viennent s'afficher en (0,0) et s'en vont en (-150,0) çà c'est pour le marche avant et inversement pour la marche arrière. J'ai longtemps eu un problème pour la marche arrière, j'avais juste oublié un "step -1" dans ma boucle. Mais, là, je ne comprends pas que certaines restent en arrière plan et donc en (0,0) puisque chaque boucle traîte de l'image affichée et de son numéro soit suivant pour la marche avant soit précédent pour la marche arrière . Pour le blocage de départ, une barre d'avancement serait pas top , le temps qu'elle s'affiche et hop elle disparaîtrait, mais je vais voir çà. Tout de suite c'est l'affichage du jeu et de ses options en eux même qui me préoccupe le plus. @ Jicehel En effet, la boite de message est prévu pour la fonction "Arrêt" c'est une étourderie de ma part dans la fonction de fin. Pour le souci de transparence, je vais vite voir ton code car c'est un truc qui me casse les nouilles. D'essai en essai, çà m'énerve ce truc. Bon ben y 'a encore du boulot... Merci pour vôtre participation à tous les deux... | |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 19 Aoû 2012 - 15:50 | |
| J'ai changé le fond de mon scène2d et, là, surprise !!! je m'aperçois que j'ai des trous au début des lancés à partir du deuxième. Quelqu'un en voit il la raison ? Moi je n' y comprends plus rien... - Code:
-
dim x%,y%,M%,a$,A%,CP%,mn%,T%,P%,NP%,C% ,rec% dim Doss$,Doss_Img$,Doss_Lang$ dim def$(200),Sp$(64) dim Lang$,drapeau$ dim de%(2),de$(6),Ajout% ' ------------------------------------------------------------------------------ label Init,Init_Langue,Change_Langue,Drapeau,Init_Jeu label Menu,Init_Partie,Arret,Quitter,Penalite,Ss_Choix,Valid_Choix,Langue,APp,AIde label Lancer,Cas_1,Cas_2,Avancer,Reculer,Fin_Partie label Amende,Puzzle,fermer_200 ' ------------------------------------------------------------------------------ width 0,520:height 0,350:top 0,(screen_y-350)/2:left 0,(screen_x-520)/2 font_name 0,"Times new roman":font_size 0,10:caption 0,"Jeu de l'oie"
main_menu 1 for x%=2 to 10 :sub_menu x% :next x% for x%=2 to 5 :parent x%,1 :next x% for x%=6 to 8 :parent x%,2 :next x% for x%=9 to 10 :parent x%,3 :next x% for x%=4 to 10 :on_click x%,Menu :next x% scene2d 100:top 100,10:left 100,300:height 100,150:width 100,150 sprite_target_is 100
Alpha 101 :top 101,170:left 101,300
picture 102:width 102,45:height 102,45:top 102,180:left 102,50 picture 103:width 103,45:height 103,45:top 103,180:left 103,100
button 110 :hide 110:width 110,20:height 110,20:top 110,235:left 110,87 font_name 110,"Webdings":caption 110,"4":hint 110,"Lancer les dés":cursor_point 110 on_click 110,Lancer
dlist 111 gosub Init gosub Init_Langue gosub Init_Jeu end ' ------------------------------------------------------------------------------ Init: Doss$=dir_current$ Doss_Img$=Doss$+"\Img\" Doss_Lang$=Doss$+"\Langue\" file_load 100,Doss_Img$+"64.bmp" for x%=1 to 64 :Sp$(x%)=Doss_Img$+str$(x%)+".bmp":next x% sprite 64:sprite_file_load 64,Sp$(64) file_load 102,Doss_Img$+"dj0.bmp" file_load 103,Doss_Img$+"dj0.bmp" return ' ------------------------------------------------------------------------------ Init_Jeu: for x%=1 to 63 :Sprite x% :sprite_hide x% :sprite_file_load x%,Sp$(x%):next x% for x%=1 to 6 :de$(x%)=Doss_Img$+"dj"+str$(x%)+".jpg":next x% return ' ------------------------------------------------------------------------------ Init_Langue: clear 111 if Lang$="" file_load 111,Doss_Lang$+"French.txt" else file_load 111,Doss_Lang$+Lang$ end_if if count(111)>0 for x%=1 to count(111) :def$(x%)=item_read$(111,x%):next x% for x%=2 to 10 :caption x%,def$(x%-1):next x% end_if return ' ------------------------------------------------------------------------------ Menu: for x%=4 to 10 if clicked(x%)=1 then M%=x% next x% Select M% case 4 gosub APp case 5 gosub Aide case 6 gosub Init_Partie file_load 102,Doss_Img$+"dj6.jpg" file_load 103,Doss_Img$+"dj6.jpg" show 110 case 7 gosub Arret case 8 gosub Quitter case 9 gosub Penalite case 10 gosub Langue end_select return ' ------------------------------------------------------------------------------ Init_Partie: T%=0 P%=0 NP%=0 for x%=1 to 63 sprite_x_position x%,150 sprite_show x% next x% return ' ------------------------------------------------------------------------------ Arret: active 9 if message_confirmation_yes_no("Etes vous sûr de vouloir arrêter ?")=1 sprite_show 64 gosub Init_Partie hide 110 file_load 102,Doss_Img$+"dj0.bmp" file_load 103,Doss_Img$+"dj0.bmp" end_if return ' ------------------------------------------------------------------------------ Penalite: if object_exists(300)=1 show 300 else Form 300:width 300,300:height 300,150:top 300,(screen_y-150)/2:left 300,(screen_x-300)/2 font_name 300,"Times new roman":font_size 300,10:caption 300,"Options" command_target_is 300 container_option 301:top 301,5:left 301,5:width 301,120 option 302:parent 302,301:top 302,20:left 302,5:caption 302,"Puzzle":on_click 302,Ss_choix cursor_point 302 option 303:parent 303,301:top 303,60:left 303,5:caption 303,"Cases":on_click 303,Ss_choix cursor_point 303 alpha 304: top 304,15:left 304,130:caption 304,"Nbre de cases de pénalité" spin 305 : top 305,40:left 305,130:width 305,60:min 305,0:max 305,10:inactive 305 button 306:top 306,83:left 306,200:caption 306,"Valider":on_click 306,Valid_choix cursor_point 306 end_if return ' ------------------------------------------------------------------------------ Ss_Choix: if checked(302)=1 inactive 305 A%=1 end_if if checked(303)=1 active 305 A%=0 end_if return ' ------------------------------------------------------------------------------ Valid_Choix: if active(305)=1 then CP%=val(text$(305)) if checked(302)=0 and checked(303)=0 message "Vous devez choisir un mode de pénalité" else hide 300 end_if return ' ------------------------------------------------------------------------------ Amende: if A%=1 gosub puzzle else if CP%=0 then CP%=5 NP%=P%-CP% gosub Reculer end_if return ' ------------------------------------------------------------------------------ Puzzle: message "En cours d'écriture" return ' ------------------------------------------------------------------------------ Langue: if object_exists(200)=1 show 200 else form 200:width 200,250:height 200,200:top 200,(screen_y-200)/2:left 200,(screen_x-250)/2 font_name 200,"Times new roman":font_size 200,10 command_target_is 200 list 201:width 201,100:height 201,150:cursor_point 201 picture 202:top 202,40:left 202,105:height 202,80:width 202,120:stretch_on 202 on_click 201,Drapeau on_double_click 201,Change_Langue end_if caption 200,def$(9) dir_change Doss_Lang$ item_add 201,file_find_first$ a$=file_find_next$ while a$<>"_" item_add 201,a$ a$=file_find_next$ end_while file_find_close file_load 202,Doss_Img$+"Pays_def.bmp" on_close 200,fermer_200 return ' ------------------------------------------------------------------------------ Drapeau: drapeau$=Doss_Img$+left$(item_index$(201),len(item_index$(201))-4)+".bmp" if file_exists(drapeau$)=1 file_load 202,drapeau$ else file_load 202,Doss_Img$+"Pays_def.bmp" end_if return ' ------------------------------------------------------------------------------ Change_Langue: Lang$=item_index$(201) gosub Init_Langue clear 201 hide 200 return ' ------------------------------------------------------------------------------ Fermer_200: clear 201 hide 200 return ' ------------------------------------------------------------------------------ APp: message "En cours d'écriture" return ' ------------------------------------------------------------------------------ Aide: message "En cours d'écriture" return ' ------------------------------------------------------------------------------ Lancer: T%=T%+1 inactive 9 inactive 110 de%(1)=int(rnd(5))+1 de%(2)=int(rnd(5))+1 Ajout%=de%(1)+de%(2) for x%=1 to 6 file_load 102,de$(x%) file_load 103,de$(x%) wait 150 next x% file_load 102,de$(de%(1)) file_load 103,de$(de%(2)) sprite_hide 64 if T%=1 gosub Cas_1 else NP%=P%+Ajout% if NP%<63 gosub Avancer pause 1000 gosub Cas_2 else if NP%=63 gosub Avancer pause 1000 gosub Fin_Partie else rec%=NP%-63 NP%=63 gosub Avancer pause 1000 NP%=63-rec% gosub Reculer pause 1000 gosub cas_2 end_if end_if end_if return ' ------------------------------------------------------------------------------ Cas_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%=0 end_if end_if end_if
Select C% case 0 NP%=de%(1)+de%(2) gosub Avancer case 1 NP%=53 caption 101,"" gosub Avancer caption 101,"" case 2 NP%=26 caption 101,"" gosub Avancer caption 101,"" case 3 NP%=6 caption 101,"" gosub Avancer pause 1000 NP%=12 gosub Avancer caption 101,"" end_select active 110 return ' ------------------------------------------------------------------------------ Cas_2: if P%=19 C%=1 else if P%=31 C%=2 else if P%=42 C%=3 else if P%=52 C%=4 else if P%=58 C%=5 else if P%=9 or P%=18 or P%=27 or P%=36 or P%=45 or P%=54 C%=6 else C%=7 end_if end_if end_if end_if end_if end_if
Select C% case 1 caption 101,"" gosub Amende gosub Reculer caption 101,"" pause 1000 goto Cas_2 case 2 caption 101,"" gosub Amende gosub Reculer caption 101,"" pause 1000 goto Cas_2 case 3 caption 101,"" gosub Amende gosub Reculer caption 101,"" pause 1000 goto Cas_2 case 4 caption 101,"" gosub Amende NP%=30 gosub Reculer caption 101,"" pause 1000 goto Cas_2 case 5 caption 101,"" for x%=1 to 63 :sprite_x_position x%,150:next x% T%=0 P%=0 caption 101,"" case 6 caption 101,"" NP%=P%+Ajout% gosub Avancer pause 1000 goto Cas_2 case 7 active 110 End_Select active 110 return ' ------------------------------------------------------------------------------ Avancer: if P%<63 if P%=0 then P%=1 for x%= P% to NP% 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% P%=NP% end_if return ' ------------------------------------------------------------------------------ reculer: if P%>0 for x%= P% to NP% step -1 for y%=1 to 150 sprite_x_position x%,sprite_x_position(x%)+1 if x%-1>0 then sprite_x_position x%-1,sprite_x_position(x%-1)+1 wait 5 next y% next x% P%=NP% end_if return ' ------------------------------------------------------------------------------ Fin_Partie: active 9 gosub Arret message "Bravo ! Vous avez Gagné !" return ' ------------------------------------------------------------------------------ Quitter: terminate | |
|