FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Dessin 2D: largeur de trait (résolu !)
par JL35 Aujourd'hui à 1:37

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Hier à 17:00

» Planétarium virtuel.
par Pedro Alvarez Hier à 16:59

» Nouvelle version 0.34
par jean_debord Hier à 9:39

» Quantité de mémoire utilisée par un exe
par mindstorm Jeu 21 Juin 2018 - 21:22

» Projet de planétarium virtuel.
par Jean Claude Jeu 21 Juin 2018 - 19:02

» Animation: Feux de signalisation
par Minibug Mer 20 Juin 2018 - 20:28

» Problème avec 'file_load'.
par Pedro Alvarez Lun 18 Juin 2018 - 8:12

» Version instantanée V 0.9.28i20 du 13/06/2018
par jjn4 Sam 16 Juin 2018 - 14:25

» string$(0,chr$(32)) sans erreur
par silverman Ven 15 Juin 2018 - 19:56

» Version instantanée V 0.9.28i19 du 13/06/2018
par Minibug Ven 15 Juin 2018 - 19:14

» Mes souhaits d'amélioration de Panoramic.
par Pedro Alvarez Jeu 14 Juin 2018 - 20:17

» [RÉSOLU] Message d'erreur impossible à indentifier
par Minibug Mer 13 Juin 2018 - 20:52

» Cadre pour image
par Jean Claude Mar 12 Juin 2018 - 16:31

» Créateur d'objets Panoramic
par Minibug Mar 12 Juin 2018 - 14:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2018
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Le ptit plus du jeu panoramic plane suite...

Aller en bas 
Aller à la page : 1, 2, 3, 4  Suivant
AuteurMessage
Fhoest

avatar

Nombre de messages : 97
Age : 42
Localisation : Nord
Date d'inscription : 04/01/2015

MessageSujet: 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: http://panoramic.free-boards.net/t5249-petits-jeux-pour-enfants-et-pour-moins-jeunes#69652
je 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 Plane
Voici 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+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://programmer-en-vb.forumactif.org/
papydall

avatar

Nombre de messages : 5958
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: 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 » Wink , 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 Move
Remarque : 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 tongue

Bonne programmation en Panoramic !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Fhoest

avatar

Nombre de messages : 97
Age : 42
Localisation : Nord
Date d'inscription : 04/01/2015

MessageSujet: 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, study
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. jocolor
Ahhh, la critique quelle sens veut-on lui donner Question 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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://programmer-en-vb.forumactif.org/
jjn4

avatar

Nombre de messages : 1755
Date d'inscription : 13/09/2009

MessageSujet: +++   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 !
cheers alien bounce
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
Jean Claude

avatar

Nombre de messages : 5496
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: 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+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Fhoest

avatar

Nombre de messages : 97
Age : 42
Localisation : Nord
Date d'inscription : 04/01/2015

MessageSujet: Re: Le ptit plus du jeu panoramic plane suite...   Lun 2 Avr 2018 - 19:37

Bonjour,Very Happy
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... cheers
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+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://programmer-en-vb.forumactif.org/
Jean Claude

avatar

Nombre de messages : 5496
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: 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+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Fhoest

avatar

Nombre de messages : 97
Age : 42
Localisation : Nord
Date d'inscription : 04/01/2015

MessageSujet: 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. What a Face
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. Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://programmer-en-vb.forumactif.org/
Klaus

avatar

Nombre de messages : 11088
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: 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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

Nombre de messages : 5958
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: 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. tongue
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Fhoest

avatar

Nombre de messages : 97
Age : 42
Localisation : Nord
Date d'inscription : 04/01/2015

MessageSujet: 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 jeu
voici 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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://programmer-en-vb.forumactif.org/
Klaus

avatar

Nombre de messages : 11088
Age : 69
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: 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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jean Claude

avatar

Nombre de messages : 5496
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: 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+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Fhoest

avatar

Nombre de messages : 97
Age : 42
Localisation : Nord
Date d'inscription : 04/01/2015

MessageSujet: 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.
affraid


Dernière édition par Fhoest le Mer 4 Avr 2018 - 7:04, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://programmer-en-vb.forumactif.org/
Minibug

avatar

Nombre de messages : 2971
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: 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. Wink

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. drunken
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Fhoest

avatar

Nombre de messages : 97
Age : 42
Localisation : Nord
Date d'inscription : 04/01/2015

MessageSujet: 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)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://programmer-en-vb.forumactif.org/
Jean Claude

avatar

Nombre de messages : 5496
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: 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 Very Happy

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+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 645
Age : 46
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: 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!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5496
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: 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... Embarassed

@Fhoest
j'ai ouvert un sujet qui peut t'intéresser => ICI

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Fhoest

avatar

Nombre de messages : 97
Age : 42
Localisation : Nord
Date d'inscription : 04/01/2015

MessageSujet: Re: Le ptit plus du jeu panoramic plane suite...   Mer 4 Avr 2018 - 21:10

Bonsoir, Laughing
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 Question (j'ai tout de même des doutes car j'ai affaire à des crack de panoramic ici Question ) 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. santa
A bientôt.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://programmer-en-vb.forumactif.org/
Jean Claude

avatar

Nombre de messages : 5496
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: 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+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Fhoest

avatar

Nombre de messages : 97
Age : 42
Localisation : Nord
Date d'inscription : 04/01/2015

MessageSujet: 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.

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://programmer-en-vb.forumactif.org/
Minibug

avatar

Nombre de messages : 2971
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: 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...
lol! lol! lol! lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Fhoest

avatar

Nombre de messages : 97
Age : 42
Localisation : Nord
Date d'inscription : 04/01/2015

MessageSujet: 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... affraid
A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://programmer-en-vb.forumactif.org/
Jean Claude

avatar

Nombre de messages : 5496
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: 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 cheers

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Le ptit plus du jeu panoramic plane suite...   

Revenir en haut Aller en bas
 
Le ptit plus du jeu panoramic plane suite...
Revenir en haut 
Page 1 sur 4Aller à la page : 1, 2, 3, 4  Suivant
 Sujets similaires
-
» RESOLU works suite 2004 (word) non installé ??
» le ptit train du forez
» Bug suite à la mise à jour 10.0.45.2 du player flash résolu
» Outpost Security Suite FREE
» [Résolu] comment mettre plusieurs animationa la suite

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Les jeux faits avec Panoramic-
Sauter vers: