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 |
---|
Fhoest
Nombre de messages : 97 Age : 48 Localisation : Nord Date d'inscription : 04/01/2015
| Sujet: Le ptit plus du jeu panoramic plane suite... Dim 1 Avr 2018 - 20:07 | |
| Bonjour à tous, @Jean claude ... suite à un message dans le fil suivant: https://panoramic.1fr1.net/t5249-petits-jeux-pour-enfants-et-pour-moins-jeunes#69652je poste ici afin d'obtenir les critiques de mon premier jeu (non terminer) Si c'est pas le bon endroit faite le moi savoir. voici quelques détails: Panoramic PlaneVoici le code aussi: - Code:
-
Rem ==========================================================
' Variables ' ************************************************************ ' gestion des couleurs par RGB dim couleurR,couleurG,couleurB ' Variables de comptage dim i%,compteur% :' Boucles dim Kills% : ' Objet Ennemy destruction ok dim x%,y% : ' variable increntation ou décrémentation de déplacememnt objet Plane ' Variable de position objets dim P_top%,P_left% ,M_top%,E_Top%,E_left%,M_left%,F_Width% dim positionFormx%,positionFormy%
' -----------------------------------------------------------
' Tableau de valeur String dim monTexte$(3)
monTexte$(0)= "Bonjour à tous " monTexte$(1)= " Bienvenue " monTexte$(2)= " Sur " monTexte$(3)= " Panoramic Plane "
' -----------------Fin de déclaration variables -------------
REM définition des LABELS ' ====================================== LABEL Move
Rem ===================================================================== ' Appel de la routine d'initialisation du jeu 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 ' *********************************************************************** ' *********************************************************************** sub Init()
' création de son N=6 sound 6 ' chargement du son file_load 6,"son/Missile_launch.wav"
' Localisation milieu écran de la form
positionFormx% =screen_x/6 :' en fonction de la form. division par paire positionFormy% =screen_y/2 TOP 0,positionFormx% : LEFT 0,positionFormy% ' ********************************************************************** ' **********************************************************************
' Instancier la variable en fonction de la largeur de la forme F_Width%=width (0)
' Mise en place d'un texte d'accueil et de gestion des points merci à Jean Claude ALPHA 1 :TOP 1 ,0 : LEFT 1,210 :font_size 1,20 : font_bold 1:Caption 1,"Bonjour à tous" color 1,255,255,255
' ********************************************************************** ' **********************************************************************
' Mise en forme du formulaire. While compteur% < 4 caption 1,monTexte$(compteur%) FOR i%=50 to 250 step 5 color 0,i%,i%,i% TOP 1 ,i% : LEFT 1,210 pause 30 NEXT i% compteur% =compteur% +1 End_While
' Fin de boucle masquer le texte d'accueil HIDE 1 :Left 1,(F_width%-50)
' Mise en place de la couleur de fond du jeu color 0,1,1,1 ' ********************************************************************** ' **********************************************************************
' Mise en place d'un contrôle picture N=2 P_pour Plane Picture 2 File_load 2,"img/Plane_up.bmp" TOP 2,300 : LEFT 2,250 P_top% =Top (2) : P_left% = Left (2)
' ********************************************************************** ' ********************************************************************** ' Mise en place d'un contrôle picture N=3 E_pour Ennemy Picture 3 File_load 3,"img/Ennemy.bmp" : ' E_top% pour booum !! TOP 3,10 : LEFT 3,50 :E_top% = Top (3): E_left% = Left (3)
' ********************************************************************** ' ********************************************************************** ' Mise en place d'un contrôle picture N=3 M_pour missile Picture 4 File_load 4,"img/Fire_double.bmp" : ' M_top% pour Booum !!
TOP 4,P_top%-25 : LEFT 4,P_left% +10 :m_left%= left (4) HIDE 4 ' ********************************************************************** ' **********************************************************************
End_sub
rem =================================================== ' Label Move Move: ' jouer le son N=6 if key_down_code=32 then file_load 6,"son/Missile_launch.wav": play 6
' Mouvement de l'objet Avion N=2 if key_down_code=39 then x%=x%+2:P_left% = Left (2):File_load 2,"img/Plane_right.bmp" :' droite if key_down_code=37 then x%=x%-2:P_left% = Left (2):File_load 2,"img/Plane_left.bmp" :' gauche if key_down_code=40 then y%=y%+2:P_top% =Top (2) :File_load 2,"img/Plane_down.bmp" :' bas if key_down_code=38 then y%=y%-2:P_top% =Top (2) :File_load 2,"img/Plane_up.bmp" :' haut
' ********************************************************************** ' **********************************************************************
' Lancement du missile par la touche espace du clavier if key_down_code=32
TOP 4,P_top%-25 : LEFT 4,P_left% +10 M_top% = Top (4) SHOW 4 while M_top% > E_top% M_top% = M_top% -10 :Top 4,M_top% :M_left% = Left (4) : pause 20 end_while ' HIDE 4 ' Objet ennemy touché if M_left% < (E_left% +30) and M_left% >(E_left% -30) file_load 6,"son/Explosion.wav":play 6 File_load 3,"img/Explosion.bmp":pause 15 :hide 3 File_load 3,"img/Ennemy.bmp":Left 3,rnd((F_Width% - 50)) E_left% = Left (3):show 3:Kills%=Kills%+1 caption 1,STR$(Kills%):show 1:top 1, 400 end_if
end_if
' Mise en place de l'avion à la position demandée Left 2,250 +x% Top 2,300 +y%
Return
A+ | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Dim 1 Avr 2018 - 20:59 | |
| Salut Fhoest C’est un bon début. Tous mes encouragements à toi. On voit bien que tu n’es pas tout « bleu » , question Panoramic ! - Fhoest a écrit:
- je poste ici afin d'obtenir les critiques de mon premier jeu (non terminer)
Ce ne sont pas des critiques qu’on donne ici, c’est plutôt des encouragements, des astuces, des réponses à des questions, des idées d’amélioration du code, etc. Tiens, à propos d’amélioration du code, je te donne ma façon de coder le sous-programme MoveRemarque : ton code est tout à fait correct et il fonctionne comme il se doit, mais je préfère utiliser la structure SELECT / CASE / END_SELECT au lieu d'une série de IF / END_IF comme suit : - Code:
-
rem ============================================================================ Move: select key_down_code case 32 file_load 6,"son/Missile_launch.wav": play 6 TOP 4,P_top%-25 : LEFT 4,P_left% +10 M_top% = Top (4) SHOW 4 while M_top% > E_top% M_top% = M_top% -10 :Top 4,M_top% :M_left% = Left (4) : pause 20 end_while HIDE 4 if M_left% < (E_left% +30) and M_left% >(E_left% -30) file_load 6,"son/Explosion.wav":play 6 File_load 3,"img/Explosion.bmp":pause 15 :hide 3 File_load 3,"img/Ennemy.bmp":Left 3,rnd((F_Width% - 50)) E_left% = Left (3):show 3:Kills%=Kills%+1 caption 1,STR$(Kills%):show 1:top 1, 400 end_if case 39 : x%=x%+2:P_left% = Left (2):File_load 2,"img/Plane_right.bmp" :' droite case 37 : x%=x%-2:P_left% = Left (2):File_load 2,"img/Plane_left.bmp" :' gauche case 40 : y%=y%+2:P_top% = Top (2) :File_load 2,"img/Plane_down.bmp" :' bas case 38 : y%=y%-2:P_top% = Top (2) :File_load 2,"img/Plane_up.bmp" :' haut end_select
' Mise en place de l'avion à la position demandée Left 2,250 +x% Top 2,300 +y%
Return rem ============================================================================
Ce n'est qu'une question de gout et tu es libre d'adopter ou non mon idée Bonne programmation en Panoramic ! | |
| | | 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... Dim 1 Avr 2018 - 21:08 | |
| C'est en effet une trés bonne idée de coder avec des select case que je connais en plus, il est vrai que dans ce cas précis c'est beaucoup plus structuré et lisible. Lorsque je parle de critique, je parle de bonne critique. il n'y a pas que de mauvaise critique. Ahhh, la critique quelle sens veut-on lui donner http://www.linternaute.fr/dictionnaire/fr/definition/critique/pour ma part j'ai déjà assez d'experience avec les forums et j'ai très vite remarqué qu'ici la critique était constructive et non écrasante. J'aime la mentalité de votre forum, et c'est pour ça que j'ai pris la décision de m'y intéresser. A très bientôt et merci pour les encouragements. | |
| | | jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Lun 2 Avr 2018 - 13:57 | |
| Eh, intéressant, ce jeu ! C'est ce vieux jeux consistant à se défendre d'attaques d'aliens ? (je ne sais plus comment il s'appelait) En tout cas, le graphisme est joli ! Bonne idée, continue ! | |
| | | 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... Lun 2 Avr 2018 - 18:05 | |
| Pour le moment, le code de ce jeu de Fhoest est encore assez simple.
Un petit conseil pour continuer: Pour ce type de jeu, j'aurai utilisé un SCENE2D avec des SPRITES à la place d'un PICTURE. C'est, à mon avis, plus adapté, mais je comprends que pour un début c'est plus simple (Quoique).
Voir le manuel utilisateur partie 4: "SCENE2D et SPRITES"
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... Lun 2 Avr 2018 - 19:37 | |
| Bonjour, n'étant pas encore dans un mode de codage approfondie sur panoramic j'ai utilisé les 'picture', et justement c'est peut être la que se complique ce que j'essaie de faire maintenant. je voudrais savoir si il est possible de vider la mémoire utiliser par un File_load ("...."), du style unload. car je me demande si je n'ai pas un souci de saturation de mémoire à force de changer mes fichiers par File_Load. Bien sur vous allez me dire de mettre plus d'objet afin d'éviter le problème ,je suis ok pour ça mais en faisiant ça je devrais réfléchir davantage à remodeler mon code. C'est certainement ce que je vais faire mais en attendant si il y a un Unload ou vidage mémoire ça serait vraiment cool... puis en même temps un Doevents ( je ne suis pas certains que display rend la main au system afin de pouvoir faire deux action en simultané) je viens de lire rapidement le sprite et 2d je pense aussi que cela serait bien adapté,maintenant comme j'aime m'amuser je vais voir pour faire deux versions dans le 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... Lun 2 Avr 2018 - 20:16 | |
| "Doevents" ? peux-tu préciser ce mot , je ne connais pas.
Pour DISPLAY il est écrit dans le manuel de référence que cette commande gèle l'exécution du programme le temps que la visualisation à l'écran soit faite, et reprend ensuite. C'est clair que de charger une nouvelle image à chaque changement de direction prend plus de mémoire. Si tu avais 4 SPRITES à la place, je pense que c'est moins gourmand.
A propos, peux-tu nous dire quel OS (Système d'exploitation tu utilises) et quel sont les performance de ton PC. Juste pour mieux comprendre ton problème de mémoire saturée.
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... Lun 2 Avr 2018 - 20:55 | |
| Bonsoir, je viens de changer le code en mettant 4 images au lieu de charger à chaque fois,maintenant j'affiche et je masque. le souci que je rencontre est le suivant. lorsque je pilote mon petit avion vers la droite ou vers la gauche je dois redonner la main au système en quelque sorte ne pas gelé,mais redonner l’accès à la continuité du code tout en continuant mon déplacement. j'ai ajouté sur le côté de la form deux images que je fais défiler afin de donner un effet de vitesse, mais lorsque je boucle sur le déplacement de ses dernières je ne peux plus faire déplacer mon petit avion en même temps. d'ou l'utilisation d'un doevents qui permet de faire exécuter plusieurs routines en même temps. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Lun 2 Avr 2018 - 21:23 | |
| Je vois bien que que tu désignes par doevent. En Delphi, ce serait Application.ProcessMessages. Mais sois tranquille: la commande "DISPLAY 1" fait exactement cela. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Lun 2 Avr 2018 - 22:57 | |
| - Klaus a écrit:
- Mais sois tranquille: la commande "DISPLAY 1" fait exactement cela.
Tu veux sans doute dire PAUSE 1, car DISPLAY n'accepte pas de valeur. | |
| | | 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... Lun 2 Avr 2018 - 23:17 | |
| Merci à tous, en attendant voici l'évolution du jeu, le souci c'est que j'ai encore parfois des bogues et je ne sais pas encore comment faire. pour ce qui est d'ajuster les détails affichage dans le bon sens de l'avion j'ai encore à faire. Nouvelle version du jeuvoici le code: - Code:
-
Rem ==========================================================
' Variables ' ************************************************************ ' gestion des couleurs par RGB dim couleurR,couleurG,couleurB ' Variables de comptage dim i%,compteur%,j% :' Boucles dim Kills% : ' Objet Ennemy destruction ok dim x%,y% : ' variable increntation ou décrémentation de déplacememnt objet Plane ' Variable de position objets dim P_top%,P_left% ,M_top%,E_Top%,E_left%,M_left%,F_Width% dim positionFormx%,positionFormy% ' variable de memoire image Dim memimg% ' variable de memoire appuie touche Dim key% ' Variable position minimale left ennemy Dim PosMin% ' -----------------------------------------------------------
' Tableau de valeur String dim monTexte$(3)
monTexte$(0)= " Bonjour à tous " monTexte$(1)= " Bienvenue " monTexte$(2)= " Sur " monTexte$(3)= "Panoramic Plane "
' -----------------Fin de déclaration variables -------------
REM définition des LABELS ' ====================================== LABEL Move,fin
Rem ===================================================================== ' Appel de la routine d'initialisation du jeu 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 ' *********************************************************************** ' *********************************************************************** sub Init()
' création de son N=6 et N=10 sound 6 ' chargement du son N=6 file_load 6,"son/Missile_launch.wav" sound 10 ' chargement du son N=10 file_load 10,"son/Explosion.wav" ' *********************************************************************** ' *********************************************************************** ' Localisation milieu écran de la form
positionFormx% =screen_x/6 :' en fonction de la form. division par paire positionFormy% =screen_y/2 TOP 0,positionFormx% : LEFT 0,positionFormy% ' ********************************************************************** ' **********************************************************************
' Instancier la variable en fonction de la largeur de la forme F_Width%=width (0)
' Mise en place d'un texte d'accueil et de gestion des points merci à Jean Claude ALPHA 1 :TOP 1 ,0 : LEFT 1,210 :font_size 1,20 : font_bold 1:Caption 1,"Bonjour à tous" color 1,255,255,255
' ********************************************************************** ' **********************************************************************
' Mise en forme du formulaire. compteur%=0 While compteur% < 4 caption 1,monTexte$(compteur%) FOR i%=50 to 250 step 5 color 0,i%,i%,i% TOP 1 ,i% : LEFT 1,210 pause 30
NEXT i% compteur% =compteur% +1 End_While
' Fin de boucle masquer le texte d'accueil HIDE 1 :Left 1,(F_width%-50)
' Mise en place de la couleur de fond du jeu color 0,1,1,1 ' ********************************************************************** ' **********************************************************************
' Mise en place d'un contrôle picture N=2 P_pour Plane Picture 12 File_load 12,"img/Plane_down.bmp" TOP 12,300 : LEFT 12,250 hide 12
Picture 13 File_load 13,"img/Plane_up.bmp" TOP 13,300 : LEFT 13,250 P_top% =Top (13) : P_left% = Left (13)
Picture 14 File_load 14,"img/Plane_right.bmp" TOP 14,300 : LEFT 14,250 hide 14
Picture 15 File_load 15,"img/Plane_left.bmp" TOP 15,300 : LEFT 15,250 hide 14
Button 16 top 16,(height(0)-80):left 16,350 caption 16, "Exit" on_click 16,fin ' ********************************************************************** ' ********************************************************************** ' Mise en place d'un contrôle picture N=3 E_pour Ennemy Picture 3 File_load 3,"img/Ennemy.bmp" : ' E_top% pour booum !! TOP 3,10 : LEFT 3,82 :E_top% = Top (3): E_left% = Left (3)
Picture 9 File_load 9,"img/Explosion.bmp" : ' E_top% pour booum !! TOP 9,10 : LEFT 9,82 hide 9
' ********************************************************************** ' ********************************************************************** ' Mise en place d'un contrôle picture N=4 M_pour missile Picture 4 File_load 4,"img/Fire_double.bmp" : ' M_top% pour Booum !!
TOP 4,P_top%-25 : LEFT 4,P_left% +10 :m_left%= left (4) HIDE 4 ' ********************************************************************** ' ********************************************************************** ' mise en place effet de vitesse N=7 et N= 8 Picture 7 File_load 7,"img/galaxie.bmp" : ' effet gauche width 7,70 height 7,(height(0)*5)
Picture 8 File_load 8,"img/galaxie.bmp" : ' effet droite left 8,(width(0) -70) width 8,70 height 8,(height(0)*5) ' terminer le jeu en cas d'erreur on_error_goto fin End_sub
rem ============================================================================ sub Animation() For j% = 1 to 10 Top 7,(top(7)-j%):pause 1 Top 8,(top(8)-j%) next j% top 7,0 :top 8,0 end_sub
rem ====================== Les Labels ========================== rem ============================================================================
Move: Display key% = key_down_code
select key%
case 27 :' arrêt des boucles case 32 rem Show 13:hide 14:hide 15 :hide 12:pause 10 play 6 TOP 4,P_top%-25 : LEFT 4,P_left% +10 M_top% = Top (4) SHOW 4 while M_top% > E_top% M_top% = M_top% -10 :Top 4,M_top% :M_left% = Left (4) : pause 3 end_while HIDE 4 if M_left% < (E_left% +30) and M_left% >(E_left% -30) play 10 hide 3:pause 10:show 9: pause 10: hide 9
PosMin%= rnd((Width(0) -80)):if PosMin%=<80 then PosMin%=81
Left 3,PosMin%:left 9, left (3) E_left% = Left (3):show 3:Kills%=Kills%+1 caption 1,STR$(Kills%):show 1:top 1, 400 :left 1,(width(0)-80) key%=0
end_if Display
case 38 :if memimg% <> 4 then Show 13:hide 14:hide 15 :hide 12:memimg%=4 :Display:' haut case 40 :if memimg% <> 3 then show 12:hide 13:hide 14 :hide 15:memimg%=3 :Display:' bas
case 39 while key%= 39 or left (14)=< (width (0)-140) if key_up_code=27 then exit_while x%=x%+8:P_left% = Left (14):if memimg% <> 1 then show 14:hide 12:hide 13:hide 15:memimg%=1 :' droite Left 14,250 +x% :Left 15,250 +x% : Left 12,250 +x% :Left 13,250 +x% Animation() end_while Display
case 37 while key%= 37 or left(15)< 150 if key_up_code=27 then exit_while x%=x%-8:P_left% = Left (15):if memimg% <> 2 then show 15:hide 12:hide 13:hide 14:memimg%=2 :' gauche Left 12,250 +x% :Left 13,250 +x% : Left 14,250 +x% :Left 15,250 +x% Animation() end_while Display end_select Show 13:hide 14:hide 15 :hide 12:pause 10 ' Mise en place de l'avion à la position demandée
' Left 14,250 +x% :Left 15,250 +x% : Left 12,250 +x% :Left 13,250 +x%
rem Top 14,300 +y% : Top 15,300 +y%
Return rem ============================================================================ fin: message "merci d'avoir pris le temps de jouer" message "vous avez réaliser le score de " +str$(kills%)+ " Ennemy détruits" terminate return rem ============================================================================
Fonctionnement:touche flèche de droite fait déplacer l'avion à droite touche flèche de gauche fait déplacer l'avion à gauche le bouton exit vous l'aurez deviné sortie du programme. bouton Esc ou echap arrête parfois l'animation, il y a encore quelques souci de temps à autres sur les déplacement La touche espace tir de missile son sur tir du missile et si on touche l'ennemy, comptage + explosion. plus tard :(reste à faire le code) touche flèche de haut fera accélérer le déplacement, à l'inverse pour la flèche bas d'autres enneny verront le jour et se déplaceront à leur tour vers l'avion. A bientôt.
Dernière édition par Fhoest le Lun 2 Avr 2018 - 23:19, édité 2 fois | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Lun 2 Avr 2018 - 23:18 | |
| Tu as raison, Papydall, encore une fois ! Soit Display tout court, soit Pause 1. Les deux ont le même effet: rendre la main à Windows pour un bref instant pendant lequel les messages de Windows peuvent être traitées. | |
| | | 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 3 Avr 2018 - 8:22 | |
| bonjour à tous,
@Fhoest,
Il manque l'image "img/galaxie.bmp" dans le dossier Img pour tester le code que tu as publié. D'autre part l'exécutable qui est dans le dossier "Jeu..." ne semble pas être le même jeu que le code.bas que tu as publié. Le comportement des touches est différent.
J'ai fait un essai du code du forum en supprimant tout les DISPLAY, juste pour voir. Le résultat est que je n'ai aucune différence à l'exécution. J'en conclu que le fait d'avoir un PICTURE par image était la bonne solution pour la saturation de mémoire et que les DISPLAY ne sont pas utiles. (mais je peux me tromper).
Bonne continuation. 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 3 Avr 2018 - 20:26 | |
| Bonsoir, Je suis curieux Jean claude de ce que vous écrivez car au téléchargement du Zip version 2 ,je vois bien mon image Galaxie est le fichier EXE V2 qui correspond bien au code que j'ai joint. ça ne fonctionne toujours pas correctement ? au niveau des commandes. (il faut prendre la version 2 du fichier) tout est dans le lien de mon dernier message (nouvelle version du jeu) A bientôt. et oui moi aussi je ne vois pas trop de différence avec Display.
Dernière édition par Fhoest le Mer 4 Avr 2018 - 7:04, édité 1 fois | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Mar 3 Avr 2018 - 20:31 | |
| Bonsoir Fhoest ! Voila un bon début pour un petit jeu sympa ! J'attends de voir la suite... Bon courage. Edit : Et bien je viens de tester la version 2 sans aucune difficulté ! J'ai juste dézippé le fichier avant l'exécution et c'est tout. | |
| | | 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 3 Avr 2018 - 22:50 | |
| Bonsoir, merci Minibug pour le retour et les encouragements voici le dernier code: la version 3 (attention j'ai encore quelques bogues en test j'utilise mon gestionnaire de tâche.) - Code:
-
Rem ==========================================================
' Variables ' ************************************************************ ' gestion des couleurs par RGB dim couleurR,couleurG,couleurB ' Variables de comptage dim i%,compteur%,j% :' Boucles dim Kills% : ' Objet Ennemy destruction ok dim x%,y% : ' variable increntation ou décrémentation de déplacememnt objet Plane ' Variable de position objets dim P_top%,P_left% ,M_top%,E_Top%,E_left%,M_left%,F_Width% dim positionFormx%,positionFormy% ' variable de memoire image Dim memimg% ' variable de memoire appuie touche Dim key% ' Variable position minimale left ennemy Dim PosMin% ' variable vitesse Dim speed% :Dim p% ' -----------------------------------------------------------
' Tableau de valeur String dim monTexte$(3)
monTexte$(0)= " Bonjour à tous " monTexte$(1)= " Bienvenue " monTexte$(2)= " Sur " monTexte$(3)= "Panoramic Plane "
' -----------------Fin de déclaration variables -------------
REM définition des LABELS ' ====================================== LABEL Move,fin
Rem ===================================================================== ' Appel de la routine d'initialisation du jeu 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 ' *********************************************************************** ' *********************************************************************** sub Init()
' création de son N=6 et N=10 sound 6 ' chargement du son N=6 file_load 6,"son/Missile_launch.wav" sound 10 ' chargement du son N=10 file_load 10,"son/Explosion.wav" ' *********************************************************************** ' *********************************************************************** ' Localisation milieu écran de la form
rem positionFormx% =screen_x/8 :' en fonction de la form. division par paire positionFormy% =screen_y/2 TOP 0,positionFormx% : LEFT 0,positionFormy% height 0,800 ' ********************************************************************** ' **********************************************************************
' Instancier la variable en fonction de la largeur de la forme F_Width%=width (0)
' Mise en place d'un texte d'accueil et de gestion des points merci à Jean Claude ALPHA 1 :TOP 1 ,0 : LEFT 1,210 :font_size 1,20 : font_bold 1:Caption 1,"Bonjour à tous" color 1,255,255,255
' ********************************************************************** ' **********************************************************************
' Mise en forme du formulaire. compteur%=0 While compteur% < 4 caption 1,monTexte$(compteur%) FOR i%=50 to 250 step 5 color 0,i%,i%,i% TOP 1 ,i% : LEFT 1,210 pause 30
NEXT i% compteur% =compteur% +1 End_While
' Fin de boucle masquer le texte d'accueil HIDE 1 :Left 1,(F_width%-50)
' Mise en place de la couleur de fond du jeu color 0,1,1,1 ' ********************************************************************** ' **********************************************************************
' Mise en place d'un contrôle picture N=2 P_pour Plane Picture 12 File_load 12,"img/Plane_down.bmp" TOP 12,(height(0)-150) : LEFT 12,250 hide 12
Picture 13 File_load 13,"img/Plane_up.bmp" TOP 13,(height(0)-150) : LEFT 13,250 P_top% =Top (13) : P_left% = Left (13)
Picture 14 File_load 14,"img/Plane_right.bmp" TOP 14,(height(0)-150) : LEFT 14,250 hide 14
Picture 15 File_load 15,"img/Plane_left.bmp" TOP 15,(height(0)-150) : LEFT 15,250 hide 14
Button 16 top 16,(height(0)-80):left 16,350 caption 16, "Exit" on_click 16,fin ' ********************************************************************** ' ********************************************************************** ' Mise en place d'un contrôle picture N=3 E_pour Ennemy Picture 3 File_load 3,"img/Ennemy.bmp" : ' E_top% pour booum !! TOP 3,10 : LEFT 3,82 :E_top% = Top (3): E_left% = Left (3)
Picture 9 File_load 9,"img/Explosion.bmp" : ' E_top% pour booum !! TOP 9,10 : LEFT 9,82 hide 9
' ********************************************************************** ' ********************************************************************** ' Mise en place d'un contrôle picture N=4 M_pour missile Picture 4 File_load 4,"img/Fire_double.bmp" : ' M_top% pour Booum !!
TOP 4,P_top%-25 : LEFT 4,P_left% +10 :m_left%= left (4) HIDE 4 ' ********************************************************************** ' ********************************************************************** ' mise en place effet de vitesse N=7 et N= 8 Picture 7 File_load 7,"img/galaxie.bmp" : ' effet gauche width 7,70 height 7,(height(0)*5)
Picture 8 File_load 8,"img/galaxie.bmp" : ' effet droite left 8,(width(0) -70) width 8,70 height 8,(height(0)*5) ' terminer le jeu en cas d'erreur on_error_goto fin speed%=1 End_sub
rem ============================================================================
sub Animation()
if (speed% /2)-2>0 then p%=(speed% /2-2) For j% = 1 to 10 Top 7,(top(7)-j%):pause 1 Top 8,(top(8)-j%) if top(3)< height(0) Top 3,top(3)+p% : Top 9,top(3):E_top%=top(3) else top 3,10:top 9,top(3):E_top%=top(3) end_if next j% top 7,0 :top 8,0 end_sub
rem ====================== Les Labels ========================== rem ============================================================================
Move: Display key% = key_down_code
select key%
case 27 :' arrêt des boucles case 32 rem Show 13:hide 14:hide 15 :hide 12:pause 10 play 6 TOP 4,P_top%-25 : LEFT 4,P_left% +10 M_top% = Top (4) SHOW 4 while M_top% > E_top% M_top% = M_top% -10 :Top 4,M_top% :M_left% = Left (4) : pause 3 end_while HIDE 4 if M_left% < (E_left% +30) and M_left% >(E_left% -30) play 10
hide 3:top 3,10:pause 10:show 9: pause 10: hide 9
PosMin%= rnd((Width(0) -80)):if PosMin%=<80 then PosMin%=81
Left 3,PosMin%:left 9, left (3) E_left% = Left (3):show 3:Kills%=Kills%+1 caption 1,STR$(Kills%):show 1:top 1,(height(0)-80) :left 1,(width(0)-100) key%=0
end_if Display
case 38 :if speed%=<8 then speed%=speed%+1:if memimg% <> 4 then Show 13:hide 14:hide 15 :hide 12:memimg%=4 :Display:' haut case 40 :if speed%=>4 then speed%=speed%-1:if memimg% <> 3 then show 12:hide 13:hide 14 :hide 15:memimg%=3 :Display:' bas
case 39 while left (14)=< (width (0)-130) if key_up_code=27 then exit_while x%=x%+speed% :P_left% = Left (14):if memimg% <> 1 then show 14:hide 12:hide 13:hide 15:memimg%=1 :' droite Left 14,250 +x% :Left 15,250 +x% : Left 12,250 +x% :Left 13,250 +x% Animation() end_while Display
case 37 while left(15)=> 70 if key_up_code=27 then exit_while x%=x%-speed% :P_left% = Left (15):if memimg% <> 2 then show 15:hide 12:hide 13:hide 14:memimg%=2 :' gauche Left 12,250 +x% :Left 13,250 +x% : Left 14,250 +x% :Left 15,250 +x% Animation() end_while Display end_select Show 13:hide 14:hide 15 :hide 12:pause 10 ' Mise en place de l'avion à la position demandée
' Left 14,250 +x% :Left 15,250 +x% : Left 12,250 +x% :Left 13,250 +x%
rem Top 14,300 +y% : Top 15,300 +y%
Return rem ============================================================================ fin: message "Merci d'avoir pris le temps de jouer" message "Vous avez éliminé " +str$(kills%)+ " Ennemy !!!" terminate return rem ============================================================================
les commandes sont les mêmes il y a un ajout de vitesse + déplacement de l' "ennemy" (flèche haut et bas pour vitesse). A bientôt (si vous avez des soucis et connaissez l'erreur pourriez vous m'éclairer ma lanterne SVP) | |
| | | 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 4 Avr 2018 - 8:57 | |
| Bonjour Fhoest et à tous, Je viens de recharger le dossier, cette fois, j'ai bien toutes les images. J'ai testé la dernière version, je vois que ça a évolué. Il y a encore du travail Le code commence à être compliqué, pas facile de suivre. C'est toujours difficile de reprendre un code que l'on a pas fait soi-même. Personnellement je pense que tu devrais garder celui-ci de coté et passé au SCENE2D avec Sprites, car je pense que tu auras moins de blocage et une meilleure fluidité avec des SRITES. Je vais chercher dans mes archives un jeu qui ressemble beaucoup au tien et je le remettrai à disposition. A+ | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Mer 4 Avr 2018 - 13:27 | |
| @Fhoest le bug est dû à la chose suivante: Lorsque que tu appuies sur une touche de direction, la procédure MOVE est declenché. Cette procédure contient des boucles(while dans ton cas). Dès que tu appuies sur une autre touche, la procédure est de nouveau déclenché, alors que les boucles ne sont pas encore fini d'être traité. Interrompre une boucle par un appel récurrent provoque un plantage, car panoramic ne sait pas gérer ça. Tu dois utiliser OFF_KEY_DOWN N au début de ta procédure et ON_KEY_DOWN N,L à la fin, juste avant le return.
Je te conseille de passer à la programmation séquentielle, un bon vieux REPEAT/UNTIL comme boucle principale fera l'affaire. Quant à la détection d'un click sur un bouton, jack a prévu cela, c'est la fonction CLICKED(N). Oubli la commande PAUSE, car si la vitesse est correcte sur ton pc, ça ne le sera pas pour un pc lent mais utilise plutôt la commande NUMBERTICKS pour effectuer des mesures de synchronisation temporelle. Et pour les touches, il y a la commande SCANCODE. La fabrication d'un jeu avec animation est un territoire peu exploré en panoramic, accroche toi, ça ne va pas être de la tarte! | |
| | | 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 4 Avr 2018 - 13:58 | |
| Merci Silverman, J’avoue que j'ai décroché par rapport au code... @Fhoest j'ai ouvert un sujet qui peut t'intéresser => ICIA+ | |
| | | 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 4 Avr 2018 - 21:10 | |
| Bonsoir, merci Jean claude et merci Silverman pour les précieux conseil que je vais suivre. @Silverman, vous m'avez donné de très bonne explication au sujet de la manière de coder avec panoramic,je vais de suite aller lire les nouveauté proposer et commencé à les mettre en application. @Jean claude, j'irais fouiné le sujet que vous avez ouvert. pensez vous que le code soit brouillon le fait que vous décrochiez (j'ai tout de même des doutes car j'ai affaire à des crack de panoramic ici ) vous êtes géniaux ne changé rien. Actuellement ,je regarde pour apporter un peu de joie musicale au jeu, je suis sur que ça plaira à Mr Klaus. A bientôt. | |
| | | 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 5 Avr 2018 - 8:01 | |
| Bonjour,
@Fhoest, De grâce, ne me considère pas comme un crack de Panoramic, passionné oui, mais surtout pas un crack. Quand je dis que je décroche par rapport au code, c'est que j'ai du mal à suivre. Un problème de temps et de concentration. N'étant pas un crack, il me faut du temps pour analyser un code que je n'ai pas fait moi-même, et en ce moment du temps je n'en ai pas trop. Tu peux améliorer la présentation de ton code, ça aide, mais ce n'est pas, dans ton cas, majeur.
Au passage: tu peux me tutoyer, c'est d'ailleurs la règle générale sur ce forum.
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 5 Avr 2018 - 19:45 | |
| Bonjour, je tutoie à partir du moment ou j'en ai l'autorisation ,si c'est la coutume ,pas de souci je préfère ça de toute manière,sur un forum que je gère je tutoie d'office afin de mettre à l'aise les membres. Je pense aussi que c'est beaucoup mieux et conviviale entre personnes passionnés.
J'aime cette franchise et surtout les personnes qui savent garder cette humilité.
je peaufine le code afin d'apporter une nouvelle version en suivant les recommendations de chacun d'entre vous. A bientôt.
| |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Le ptit plus du jeu panoramic plane suite... Jeu 5 Avr 2018 - 19:54 | |
| Salut Fhoest ! Tu es sur la bonne voie. Continue comme ça ! J'ai hâte de voir ça et de dégommer de l'alien à tout va... | |
| | | 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 5 Avr 2018 - 20:43 | |
| Merci,mais je vais changer vers le scene2d et utiliser des sprites comme on m'a conseillé car sur la superposition de deux images pour la collision les blancs apparaissent et je viens de faire un test sur la scene2d avec deux sprites c'est beaucoup mieux. l'algorithme ne change tout de même pas ,c'est juste la mise en scene donc la modification sera certainement faite avant cette fin de semaine Vivement que les aliens débarquent... 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... Jeu 5 Avr 2018 - 20:53 | |
| Bravo ! Fohest tu viens de prendre la bonne décision. Avant d'explorer PANGINE2D, c'est une bonne étape. Bon courage A+ | |
| | | 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
| |
| |
| |