Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Le ptit plus du jeu panoramic plane suite... | |
|
+4Jean Claude jjn4 papydall Fhoest 8 participants | |
Auteur | Message |
---|
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Mar 17 Avr 2018 - 8:15 | |
| Testé et approuvé Rien à déclarer, je circule... A+ | |
| | | Fhoest
Nombre de messages : 97 Age : 48 Localisation : Nord Date d'inscription : 04/01/2015
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Mar 17 Avr 2018 - 20:39 | |
| Bonsoir, j'ai ajouté une version 13 qui comporte un fichier Aide extension hlp (et oui ça fonctionne aussi,comme un fichier texte) mais le souci que je rencontre est le suivant ,je l'ai inséré sur une form 0, pour le début aucun souci sauf la couleur . si j'utilise la touche F1 comme tout programme qui se respecte, le souci est que le texte se remet à la suite de l'ancien qui n'est plus présent sur cette "form." je ne sais pas comment gérer le souci , car Cls fonctionne sur une scene2d et pas un formulaire dois je ouvrir un autre sujet ou la solution est toute prête ? (ps le code vient de l'aide de panoramic je l'ai simplement adapté à mon besoin) version 13 avec fichier aideMerci et à bientôt. | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Mar 17 Avr 2018 - 22:56 | |
| Bonjour à tous ! Bravo Fhoest : Tu progresses vite et bien ! - Fhoest a écrit:
- le souci est que le texte se remet à la suite de l'ancien
Tu peux insérer un PRINT_LOCATE 0,0 en ligne 108. Ainsi, tu recommenceras à écrire en haut à gauche du Form. Bonne continuation ! | |
| | | Fhoest
Nombre de messages : 97 Age : 48 Localisation : Nord Date d'inscription : 04/01/2015
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Mar 17 Avr 2018 - 23:01 | |
| Cool , merci marc. j'essai ça tout de suite. A bientôt ou bonne nuit. Edit: impeccable ça fonctionne à merveille. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Mer 18 Avr 2018 - 8:31 | |
| Bonjour je regarde ça dans la journée. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Mer 18 Avr 2018 - 18:21 | |
| Je viens de tester, L'aide, c'est pas le top. 1) Le délai d'attente ne correspond pas forcément à la vitesse de lecture de l'utilisateur. 2) Une fois que l'utilisateur connait les règles, il n'aura pas envie de revoir l'aide à chaque fois. 3) Si on ferme par la croix rouge, le programme ne répond plus. Je te propose plus simple, dans le code ci-dessous. - Code:
-
Rem ========================================================== ' Les Variables ' ************************************************************
' Variables de comptage ' Boucles dim i%,compteur%,j% dim a$
' Variables de statistiques du jeu ' Objet Ennemy destruction ok dim Kills%,resultatmission$ resultatmission$ = "ratée"
' Tir missile droit sans destructions dim TirDroitRate%
' Tir missile oblique sans destructions dim TirObliqueRate%
' Tir missile droit avec destructions dim TirDroitOk%
' Tir missile oblique avec destructions dim TirObliqueOk%
' Avion enemmi passé sans destruction dim AvionEnnemyOk%
' munition pour atteindre votre objectif dim Totalmissile% ,TotalTireMissile%
' variable increntation ou décrémentation de déplacememnt objet Plane dim x% ,y%
' Variable de position objets dim P_top%,P_left% ,M_top%,E_Top%,E_left%,M_left%
' variable de memoire appuie touche
' Variable position minimale left ennemy Dim PosMin%
' variable vitesse Dim p% p%=5 ' vitesse de déplacement du vaisseau "ami" DIM vit% , multiple_vit% ,multiple_p% vit%=5 multiple_vit%=1 multiple_p% = 1 ' ----------------------------------------------------------- Dim lettre$ ' Objectifs dim NBRAVION%
dim decoupeprogbarM% ,decoupeprogbarK% ' <<<<<<<<<<<<<<<<<<<< Fin de déclaration variables >>>>>>>>>>>>>>>>>>>>
REM définition des LABELS ' ====================================== LABEL Move,fin,animation,erreur,reprise,Quit
Rem ===================================================================== ' Appel de la routine d'initialisation du jeu
Aide() Init()
' Evènement appuie des touches de direction clavier du clavier ' Sont pris en compte flèche de droite,gauche,haut,bas et barre espace. ON_KEY_DOWN 0,move
end
Rem ===================================================================== ' *********************************************************************** ' Initialisation de la form ' *********************************************************************** ' *********************************************************************** ' Ordre des controles et fichiers
' Numéro 1-9 Alpha et Edit ' Numéro 10 - 20 Son ' Numéro 1 - xx Sprite = image ' Numéro 50 Scene2D ' Numéro 60 Timer ' Numéro 70 Boutons ' à modifier après vérification du code sur scene2D, ' afin de ne pas altérer le fonctionnement
Rem ===================================================================== Sub Aide() hide 0 a$=" Aide du jeu d'avion Panoramic Plane"+chr$(13)+chr$(13) a$=a$+" Utilisation des touches du clavier pour faire avancer l'avion ami:"+chr$(13)+chr$(13) a$=a$+"Flèche du haut = accélération des animations vitesse avion ami et ennemi"+chr$(13) a$=a$+"Flèche du bas = diminution de la vitesse."+chr$(13) a$=a$+"Flèche de droite = déplacement de l'avion ami vers la droite."+chr$(13) a$=a$+"Flèche de gauche = déplacement de l'avion ami vers la gauche."+chr$(13)
a$=a$+"Touche du clavier pour sortir du jeu = ''Esc'' ou ''Echap''"+chr$(13) a$=a$+"Touche du clavier pour faire une pause = P"+chr$(13) a$=a$+"Touche du clavier pour lancement missile de face = barre espace"+chr$(13) a$=a$+"Touche du clavier pour lancement des missiles en diagonale:"+chr$(13) a$=a$+"W vers la gauche et X vers la droite."+chr$(13)+chr$(13) a$=a$+" Deux boutons sont disponnibles :"+chr$(13) a$=a$+"A gauche de l'écran = Repise du jeu après une pause (touche P)"+chr$(13) a$=a$+"A droite de l'écran = Exit ( sortie du jeu )"+chr$(13)+chr$(13) a$=a$+" Deux barres de progression en bas de l'écran :"+chr$(13) a$=a$+"La barre de gauche = diminution des munitions restantes en temps réel."+chr$(13) a$=a$+"La barre de droite = augmentation de l'animation de la barre en fonction de l'objectif à atteindre. (Nombre d'avion à détruire)"+chr$(13) a$=a$+"Chaque partie est différentes il y a un nombre de munition et de cible générer aléatoirement."+chr$(13)+chr$(13) a$=a$+" Sortie du jeu en cas de souci majeur Alt + F4"+chr$(13) message a$ show 0 End_sub
' Appel de la routine intialisation
sub Init() ' ***********************************************************************
Rem ===================================================================== ' Appel de la routine des sons
Creation_des_sons() ' ***********************************************************************
Rem ===================================================================== ' mise en forme de la Form principale N=0
' Agrandir la forme au maximum' full_space 0
' empêcher le redimensionnement
border_hide 0
' sortie par la croix rouge on_close 0,Quit
' **********************************************************************
Rem ===================================================================== ' Mise en place d'un texte d'accueil et de gestion des points merci à Jean Claude
' ********************************************************************** Rem ===================================================================== ALPHA 1 :TOP 1 ,100 : LEFT 1,210 :font_size 1,25 font_bold 1:font_color 1,255,0,0 ' mettre en place cette liste ici pour avoir l'objectif < 0 ' Objectif de la mission while NBRAVION% < 15 NBRAVION%= rnd(25) end_while Totalmissile% = NBRAVION% + rnd(20)
' Tableau de valeur String dim monTexte$(3)
monTexte$(0)= "Bienvenue..." monTexte$(1)= "Panoramic Plane" monTexte$(2)= "Objectif de votre mission " + str$(NBRAVION%) + " à détruire" monTexte$(3)= "Munition disponnible pour cette mission = " + str$(Totalmissile%)
' ----------------------------------------------------------- ' Appel de la procedure accueil du jeu if message_confirmation_yes_no ("Passer l'intro ?")=2 then annonce_jeu()
' **********************************************************************
Rem ===================================================================== ' terminer le jeu en cas d'erreur
on_error_goto erreur
' **********************************************************************
Rem ===================================================================== ' Installation d'une scene 2 dimensions Scene2d -------------
Scene2d 50
' Dimension de la scene2D
Full_space 50 ' ***********************************************************************
Rem ===================================================================== ' Creation d'un timer pour utiliser le label animation timer 60 on_timer 60,animation timer_interval 60,50 ' **********************************************************************
Rem ===================================================================== ' Appel de la routine des sprites pour images Creation_des_sprites()
' **********************************************************************
Rem ===================================================================== ' creation d'un bouton de sortie du jeu
Button 70 top 70,(height(50)-40):left 70,(width (0) -150) caption 70, "Exit" on_click 70,fin
' **********************************************************************
Rem ===================================================================== ' creation d'un bouton de reprise du jeu Button 71 top 71,(height(50)-40):left 71,80 caption 71,"Reprise jeu" on_click 71,Reprise show 71
Rem ===================================================================== Progress_bar 61: ' Munition width 61,(((width(0)/2) - width(71))-80):height 61,25 top 61,(height(50)-40):left 61, left(71) +5 + width(71) Position 61,width (61) decoupeprogbarM% =((width(61)/position(61))*Totalmissile%)
Progress_bar 62: ' AvionAbattu width 62,width(61):height 62,25 top 62,(height(50)-40):left 62,(left(70)-width(62)-5) position 62, width (62) decoupeprogbarK% =((width(62)/position(62))*NBRAVION%) position 62,0
' **********************************************************************
End_sub
' °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° ' ---------------------------------------------------------------------- Rem ===================================================================== ' Creation d'un sub déplacement de l'avion ennemi sub deplacement_ennemi(valeur%)
if sprite_y_position(3)< height(50)
sprite_y_position 3, (sprite_y_position(3)+valeur%) sprite_y_position 9, sprite_y_position(3):E_top% = sprite_y_position(3)
else
sprite_y_position 3,10 :sprite_y_position 9,sprite_y_position(3) E_top%= sprite_y_position(3)
end_if
end_sub ' ----------------------------------------------------------------------
Rem ===================================================================== ' Creation d'un sub déplacement de l'avion ami
sub deplacement(valeur%)
if valeur% >0 and sprite_x_position (5)> (width(50)-130) then exit_sub if valeur% <0 and sprite_x_position (6)< 80 then exit_sub
x%=x%+valeur% :P_left% = sprite_x_position(5)
sprite_x_position 1,(250 +x%) :sprite_x_position 2,(250 +x%) sprite_x_position 5,(250 +x%) :sprite_x_position 6,(250 +x%) p_left%=250+x%
if scancode=0 sprite_hide 1:sprite_hide 5:sprite_hide 6 pause 1 sprite_show 2 end_if end_sub
Rem ===================================================================== ' Creation d'un annonce d'accueil pour le jeu Sub annonce_jeu()
compteur%=0
While compteur% < 4 pause 300 play 14 pause 300
for j%=1 to len(MonTexte$ (compteur%))
lettre$=left$(Montexte$(compteur%),j%)
TOP 1 ,300 : LEFT 1,( width (0)-( 350 + len(montexte$(compteur%)))) -(width (1)/2) -(j% * 10)
caption 1,lettre$
TOP 1 ,300 : LEFT 1,(width (0)-( 350 + len(montexte$(compteur%)))) -(width (1)/2) -(j% * 10) pause 150: display
next j% compteur% =compteur% +1
End_While
FOR i%=50 to 250 step 2 color 0,i%,i%,i% pause 30 NEXT i% ' Fin de boucle masquer le texte d'accueil HIDE 1 :Left 1,(width(0)-50)
end_sub
' °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° ' **********************************************************************
Rem ===================================================================== ' Creation d'une procedure pour les images.
Sub Creation_des_sprites()
' Mise en place d'un contrôle Sprite N=2 --- debut variable P_pour Plane ---
' Sprite avion d'attaque Sprite 1 Sprite_File_load 1,"img/Plane_down.bmp" Sprite_position 1,250,(height(50)-150) sprite_hide 1
' Sprite avion d'attaque Sprite 2 Sprite_File_load 2,"img/Plane_up.bmp" Sprite_position 2,250,(height(50)-150) ' Attribution des valeurs de position x et y du sprite 13 au valeurs objet sprite ancienne P pour picture' P_top% = Sprite_Y_position (2) : P_left% = sprite_X_position (2)
' Mise en place d'un contrôle sprite N=3 E_pour Ennemy Sprite 3 Sprite_File_load 3,"img/Ennemy.bmp" : ' E_top% pour booum !! Sprite_position 3,82,10 Sprite_y_position 3, 10 : Sprite_x_position 3,82 : E_top% = Sprite_y_position (3): E_left% = Sprite_x_position (3)
' Mise en place d'un contrôle sprite N=4 M_pour missile
Sprite 4 Sprite_File_load 4,"img/Fire_double.bmp" : ' M_top% pour Booum !! sprite_position 4,(p_left% +10),(p_top%-25) : m_left% = sprite_x_position (4) sprite_hide 4
' Sprite avion d'attaque Sprite 5 Sprite_File_load 5,"img/Plane_right.bmp" Sprite_position 5,250,(height(50)-150) Sprite_hide 5
' Sprite avion d'attaque Sprite 6 Sprite_File_load 6,"img/Plane_left.bmp" Sprite_position 6,250,(height(50)-150) Sprite_hide 6
' mise en place effet de vitesse N=7 et N= 8 Sprite 7 Sprite_File_load 7,"img/galaxie.bmp" : ' effet gauche
Sprite 8 Sprite_File_load 8,"img/galaxie.bmp" : ' effet droite sprite_x_position 8,(width(50) -70)
' ********************************************************************** ' Mise en place d'un contrôle sprite explosion 1 Sprite 9 Sprite_File_load 9,"img/Explosion_1.bmp" : ' E_top% pour booum !! sprite_position 9,82,10 sprite_hide 9
Sprite 10 Sprite_File_load 10,"img/Bullet_Diag2.bmp" Sprite_hide 10
Sprite 11 Sprite_File_load 11,"img/Bullet_Diag1.bmp" Sprite_hide 11 ' Mise en place d'un contrôle sprite explosion 1 Sprite 12 Sprite_File_load 12,"img/Explosion_2.bmp" Sprite_hide 12
' Mise en place d'un contrôle sprite explosion 2 Sprite 13 Sprite_File_load 13,"img/Explosion_3.bmp" Sprite_hide 13
' Mise en place d'un contrôle sprite explosion 3 Sprite 14 Sprite_File_load 14,"img/Explosion_4.bmp" Sprite_hide 14
' Mise en place d'un contrôle sprite explosion 4 Sprite 15 Sprite_File_load 15,"img/Explosion_5.bmp" Sprite_hide 15
' Mise en place d'un contrôle sprite explosion 5 Sprite 16 Sprite_File_load 16,"img/Explosion_6.bmp" Sprite_hide 16
' Mise en place d'un contrôle sprite explosion 6 Sprite 17 Sprite_File_load 17,"img/Explosion_7.bmp" Sprite_hide 17
' Mise en place d'un contrôle sprite explosion 7 Sprite 18 Sprite_File_load 18,"img/Explosion_8.bmp" Sprite_hide 18
' ********************************************************************** ' **********************************************************************
end_sub
' °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° ' ----------------------------------------------------------------------
Rem ============================================================================ ' ***************************************************************************** Sub Creation_des_sons()
' chargement du son explosion'
sound 10 ' chargement du son N=10 file_load 10,"son/Explosion.wav"
' chargement des sons du jeu'
sound 11 ' chargement du son N=11 lancement du missile double file_load 11,"son/Missile_launch.wav"
' ***********************************************************************
' *********************************************************************** ' chargement musique du jeu'
sound 12 ' chargement du son N=17 file_load 12,"son/Bullet Train.mp3" play 12
sound 13 file_load 13,"son/SFB-rocket.mp3"
sound 14 file_load 14,"son/lettre_ecran.mp3" end_sub
Rem ===================================================================== ' *********************************************************************** SUB explosion_animation()
timer_on 60 play 10
sprite_show 9: pause 10: sprite_hide 9 sprite_position 12,sprite_x_position (3) ,sprite_y_position (3) sprite_show 12: pause 10: sprite_hide 12 sprite_position 13,sprite_x_position (3) ,sprite_y_position (3) sprite_show 13: pause 10: sprite_hide 13 sprite_position 14,sprite_x_position (3) ,sprite_y_position (3) sprite_show 14: pause 10: sprite_hide 14 sprite_position 15 ,sprite_x_position (3),sprite_y_position (3) sprite_show 15: pause 10: sprite_hide 15 sprite_position 16 ,sprite_x_position (3),sprite_y_position (3) sprite_show 16: pause 10: sprite_hide 16 sprite_hide 3 sprite_position 17,sprite_x_position (3) ,sprite_y_position (3) sprite_show 17: pause 10: sprite_hide 17 sprite_show 3:pause 3 :sprite_hide 3 sprite_position 18,sprite_x_position (3) ,sprite_y_position (3) sprite_show 18: pause 10: sprite_hide 18 sprite_y_position 3,10:pause 10 PosMin%= rnd((Width(50) -100)):if PosMin%=<80 then PosMin%=81
sprite_x_position 3,PosMin%:sprite_x_position 9,sprite_x_position(3) E_left% = sprite_x_position(3):sprite_show 3:Kills%=Kills%+1
verification_statistiques()
position 62, (position(62) + width(62)/decoupeprogbarK% )
END_SUB
SUB verification_statistiques() if TotalTireMissile% => Totalmissile%
if kills% = nbravion% resultatmission$= "accomplie" gosub fin end_if
resultatmission$= "ratée, épuisement du stock de missiles" gosub fin
end_if
if kills% = nbravion% resultatmission$= "accomplie" gosub fin end_if
END_SUB
' °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° ' ----------------------------------------------------------------------
' <<<<<<<<<<<<<<<<<<<<<< FIN DES SUB >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>'
Rem ====================== Les Labels ==========================
Rem ============================================================================ ' **********************************************************************
Animation:
ON_KEY_DOWN 0,move deplacement_ennemi(p%)
' Vérification position avion dessus ennemi if sprite_y_position(2)< sprite_y_position (3)
PosMin%= rnd((Width(50) -100)):if PosMin%=<80 then PosMin%=81 sprite_x_position 3,PosMin%:sprite_x_position 9,sprite_x_position(3) sprite_y_position 3,0 E_left% = sprite_x_position(3):sprite_show 3 AvionEnnemyOk%=AvionEnnemyOk%+1
end_if
' vérification d'un crash avion_missile if sprite_y_position(2)=<(E_top% +60)
if E_left% < (P_left% +50) and E_left% >(P_left% -50) timer_off 60 sprite_hide 2:sprite_hide 3:sprite_show 9:play 10 message "Game over" goto fin
end_if
end_if
j% =j% + 1 ' bande d'effet de vitesse sprite_y_position 7,(sprite_y_position(7)-j%) sprite_y_position 8,(sprite_y_position (8)-j%)
if j%=100
j%=0 sprite_y_position 7,0 :sprite_y_position 8,0
end_if
return
Rem ============================================================================ ' **********************************************************************
Move:
select key_down_code
case 27 :' arrêt des boucles gosub fin
case 32 :' barre espace timer_off 60 TotalTireMissile% = TotalTireMissile% +1 verification_statistiques() position 61, (position(61) - width(61)/decoupeprogbarM% ) :display
play 11
sprite_Show 2:sprite_hide 5:sprite_hide 6 :sprite_hide 1 sprite_y_position 4,(P_top%-25) :sprite_x_position 4,(P_left% +10) M_top% = sprite_y_position(4) sprite_show 4
while M_top% > E_top% OFF_KEY_DOWN 0 M_top% = M_top% -30 :sprite_y_position 4,M_top% :M_left% = sprite_x_position(4) pause 1 :display OFF_KEY_DOWN 0 end_while
sprite_hide 4
if M_left% < (E_left% +30) and M_left% >(E_left% -30)
TirDroitOk% =TirDroitOk% +1 explosion_animation() : RETURN
else TirDroitRate% =TirDroitRate% +1 end_if
timer_on 60
case 37 : ' gauche
' appel du sub deplacement(valeur%) vit%=(-5)*multiple_vit% sprite_show 6:sprite_hide 1:sprite_hide 2:sprite_hide 5 deplacement(vit%):display:return
case 38 :' haut
p%=multiple_p% sprite_Show 2:sprite_hide 5:sprite_hide 6 :sprite_hide 1 if multiple_vit%=<8 then multiple_vit%=multiple_vit% +1 if multiple_p%=<8 then multiple_p%= multiple_p% +3
case 39 : ' droite
vit%=5*(multiple_vit%) sprite_show 5:sprite_hide 1:sprite_hide 2:sprite_hide 6 deplacement(vit%):display:return
case 40:' bas
p%=(multiple_p%) sprite_show 1:sprite_hide 2:sprite_hide 5 :sprite_hide 6 if multiple_vit%=>2 then multiple_vit%=multiple_vit% -1 if multiple_p%=>2 then multiple_p%= multiple_p% -1
case 80: ' Pause téléphone pour commande cuisine de JC
timer_off 60 off_key_down 0
' deplacement(p%):display:return
case 87 : ' code de la touche W mettre un autre missile et un autre son
timer_off 60 TotalTireMissile% =TotalTireMissile%+1 verification_statistiques() position 61, (position(61) - width(61)/decoupeprogbarM% ) :display play 13
sprite_Show 2:sprite_hide 5:sprite_hide 6 :sprite_hide 1 sprite_y_position 10,(P_top%-25) :sprite_x_position 10,(P_left% +10) M_top% = sprite_y_position(10) sprite_show 10
while M_top% > E_top% OFF_KEY_DOWN 0 M_top% = M_top% -20 :sprite_y_position 10,M_top% :M_left% = sprite_x_position(10) sprite_x_position 10,sprite_x_position(10)-20
OFF_KEY_DOWN 0 end_while
sprite_hide 10
if M_left% < (E_left% +50) and M_left% >(E_left% -50)
TirObliqueOk% =TirObliqueOk% +1 explosion_animation() :RETURN
else TirObliqueRate% =TirObliqueRate% +1 end_if
timer_on 60
case 88:' code de la touche X mettre un autre missile et un autre son
timer_off 60 TotalTireMissile%=TotalTireMissile%+1 verification_statistiques() position 61, (position(61) - width(61)/decoupeprogbarM% ) :display play 13
sprite_Show 2:sprite_hide 5:sprite_hide 6 :sprite_hide 1 sprite_y_position 11,(P_top%-25) :sprite_x_position 11,(P_left% +10) M_top% = sprite_y_position(11)
sprite_show 11
while M_top% > E_top% OFF_KEY_DOWN 0 M_top% = M_top% -20 :sprite_y_position 11,M_top% :M_left% = sprite_x_position(11) sprite_x_position 11,sprite_x_position(11)+20
OFF_KEY_DOWN 0 end_while
sprite_hide 11
if M_left% < (E_left% +50) and M_left% >(E_left% -50)
TirObliqueOk% =TirObliqueOk% +1 explosion_animation() : RETURN
else TirObliqueRate% =TirObliqueRate% +1 end_if timer_on 60 case 112 hide 70 : hide 71:hide 61 timer_off 60 off_key_down 0 hide 50 Aide() full_space 0:show 50 show 70 : show 71:show 61 end_select
sprite_Show 2:sprite_hide 5:sprite_hide 6 :sprite_hide 1:pause 10 ' Mise en place de l'avion à la position demandée
Return Rem =====================================================================
erreur: error_french message "Erreur à la ligne "+str$(error_line)+" "+error_type$ Return
Rem ============================================================================ ' *************************Cuisine JC commandée **********************************
reprise: set_focus 0 on_key_down 0,move timer_on 60 Return
Rem =====================================================================
Rem ============================================================================ ' ***********************************************************************
fin:
hide 70 : hide 71:hide 61:hide 62 timer_off 60 hide 50 if message_confirmation_yes_no ("Afficher les statistiques de la partie ?")=1 caption 1 ,"": show 1
FOR i%=50 to 250 step 2 color 0,i%,i%,i% pause 30 NEXT i%
' Résultat du jeu monTexte$(0)= "Mission " + resultatmission$ monTexte$(1)= " Tir de missile de face avec destruction = " + Str$(TirDroitOk%) + " Contre " + Str$(TirDroitRate%) + " sans destruction..." monTexte$(2)= " Tir de missile en diagonale avec destruction = " + Str$(TirObliqueOk%) + " Contre " + Str$(TirObliqueRate%) + " sans destruction..." monTexte$(3)=" Nombre d'avion ennemi détruit = " + Str$(Kills%)+ " Contre " + str$(AvionEnnemyOk%)+ " passé sans être détruit..."
compteur%=0
While compteur% < 4
play 14 pause 150 for j%=1 to len(MonTexte$ (compteur%))
lettre$=left$(Montexte$(compteur%),j%)
TOP 1 ,250 : LEFT 1,(width (0)-( 150 + len(montexte$(compteur%)))) -(width (1)/2) -(j% * 10)
caption 1,lettre$
TOP 1 ,250 : LEFT 1,(width (0)-( 150 + len(montexte$(compteur%)))) -(width (1)/2) -(j% * 10) pause 200: display
next j% compteur% =compteur% +1
End_While
end_if message "Merci d'avoir pris le temps de jouer"
terminate
return
Quit: terminate return
Rem ============================================================================ ' <<<<<<<<<<<<<<<<<<<<<< FIN DES LABELS >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' Bon courage. A+ | |
| | | Fhoest
Nombre de messages : 97 Age : 48 Localisation : Nord Date d'inscription : 04/01/2015
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Mer 18 Avr 2018 - 20:55 | |
| Bonjour, ah que l'expérience panoramic parle... C'est en effet plus propre que la version que j'avais proposé (code ajouté dans le code source) merci. je retourne réfléchir pour une suite dans le programme. A+ | |
| | | Fhoest
Nombre de messages : 97 Age : 48 Localisation : Nord Date d'inscription : 04/01/2015
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Mer 18 Avr 2018 - 21:54 | |
| Rebonjour ou bonsoir, version n°16 dont voici le code: - Code:
-
' sujet qui traite le suivi du jeu: ' http://panoramic.1fr1.net/t5725p75-le-ptit-plus-du-jeu-panoramic-plane-suite#70197 ' pour la colorisation des progress_bar. ' http://panoramic.1fr1.net/t5768-couleur-progress_bar#70162 Rem ========================================================== ' Les Variables ' ************************************************************
' Variables de comptage ' Boucles dim i%,compteur%,j% dim a$
' Variables de statistiques du jeu ' Objet Ennemy destruction ok dim Kills%,resultatmission$ resultatmission$ = "ratée"
' Tir missile droit sans destructions dim TirDroitRate%
' Tir missile oblique sans destructions dim TirObliqueRate%
' Tir missile droit avec destructions dim TirDroitOk%
' Tir missile oblique avec destructions dim TirObliqueOk%
' Avion enemmi passé sans destruction dim AvionEnnemyOk%
' munition pour atteindre votre objectif dim Totalmissile% ,TotalTireMissile%
' variable increntation ou décrémentation de déplacememnt objet Plane dim x% ,y%
' Variable de position objets dim P_top%,P_left% ,M_top%,E_Top%,E_left%,M_left%
' variable de memoire appuie touche
' Variable position minimale left ennemy Dim PosMin%
' variable vitesse Dim p% p%=5 ' vitesse de déplacement du vaisseau "ami" DIM vit% , multiple_vit% ,multiple_p% vit%=5 multiple_vit%=1 multiple_p% = 1 ' ----------------------------------------------------------- Dim lettre$ ' Objectifs dim NBRAVION%
dim decoupeprogbarM% ,decoupeprogbarK% ' <<<<<<<<<<<<<<<<<<<< Fin de déclaration variables >>>>>>>>>>>>>>>>>>>>
REM définition des LABELS ' ====================================== LABEL Move,fin,animation,erreur,reprise,Quit
Rem ===================================================================== ' Appel de la routine d'initialisation du jeu
Aide() Init()
' Evènement appuie des touches de direction clavier du clavier ' Sont pris en compte flèche de droite,gauche,haut,bas et barre espace. ON_KEY_DOWN 0,move
end
Rem ===================================================================== ' *********************************************************************** ' Initialisation de la form ' *********************************************************************** ' *********************************************************************** ' Ordre des controles et fichiers
' Numéro 1-9 Alpha et Edit ' Numéro 10 - 20 Son ' Numéro 1 - xx Sprite = image ' Numéro 50 Scene2D ' Numéro 60 Timer ' Numéro 70 Boutons ' à modifier après vérification du code sur scene2D, ' afin de ne pas altérer le fonctionnement
Rem ===================================================================== ' code de silverman ' http://panoramic.1fr1.net/t4977-couleur-d-un-progress_bar sub COLOR_PROGRESS_BAR(nb%,r%,g%,b%) dim_local i,j,k%,my_library$,my_dll$,found% ' verifie si "user32" existe: my_dll$="user32" ' i=0 k%=0 found%=0 my_dll$=lower$(my_dll$) j=instr(my_dll$,".") : if j>0 then my_dll$=left$(my_dll$,j-1) ' repeat k%=k%+1 until library$(k%)="_"
repeat i=i+1 my_library$=lower$(library$(i)) j=instr(my_library$,".") : if j>0 then my_library$=left$(my_library$,j-1) ' if my_library$=my_dll$ found%=1 exit_repeat end_if until i=32 ' ' charge la librairie et cré la commande si nécessaire if found%=0 library k%,my_dll$ ' print k%," : not found ",library$(k%) :' debug command "pb_color","SendMessageA",k%,"IIII","stdcall" else ' print i," : found ",library$(i) :' debug end_if ' ' colore la progress_bar pb_color handle(nb%),1033,0,(b%*65536)+(g%*256)+r% end_sub
Sub Aide():' code aide fourni par JC (merci pour son aide) hide 0 a$=" Aide du jeu d'avion Panoramic Plane"+chr$(13)+chr$(13) a$=a$+" Utilisation des touches du clavier pour faire avancer l'avion ami:"+chr$(13)+chr$(13) a$=a$+"Flèche du haut = accélération des animations vitesse avion ami et ennemi"+chr$(13) a$=a$+"Flèche du bas = diminution de la vitesse."+chr$(13) a$=a$+"Flèche de droite = déplacement de l'avion ami vers la droite."+chr$(13) a$=a$+"Flèche de gauche = déplacement de l'avion ami vers la gauche."+chr$(13)
a$=a$+"Touche du clavier pour sortir du jeu = ''Esc'' ou ''Echap''"+chr$(13) a$=a$+"Touche du clavier pour faire une pause = P"+chr$(13) a$=a$+"Touche du clavier pour lancement missile de face = barre espace"+chr$(13) a$=a$+"Touche du clavier pour lancement des missiles en diagonale:"+chr$(13) a$=a$+"W vers la gauche et X vers la droite."+chr$(13)+chr$(13) a$=a$+" Deux boutons sont disponnibles :"+chr$(13) a$=a$+"A gauche de l'écran = Repise du jeu après une pause (touche P)"+chr$(13) a$=a$+"A droite de l'écran = Exit ( sortie du jeu )"+chr$(13)+chr$(13) a$=a$+" Deux barres de progression en bas de l'écran :"+chr$(13) a$=a$+"La barre de gauche = diminution des munitions restantes en temps réel."+chr$(13) a$=a$+"La barre de droite = augmentation de l'animation de la barre en fonction de l'objectif à atteindre. (Nombre d'avion à détruire)"+chr$(13) a$=a$+"Chaque partie est différentes il y a un nombre de munition et de cible générer aléatoirement."+chr$(13)+chr$(13) a$=a$+" Sortie du jeu en cas de souci majeur Alt + F4"+chr$(13) message a$ show 0 End_sub
' Appel de la routine intialisation
sub Init() ' ***********************************************************************
Rem ===================================================================== ' Appel de la routine des sons
Creation_des_sons() ' ***********************************************************************
Rem ===================================================================== ' mise en forme de la Form principale N=0
' Agrandir la forme au maximum' full_space 0
' empêcher le redimensionnement
border_hide 0
' sortie par la croix rouge on_close 0,Quit
' **********************************************************************
Rem ===================================================================== ' Mise en place d'un texte d'accueil et de gestion des points merci à Jean Claude
' ********************************************************************** Rem ===================================================================== ALPHA 1 :TOP 1 ,100 : LEFT 1,210 :font_size 1,25 font_bold 1:font_color 1,255,0,0 ' mettre en place cette liste ici pour avoir l'objectif < 0 ' Objectif de la mission while NBRAVION% < 15 NBRAVION%= rnd(25) end_while Totalmissile% = NBRAVION% + rnd(20)
' Tableau de valeur String dim monTexte$(3)
monTexte$(0)= "Bienvenue..." monTexte$(1)= "Panoramic Plane" monTexte$(2)= "Objectif de votre mission " + str$(NBRAVION%) + " à détruire" monTexte$(3)= "Munition disponnible pour cette mission = " + str$(Totalmissile%)
' ----------------------------------------------------------- ' Appel de la procedure accueil du jeu if message_confirmation_yes_no ("Passer l'intro ?")=2 then annonce_jeu()
' **********************************************************************
Rem ===================================================================== ' terminer le jeu en cas d'erreur
on_error_goto erreur
' **********************************************************************
Rem ===================================================================== ' Installation d'une scene 2 dimensions Scene2d -------------
Scene2d 50
' Dimension de la scene2D
Full_space 50 ' ***********************************************************************
Rem ===================================================================== ' Creation d'un timer pour utiliser le label animation timer 60 on_timer 60,animation timer_interval 60,50 ' **********************************************************************
Rem ===================================================================== ' Appel de la routine des sprites pour images Creation_des_sprites()
' **********************************************************************
Rem ===================================================================== ' creation d'un bouton de sortie du jeu
Button 70 top 70,(height(50)-40):left 70,(width (0) -150) caption 70, "Exit" on_click 70,fin
' **********************************************************************
Rem ===================================================================== ' creation d'un bouton de reprise du jeu Button 71 top 71,(height(50)-40):left 71,80 caption 71,"Reprise jeu" on_click 71,Reprise show 71
Rem ===================================================================== Progress_bar 61: ' Munition width 61,(((width(0)/2) - width(71))-80):height 61,25 top 61,(height(50)-40):left 61, left(71) +5 + width(71) Position 61,width (61) decoupeprogbarM% =((width(61)/position(61))*Totalmissile%) color_progress_bar(61,255,0,255)
Progress_bar 62: ' AvionAbattu width 62,width(61):height 62,25 top 62,(height(50)-40):left 62,(left(70)-width(62)-5) position 62, width (62) decoupeprogbarK% =((width(62)/position(62))*NBRAVION%) position 62,0 color_progress_bar(62,255,0,0)
' **********************************************************************
End_sub
' °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° ' ---------------------------------------------------------------------- Rem ===================================================================== ' Creation d'un sub déplacement de l'avion ennemi sub deplacement_ennemi(valeur%)
if sprite_y_position(3)< height(50)
sprite_y_position 3, (sprite_y_position(3)+valeur%) sprite_y_position 9, sprite_y_position(3):E_top% = sprite_y_position(3)
else
sprite_y_position 3,10 :sprite_y_position 9,sprite_y_position(3) E_top%= sprite_y_position(3)
end_if
end_sub ' ----------------------------------------------------------------------
Rem ===================================================================== ' Creation d'un sub déplacement de l'avion ami
sub deplacement(valeur%)
if valeur% >0 and sprite_x_position (5)> (width(50)-130) then exit_sub if valeur% <0 and sprite_x_position (6)< 80 then exit_sub
x%=x%+valeur% :P_left% = sprite_x_position(5)
sprite_x_position 1,(250 +x%) :sprite_x_position 2,(250 +x%) sprite_x_position 5,(250 +x%) :sprite_x_position 6,(250 +x%) p_left%=250+x%
if scancode=0 sprite_hide 1:sprite_hide 5:sprite_hide 6 pause 1 sprite_show 2 end_if end_sub
Rem ===================================================================== ' Creation d'un annonce d'accueil pour le jeu Sub annonce_jeu()
compteur%=0
While compteur% < 4 pause 300 play 14 pause 300
for j%=1 to len(MonTexte$ (compteur%))
lettre$=left$(Montexte$(compteur%),j%)
TOP 1 ,300 : LEFT 1,( width (0)-( 350 + len(montexte$(compteur%)))) -(width (1)/2) -(j% * 10)
caption 1,lettre$
TOP 1 ,300 : LEFT 1,(width (0)-( 350 + len(montexte$(compteur%)))) -(width (1)/2) -(j% * 10) pause 150: display
next j% compteur% =compteur% +1
End_While
FOR i%=50 to 250 step 2 color 0,i%,i%,i% pause 30 NEXT i% ' Fin de boucle masquer le texte d'accueil HIDE 1 :Left 1,(width(0)-50)
end_sub
' °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° ' **********************************************************************
Rem ===================================================================== ' Creation d'une procedure pour les images.
Sub Creation_des_sprites()
' Mise en place d'un contrôle Sprite N=2 --- debut variable P_pour Plane ---
' Sprite avion d'attaque Sprite 1 Sprite_File_load 1,"img/Plane_down.bmp" Sprite_position 1,250,(height(50)-150) sprite_hide 1
' Sprite avion d'attaque Sprite 2 Sprite_File_load 2,"img/Plane_up.bmp" Sprite_position 2,250,(height(50)-150) ' Attribution des valeurs de position x et y du sprite 13 au valeurs objet sprite ancienne P pour picture' P_top% = Sprite_Y_position (2) : P_left% = sprite_X_position (2)
' Mise en place d'un contrôle sprite N=3 E_pour Ennemy Sprite 3 Sprite_File_load 3,"img/Ennemy.bmp" : ' E_top% pour booum !! Sprite_position 3,82,10 Sprite_y_position 3, 10 : Sprite_x_position 3,82 : E_top% = Sprite_y_position (3): E_left% = Sprite_x_position (3)
' Mise en place d'un contrôle sprite N=4 M_pour missile
Sprite 4 Sprite_File_load 4,"img/Fire_double.bmp" : ' M_top% pour Booum !! sprite_position 4,(p_left% +10),(p_top%-25) : m_left% = sprite_x_position (4) sprite_hide 4
' Sprite avion d'attaque Sprite 5 Sprite_File_load 5,"img/Plane_right.bmp" Sprite_position 5,250,(height(50)-150) Sprite_hide 5
' Sprite avion d'attaque Sprite 6 Sprite_File_load 6,"img/Plane_left.bmp" Sprite_position 6,250,(height(50)-150) Sprite_hide 6
' mise en place effet de vitesse N=7 et N= 8 Sprite 7 Sprite_File_load 7,"img/galaxie.bmp" : ' effet gauche
Sprite 8 Sprite_File_load 8,"img/galaxie.bmp" : ' effet droite sprite_x_position 8,(width(50) -70)
' ********************************************************************** ' Mise en place d'un contrôle sprite explosion 1 Sprite 9 Sprite_File_load 9,"img/Explosion_1.bmp" : ' E_top% pour booum !! sprite_position 9,82,10 sprite_hide 9
Sprite 10 Sprite_File_load 10,"img/Bullet_Diag2.bmp" Sprite_hide 10
Sprite 11 Sprite_File_load 11,"img/Bullet_Diag1.bmp" Sprite_hide 11 ' Mise en place d'un contrôle sprite explosion 1 Sprite 12 Sprite_File_load 12,"img/Explosion_2.bmp" Sprite_hide 12
' Mise en place d'un contrôle sprite explosion 2 Sprite 13 Sprite_File_load 13,"img/Explosion_3.bmp" Sprite_hide 13
' Mise en place d'un contrôle sprite explosion 3 Sprite 14 Sprite_File_load 14,"img/Explosion_4.bmp" Sprite_hide 14
' Mise en place d'un contrôle sprite explosion 4 Sprite 15 Sprite_File_load 15,"img/Explosion_5.bmp" Sprite_hide 15
' Mise en place d'un contrôle sprite explosion 5 Sprite 16 Sprite_File_load 16,"img/Explosion_6.bmp" Sprite_hide 16
' Mise en place d'un contrôle sprite explosion 6 Sprite 17 Sprite_File_load 17,"img/Explosion_7.bmp" Sprite_hide 17
' Mise en place d'un contrôle sprite explosion 7 Sprite 18 Sprite_File_load 18,"img/Explosion_8.bmp" Sprite_hide 18
' ********************************************************************** ' **********************************************************************
end_sub
' °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° ' ----------------------------------------------------------------------
Rem ============================================================================ ' ***************************************************************************** Sub Creation_des_sons()
' chargement du son explosion'
sound 10 ' chargement du son N=10 file_load 10,"son/Explosion.wav"
' chargement des sons du jeu'
sound 11 ' chargement du son N=11 lancement du missile double file_load 11,"son/Missile_launch.wav"
' ***********************************************************************
' *********************************************************************** ' chargement musique du jeu'
sound 12 ' chargement du son N=17 file_load 12,"son/Bullet Train.mp3" play 12
sound 13 file_load 13,"son/SFB-rocket.mp3"
sound 14 file_load 14,"son/lettre_ecran.mp3" end_sub
Rem ===================================================================== ' *********************************************************************** SUB explosion_animation()
timer_on 60 play 10
sprite_show 9: pause 10: sprite_hide 9 sprite_position 12,sprite_x_position (3) ,sprite_y_position (3) sprite_show 12: pause 10: sprite_hide 12 sprite_position 13,sprite_x_position (3) ,sprite_y_position (3) sprite_show 13: pause 10: sprite_hide 13 sprite_position 14,sprite_x_position (3) ,sprite_y_position (3) sprite_show 14: pause 10: sprite_hide 14 sprite_position 15 ,sprite_x_position (3),sprite_y_position (3) sprite_show 15: pause 10: sprite_hide 15 sprite_position 16 ,sprite_x_position (3),sprite_y_position (3) sprite_show 16: pause 10: sprite_hide 16 sprite_hide 3 sprite_position 17,sprite_x_position (3) ,sprite_y_position (3) sprite_show 17: pause 10: sprite_hide 17 sprite_show 3:pause 3 :sprite_hide 3 sprite_position 18,sprite_x_position (3) ,sprite_y_position (3) sprite_show 18: pause 10: sprite_hide 18 sprite_y_position 3,10:pause 10 PosMin%= rnd((Width(50) -100)):if PosMin%=<80 then PosMin%=81
sprite_x_position 3,PosMin%:sprite_x_position 9,sprite_x_position(3) E_left% = sprite_x_position(3):sprite_show 3:Kills%=Kills%+1
verification_statistiques()
position 62, (position(62) + width(62)/decoupeprogbarK% )
END_SUB
SUB verification_statistiques() if TotalTireMissile% => Totalmissile%
if kills% = nbravion% resultatmission$= "accomplie" gosub fin end_if
resultatmission$= "ratée, épuisement du stock de missiles" gosub fin
end_if
if kills% = nbravion% resultatmission$= "accomplie" gosub fin end_if
END_SUB
' °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° ' ----------------------------------------------------------------------
' <<<<<<<<<<<<<<<<<<<<<< FIN DES SUB >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>'
Rem ====================== Les Labels ==========================
Rem ============================================================================ ' **********************************************************************
Animation:
ON_KEY_DOWN 0,move deplacement_ennemi(p%)
' Vérification position avion dessus ennemi if sprite_y_position(2)< sprite_y_position (3)
PosMin%= rnd((Width(50) -100)):if PosMin%=<80 then PosMin%=81 sprite_x_position 3,PosMin%:sprite_x_position 9,sprite_x_position(3) sprite_y_position 3,0 E_left% = sprite_x_position(3):sprite_show 3 AvionEnnemyOk%=AvionEnnemyOk%+1
end_if
' vérification d'un crash avion_missile if sprite_y_position(2)=<(E_top% +60)
if E_left% < (P_left% +50) and E_left% >(P_left% -50) timer_off 60 sprite_hide 2:sprite_hide 3:sprite_show 9:play 10 message "Game over" goto fin
end_if
end_if
j% =j% + 1 ' bande d'effet de vitesse sprite_y_position 7,(sprite_y_position(7)-j%) sprite_y_position 8,(sprite_y_position (8)-j%)
if j%=100
j%=0 sprite_y_position 7,0 :sprite_y_position 8,0
end_if
return
Rem ============================================================================ ' **********************************************************************
Move:
select key_down_code
case 27 :' arrêt des boucles gosub fin
case 32 :' barre espace timer_off 60 TotalTireMissile% = TotalTireMissile% +1 verification_statistiques() position 61, (position(61) - width(61)/decoupeprogbarM% ) :display
play 11
sprite_Show 2:sprite_hide 5:sprite_hide 6 :sprite_hide 1 sprite_y_position 4,(P_top%-25) :sprite_x_position 4,(P_left% +10) M_top% = sprite_y_position(4) sprite_show 4
while M_top% > E_top% OFF_KEY_DOWN 0 M_top% = M_top% -30 :sprite_y_position 4,M_top% :M_left% = sprite_x_position(4) pause 1 :display OFF_KEY_DOWN 0 end_while
sprite_hide 4
if M_left% < (E_left% +30) and M_left% >(E_left% -30)
TirDroitOk% =TirDroitOk% +1 explosion_animation() : RETURN
else TirDroitRate% =TirDroitRate% +1 end_if
timer_on 60
case 37 : ' gauche
' appel du sub deplacement(valeur%) vit%=(-5)*multiple_vit% sprite_show 6:sprite_hide 1:sprite_hide 2:sprite_hide 5 deplacement(vit%):display:return
case 38 :' haut
p%=multiple_p% sprite_Show 2:sprite_hide 5:sprite_hide 6 :sprite_hide 1 if multiple_vit%=<8 then multiple_vit%=multiple_vit% +1 if multiple_p%=<8 then multiple_p%= multiple_p% +3
case 39 : ' droite
vit%=5*(multiple_vit%) sprite_show 5:sprite_hide 1:sprite_hide 2:sprite_hide 6 deplacement(vit%):display:return
case 40:' bas
p%=(multiple_p%) sprite_show 1:sprite_hide 2:sprite_hide 5 :sprite_hide 6 if multiple_vit%=>2 then multiple_vit%=multiple_vit% -1 if multiple_p%=>2 then multiple_p%= multiple_p% -1
case 80: ' Pause téléphone pour commande cuisine de JC
timer_off 60 off_key_down 0
' deplacement(p%):display:return
case 87 : ' code de la touche W mettre un autre missile et un autre son
timer_off 60 TotalTireMissile% =TotalTireMissile%+1 verification_statistiques() position 61, (position(61) - width(61)/decoupeprogbarM% ) :display play 13
sprite_Show 2:sprite_hide 5:sprite_hide 6 :sprite_hide 1 sprite_y_position 10,(P_top%-25) :sprite_x_position 10,(P_left% +10) M_top% = sprite_y_position(10) sprite_show 10
while M_top% > E_top% OFF_KEY_DOWN 0 M_top% = M_top% -20 :sprite_y_position 10,M_top% :M_left% = sprite_x_position(10) sprite_x_position 10,sprite_x_position(10)-20
OFF_KEY_DOWN 0 end_while
sprite_hide 10
if M_left% < (E_left% +50) and M_left% >(E_left% -50)
TirObliqueOk% =TirObliqueOk% +1 explosion_animation() :RETURN
else TirObliqueRate% =TirObliqueRate% +1 end_if
timer_on 60
case 88:' code de la touche X mettre un autre missile et un autre son
timer_off 60 TotalTireMissile%=TotalTireMissile%+1 verification_statistiques() position 61, (position(61) - width(61)/decoupeprogbarM% ) :display play 13
sprite_Show 2:sprite_hide 5:sprite_hide 6 :sprite_hide 1 sprite_y_position 11,(P_top%-25) :sprite_x_position 11,(P_left% +10) M_top% = sprite_y_position(11)
sprite_show 11
while M_top% > E_top% OFF_KEY_DOWN 0 M_top% = M_top% -20 :sprite_y_position 11,M_top% :M_left% = sprite_x_position(11) sprite_x_position 11,sprite_x_position(11)+20
OFF_KEY_DOWN 0 end_while
sprite_hide 11
if M_left% < (E_left% +50) and M_left% >(E_left% -50)
TirObliqueOk% =TirObliqueOk% +1 explosion_animation() : RETURN
else TirObliqueRate% =TirObliqueRate% +1 end_if timer_on 60 case 112 hide 70 : hide 71:hide 61 timer_off 60 off_key_down 0 hide 50 Aide() full_space 0:show 50 show 70 : show 71:show 61 end_select
sprite_Show 2:sprite_hide 5:sprite_hide 6 :sprite_hide 1:pause 10 ' Mise en place de l'avion à la position demandée
Return Rem =====================================================================
erreur: error_french message "Erreur à la ligne "+str$(error_line)+" "+error_type$ Return
Rem ============================================================================ ' *************************Cuisine JC commandée **********************************
reprise: set_focus 0 on_key_down 0,move timer_on 60 Return
Rem =====================================================================
Rem ============================================================================ ' ***********************************************************************
fin:
hide 70 : hide 71:hide 61:hide 62 timer_off 60 hide 50 if message_confirmation_yes_no ("Afficher les statistiques de la partie ?")=1 caption 1 ,"": show 1
FOR i%=50 to 250 step 2 color 0,i%,i%,i% pause 30 NEXT i%
' Résultat du jeu monTexte$(0)= "Mission " + resultatmission$ monTexte$(1)= " Tir de missile de face avec destruction = " + Str$(TirDroitOk%) + " Contre " + Str$(TirDroitRate%) + " sans destruction..." monTexte$(2)= " Tir de missile en diagonale avec destruction = " + Str$(TirObliqueOk%) + " Contre " + Str$(TirObliqueRate%) + " sans destruction..." monTexte$(3)=" Nombre d'avion ennemi détruit = " + Str$(Kills%)+ " Contre " + str$(AvionEnnemyOk%)+ " passé sans être détruit..."
compteur%=0
While compteur% < 4
play 14 pause 150 for j%=1 to len(MonTexte$ (compteur%))
lettre$=left$(Montexte$(compteur%),j%)
TOP 1 ,250 : LEFT 1,(width (0)-( 150 + len(montexte$(compteur%)))) -(width (1)/2) -(j% * 10)
caption 1,lettre$
TOP 1 ,250 : LEFT 1,(width (0)-( 150 + len(montexte$(compteur%)))) -(width (1)/2) -(j% * 10) pause 200: display
next j% compteur% =compteur% +1
End_While
end_if message "Merci d'avoir pris le temps de jouer"
terminate
return
Quit: terminate return
Rem ============================================================================ ' <<<<<<<<<<<<<<<<<<<<<< FIN DES LABELS >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>'
A bientôt et svp n'oublié surtout pas ce que j'ai cité plus haut. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Jeu 19 Avr 2018 - 8:21 | |
| Bravo pour cette dernière version La coloration des PROGRESS_BAR(s) est plus esthétique et permet de les différencier, merci à Silverman. Pour l'aide: - Citation :
- C'est en effet plus propre que la version que j'avais proposé (code ajouté dans le code source)
Plus propre en terme de fonctionnement, je suis d'accord, mais c'est moins esthétique que ta version couleur. Pour le moment je n'ai top de temps, mais je vais réfléchir à une présentation. En attendant tu peux changer le titre de la fenêtre du message en ajoutant application_title "Panoramic Plane" au début de la SUB aide. Remarque: si tu utilises application_title avant END, toutes les fenêtre "message" seront traitées. Mais tu peux aussi l'utiliser avant chaque message. Cette commande n'est valable que pour les fenêtres "message", elle ne marche pas pour les fenêtres "message_confirmation_yes_no". A+ | |
| | | Fhoest
Nombre de messages : 97 Age : 48 Localisation : Nord Date d'inscription : 04/01/2015
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Jeu 19 Avr 2018 - 21:00 | |
| Salut , oui bonne idée pour l'application title, je pense que je vais mettre le texte: "Aide Panoramic Plane" pour l'aide et pour les messages simplement "Panoramic Plane" car le fait que j'utilise une scene2d avec un border_hide il vaut mieux différencier les textes. le code de silverman est sublime celu de Klauss est superbe aussi ici mais je ne l'ai pas encore mis en application, je pense également l'utiliser soit sur le jeu soit sur un autre mini projet futur. A+ | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Ven 20 Avr 2018 - 7:42 | |
| Bonne route ! | |
| | | Contenu sponsorisé
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... | |
| |
| | | | Le ptit plus du jeu panoramic plane suite... | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |