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
par papydall Hier à 23:31

» Projet de planétarium virtuel.
par Jean Claude Hier à 21:59

» PanExpress : l'éditeur Panoramic avec création d'objet
par Jean Claude Hier à 20:32

» Animation: Feux de signalisation
par Minibug Hier à 20:28

» Quantité de mémoire utilisée par un exe
par Jack Mar 19 Juin 2018 - 16:39

» 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

» Planétarium gratuit.
par Jean Claude Sam 9 Juin 2018 - 18:50

» Comment afficher une image sans fond.
par JL35 Sam 9 Juin 2018 - 14:16

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 | 
 

 Panorabriques à la mode des menus

Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
Jicehel

avatar

Nombre de messages : 5923
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Panorabriques à la mode des menus   Mer 15 Aoû 2012 - 23:03

J'aime bien les nouvelles présentations actuelles des jeux que vous faites.
J'ai donc repris mon Panorabrique pour le mettre à la mode des menus.
Ca donne ça:
Code:
' Panorabrique V2 par Jean-Charles (Aout 2012)
'
' Bon après quelques mois, je pense qu'il est bon de reprendre ses vieux programmes
' et de les perfectionner un peu
'
' Objectif de cette version: structurer et commenter mieux
' Enrichir et améliorer un peu le jeu

  label labels : gosub labels
  gosub constantes
  gosub variables
  gosub donnees
  gosub initialisations
  gosub form0
  gosub menu
  gosub GUI
end

labels:
  label constantes, variables, donnees
  label form0, menu, GUI, initialisations
  label sortir,start, tick, restart, key
  label config, close_config, defaut, aide, close_aide
  label apropos, close_apropos, change_config, stopit
  label Lance_balle, Fin, Dessine_briques, Trace_brique
return

constantes:
  dim version$ : version$ = "V02.00"
  dim date_cre$ : date_cre$ = "15 Août 2012"
  dim taille% : taille% = 25 : ' taille des cases
  dim speed% : speed% = 30  : ' milli-secondes entre chaque mouvement
  dim Nb_b_ligne : Nb_b_ligne = 7  : ' Nombre de lignes de briques
  dim hauteur_b, largeur_b : largeur_b=1.55 :  hauteur_b=0.75
  dim Nb_couleur%: Nb_couleur% = 18 : ' Nombre de couleurs définies
  dim M1% : M1% = 0 - 1
return

variables:
  dim no%, no1%, no2% : ' Numméro d'objets temporaires
  dim w%, h%, px%, py%: ' Largeur, Hauteur, Position en x et en y de la fenêtre 0
  dim i%, j%, k%, n%, s$ : ' Déclaration de variables temporaires diverses
  dim no_timer%, no_apropos%, no_aide%, no_config% : ' Numéro des objets importants utilisés
  dim no_config_v%, no_config_speed%          : ' Timer, numéro des fenêtres, ...
  dim no_stop%, no_play%, no_start%
  dim xpad        : ' Position de la souris
  dim s, vies    : ' Score et nombre de vies
  dim xball,zball : ' position de la balle
  dim dx,dz      : ' direction de la balle
  dim vx,vz,v    : ' vitesse de la balle
  dim largeur_r  : ' Largeur de la raquette
  dim Nb_lignes  : ' Nombre de lignes de briques
  dim Nb_briques_restantes : ' Compte combien il reste de briques à détruire pour finir le niveau
  dim Nb_vies    : ' Définit le nombre de vie au démarrage
  dim Hauteur_cam : ' Définit la hauteur de la caméra
  dim Pause%      : ' Bascule pour mettre le jeu en pause ou reprendre
  dim Niveau%    : ' Niveau en cours
  dim t_c(Nb_couleur%,3)  : ' Gère les couleurs par un tableau de couleurs avec 3 composantes
return

donnees:
  data  0,  0,  0, 255,255,255, 155,155, 55,  180,180,80,  80, 80, 80,  80, 80,215
  data 215, 80, 80,  80,215, 80, 155,133,155,  100,215,100, 215, 80,215, 215,215, 80
  data  80,215,215, 100,100,215,  55,215,133,  133, 55,215, 215,133, 55,  55, 55,133
return

form0:
  ' Paramètrage de la fenêtre principale du jeu
  left 0,px% : top 0,py% : ' Position initale de la fenêtre 0
  width 0, w% : height 0,450
  caption 0,"PANORABRIQUE 3D"
  scene3d 1 : full_space 1 : color 1,170, 170, 255 :  ' cree le monde 3D avec un fond bleu clair
  cam_x_position 0  : cam_y_position Hauteur_cam : cam_z_position 13  : ' positionne la camera
  point_x_position 0 : point_y_position 0  : point_z_position -0.5 : ' objectif dirigé vers le centre
  light_x_position -5 : light_y_position 15 : light_z_position -50  : ' positionne la lumiere
  on_key_down 0,key
  no% = no% + 1
return

menu:
  no% = no% + 1 : main_menu no% : no1% = no%
  no% = no% + 1 : sub_menu no% : parent no%,no1% : no2% = no%
    caption no%,"Fichier"
  no% = no% + 1 : sub_menu no% : parent no%,no2% : no_start% = no%
    caption no%,"Nouveau jeu" : on_click no%,start
  no% = no% + 1 : sub_menu no% : parent no%,no2% : no_stop% = no%
    caption no%,"Stop" : inactive no% : on_click no%,stopit
  no% = no% + 1 : sub_menu no% : parent no%,no2%
    caption no%,"------------"
  no% = no% + 1 : sub_menu no% : parent no%,no2%
    caption no%,"Sortir" : on_click no%,sortir
  no% = no% + 1 : sub_menu no% : parent no%,no1% : no2% = no%
    caption no%,"Options"
  no% = no% + 1 : sub_menu no% : parent no%,no2%
    caption no%,"Configuration" : on_click no%,config
  no% = no% + 1 : sub_menu no% : parent no%,no2%
    caption no%,"Défauts" : on_click no%,defaut
  no% = no% + 1 : sub_menu no% : parent no%,no1% : no2% = no%
    caption no%,"Aide"
  no% = no% + 1 : sub_menu no% : parent no%,no2%
    caption no%,"Mode d'emploi" : on_click no%,aide
  no% = no% + 1 : sub_menu no% : parent no%,no2%
    caption no%,"A-propos" : on_click no%,apropos
  return

GUI:

  ' Création des objets (balle, murs, raquette...)
  ' Numéro des objets 3D: 1=ball; 2= back wall; 3= left wall;  4 = rigth wall; 5=pad; 6=score

  hide 1
  3d_sphere 1, 0.3 : 3d_color 1,0,0,0 : 3d_collision_as_sphere 1 : ' Balle

  3d_box 2,  15.5, 0.4, 0.5 : 3d_color 2,155,155,55              : ' Mur du fond
  3d_x_position 2, 0 : 3d_y_position 2, 0 : 3d_z_position 2, -7.75

  3d_box 3, 0.5, 0.5, 15  : 3d_color 3,155,155,55                : ' Mur gauche
  3d_x_position 3, -7.5 : 3d_y_position 3, 0 : 3d_z_position 3, 0.25

  3d_box 4, 0.5, 0.5, 15  : 3d_color 4,155,155,55                : ' Mur droit
  3d_x_position 4, 7.5 : 3d_y_position 4, 0 : 3d_z_position 4, 0.25

  3D_text 6, "Score: 0" : 3d_color 6,250,250,0                  : ' Score
  3d_x_position 6, -6 : 3d_y_position 6, 5.5 : 3d_z_position 6, 5
  3d_x_scale 6, 1.2  : 3d_y_scale 6, 1.2  : 3d_z_scale 6, 1.2


  no% = no% + 1 : timer no% : no_timer% = no% : ' Definit le timer principal du jeu
  timer_interval no_timer%,speed% : on_timer no%,tick : timer_off no%

  no% = no% + 1 : form no% : hide no% : no_apropos% = no% : ' Définit la fenêtre "A propos"
    top no%,200 : left no%,200 : caption no%,"A-propos"
    on_close no%,close_apropos
  no% = no% + 1 : alpha no% : parent no%,no_apropos%
    top no%,20 : left no%,20 : font_size no%,12
    s$ = "Jeu PANORABRIQUE 3D"+chr$(13)+chr$(10)+chr$(10)
    s$ = s$ + "Version: "+version$+chr$(13)+chr$(10)
    s$ = s$ + "Du: "+date_cre$+chr$(13)+chr$(10)+chr$(10)
    s$ = s$ + "Auteur: Jean-Charles"+chr$(13)+chr$(10)+chr$(10)
    caption no%,s$

  no% = no% + 1 : form no% : hide no% : no_aide% = no% : width no%,450 : ' Définit la fenêtre du Mode d'emploi
  caption no%,"Mode d'emploi" : on_close no%,close_aide
  no% = no% + 1 : alpha no% : parent no%,no_aide%
    top no%,20 : left no%,20 : font_size no_aide%,10 : k% = 2
    s$ = "Bienvenu dans PANORABRIQUE 3D !" + chr$(13)+chr$(10)+chr$(10) : k%=k%+1
    s$ = s$ + "Vous dirigez la raquette (rectangle gris) à l'aide de " + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + "la souris. (Si vous déplacez la souris à droite, " + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + "la raquette va à droite et réciproquement." + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + "Vous devez faire rebondir la balle sur la raquette pour" + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + " éviter qu'elle ne tombe" + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + "La balle rebondit sur la raquette et les murs." + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + "La balle brise les briques et rebondit."  + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + "Vous marquez des points en brisant les briques." + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + "Quand il ne reste plus de briques, vous passez au" + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + "niveau suivant..." + chr$(13)+chr$(10)+ chr$(13)+chr$(10): k%=k%+2
    s$ = s$ + "Cliquez pour lancer la balle" + chr$(13)+chr$(10)+ chr$(13)+chr$(10): k%=k%+2
    s$ = s$ + "Appuyez sur une touche quelconque pour mettre le jeu en pause": k%=k%+2
    top no%-1,150 : left no%-1,200 : height no%-1,20*k%
    caption no%,s$

  no% = no% + 1 : form no% : hide no% : no_config% = no% : ' Définit la fenêtre de configuration
    top no%,200 : left no%,200 : caption no%,"Configuration"
    width no%,450
    on_close no%,close_config

    no% = no% + 1 : alpha no% : parent no%,no_config%
      top no%,20 : left no%,10 : caption no%,"Vitesse de la balle :"
    no% = no% + 1 : edit no% : parent no%,no_config% : no_config_v% = no%
      top no%,20 : left no%,120 : width no%,30
      text no%,str$(v)
    no% = no% + 1 : alpha no% : parent no%,no_config%
      top no%,20 : left no%,160 : caption no%,"(1 (très lent) à 10 (très rapide))"
    no% = no% + 1 : alpha no% : parent no%,no_config%
      top no%,50 : left no%,10 : caption no%,"Vitesse du jeu (en ms):"
    no% = no% + 1 : edit no% : parent no%,no_config% : no_config_speed% = no%
      top no%,50 : left no%,120 : width no%,30
      text no%,str$(speed%)
    no% = no% + 1 : alpha no% : parent no%,no_config%
      top no%,50 : left no%,160 : caption no%,"(10 (très rapide) à 100 (très lent))"
    no% = no% + 1 : alpha no% : parent no%,no_config%
    ' Vont être rajoutés ici le paramètrage de la largeur de la raquette,
    ' du nombre de vies et de la hauteur de la caméra
  return

initialisations:
  w%= 690 : h% = 450  : ' Largeur et Hauteur de la fenêtre 0
  px% = 0 : py% = 0  : ' Position en x et en y de la fenêtre 0
  for i% = 1 to Nb_couleur% : ' Charge le tableau des couleurs avec leur 3 composantes
    for j% = 1 to 3 : read k% : t_c(i%,j%)=k% : next j%
  next i%

  largeur_r = 3.6  : ' largeur par défaut de la raquette
  v = 3            : ' vitesse par défaut
  Nb_vies = 3      : ' 3 vies
  Hauteur_cam = 7  : ' Hauteur par défaut de la caméra
return

sortir:
  timer_off no_timer%
  terminate

defaut:
  v = 3  : ' Rétablir les valeurs par défaut du jeu
  Nb_vies = 3
  largeur_r = 3.6
  Hauteur_cam = 7
  gosub change_config
return


stopit:
  timer_off no_timer%
  inactive no_stop%
  active no_start%
return

start:
  active no_stop%
  inactive no_start%
  show 1
  Pause% = 0
  vies = Nb_vies  : ' 3 vies
  vx = 0.10 + v*0.05 : vz = 0.10 + v*0.05
  s=0        : ' Score à 0
  niveau%= 0

restart:
  timer_off no_timer%
  if O3D_OBJECT_EXISTS(5) = 1 then 3D_Delete 5
  if largeur_r > 0.75 then largeur_r = largeur_r - 0.1
  3d_box 5, largeur_r , 0.5, 0.5 : 3d_color 5,80,80,80          : ' Raquette
  3d_x_position 5, 0 : 3d_y_position 5, 0 : 3d_z_position 5, 7.75
  niveau% = niveau% + 1
  Nb_lignes = 6: gosub Dessine_briques
  caption 0,"PANORABRIQUE 3D - Niveau actuel :" + str$(Niveau%)
  gosub Lance_balle
  timer_on no_timer%
return

Dessine_briques:
  if variable("t_br")=1 then free t_br
  dim t_br(Nb_lignes*Nb_b_ligne,5)
  Nb_briques_restantes = 0
  For i%= 1 to Nb_lignes
    For j% = 1 to Nb_b_ligne
      Nb_briques_restantes=Nb_briques_restantes+1
      t_br(Nb_briques_restantes,1) = 1    : ' Brique non cassée
      t_br(Nb_briques_restantes,5) = 100  : ' Valeur en point de la brique
      t_br(Nb_briques_restantes,2) = t_c(5+i%,1): ' Valeur rouge
      t_br(Nb_briques_restantes,3) = t_c(5+i%,2): ' Valeur verte
      t_br(Nb_briques_restantes,4) = t_c(5+i%,3): ' Valeur bleue
      gosub Trace_brique
    Next j%
  Next i%
return

Trace_brique:
if O3D_OBJECT_EXISTS(50+Nb_briques_restantes)=0 then 3d_box 50+Nb_briques_restantes, largeur_b, hauteur_b, hauteur_b
  3d_color 50+Nb_briques_restantes,t_br(Nb_briques_restantes,2),t_br(Nb_briques_restantes,3),t_br(Nb_briques_restantes,4)
  3d_x_position 50+Nb_briques_restantes, -7.43 + j%*(largeur_b + 0.33)
  3d_y_position 50+Nb_briques_restantes, 0
  3d_z_position 50+Nb_briques_restantes, i% - 7 + (i%-1)*0.33
  3d_collision_as_cube 50+Nb_briques_restantes
return

Lance_balle:
  zball=7 : xball= xpad : 3d_x_position 1,xball : 3d_z_position 1,zball
  while pause% = 0
      if (mouse_left_up(1)=1 and mouse_left_down(1)=0) then exit_while
  end_while
  dx=1.5-rnd(1):dz=-1
return

tick:
  timer_off no_timer%
    ' lecture position souris en X et positionne la raquette
    xpad=(mouse_x_position(1)-340)/15
    if xpad>6.5 then xpad=6.5
    if xpad<-6.5 then xpad=-6.5
    3d_x_position 5,xpad

  ' Teste le rebond sur les bords
  xball=xball+dx*vx
  if xball > 7  then xball=7 : dx=-1.5 + rnd (1) : ' Rebond à droite
  if xball < -7 then xball=-7: dx= 1.5 - rnd(1)  : ' Rebond à gauche
  3d_x_position 1,xball

  zball=zball+dz*vz
  if zball < -7 then zball=-7:dz=1 : ' Rebond sur le fond

  ' Teste si la balle touche la raquette
  if (zball>=7)and((xpad-(largeur_r/2))<xball)and(xball<(xpad+(largeur_r/2)))
    zball=7:dz=-1.5+rnd(1):s=s+1:3D_text_change 6,"Score: " + str$(s)
  end_if


  ' Teste si la balle touche une brique
  k%=1
  For i%= 1 to Nb_lignes
    For j% = 1 to Nb_b_ligne
      If O3D_OBJECT_EXISTS(50+k%) = 1
        If O3D_collision (1,50+k%) = 1
          3D_Delete 50+k%
          Nb_briques_restantes = Nb_briques_restantes - 1
          s = s + t_br(k%,5)
          dz = dz*M1% : ' on inverse la direction en Z
        End_if
      End_if
      k%=k%+1
    Next j%
  Next i%

  if vies > -1
  if vies > 1
      3d_text_change 6,"Score: " +str$(s) + "      Vies: "+str$(vies)
  else
      3d_text_change 6,"Score: " +str$(s) + "      Vie : "+str$(vies)
  end_if
  end_if
  if zball>= 8
    if vies > 0
      vies=vies-1 : wait 200 : gosub Lance_balle
    else
      goto fin
    end_if
  end_if
  if Nb_briques_restantes = 0
    Message "Bravo, niveau suivant ..."
    gosub restart
  end_if

  3d_z_position 1,zball
  timer_on no_timer%
return

key:
if pause% = 0
  pause% = 1
  caption 0,"PANORABRIQUE 3D - jeu en pause -"
  timer_off no_timer%
else
  pause% = 0
  caption 0,"PANORABRIQUE 3D - Niveau actuel :" + str$(Niveau%)
  timer_on no_timer%
end_if

return


config:
  inactive 0
  show no_config%
return

close_config:
  s$ = text$(no_config_v%)
  if numeric(s$)=0
    message "La vitesse de la balle est invalide !"
    text no_config_v%,str$(v%)
    active 0
    return
  end_if
  k% = val(s$)
  if (k%<1) or (k%>10)
    message "La vitesse de la balle est invalide !"
    text no_config_v%,str$(v%)
    active 0
    return
  end_if
  s$ = text$(no_config_speed%)
  if numeric(s$)=0
    message "La vitesse du jeu est invalide !"
    text no_config_speed%,str$(speed%)
    active 0
    return
  end_if
  n% = val(s$)
  if (n%<10) or (n%>100)
    message "La vitesse du jeu est invalide !"
    text no_config_speed%,str$(speed%)
    active 0
    return
  end_if
  v = k%
  speed%=n%
  gosub change_config
  active 0
return

change_config:
  timer_interval no_timer%, speed%
  vx = 0.10 + v*0.05 : vz = 0.10 + v*0.05
return

aide:
  inactive 0
  show no_aide%
return

close_aide:
  active 0
return

apropos:
  inactive 0
  show no_apropos%
return

close_apropos:
  active 0
return

fin:
  gosub stopit
  message "Dommage, vous avez épuisé toute vos vies"
end

Si vous voyez des améliorations simples ou des options à rajouter, n'hésitez pas à les proposer.

Edit du 16 Août: Ajout de la pause, du clic pour lancer la balle et rétrécissement de la raquette


Dernière édition par Jicehel le Jeu 16 Aoû 2012 - 22:45, édité 5 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Panorabriques à la mode des menus   Jeu 16 Aoû 2012 - 1:30

Salut LEBEAU. Laughing
Ton jeu c’est beau ! Smile
J’ai joué sans même regarder le code.
J’ai du monde chez moi.
Tout à l’heure, je regarderais le code pour ….apprendre et …m’inspirer pour plus tard !
lol! lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5923
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Panorabriques à la mode des menus   Jeu 16 Aoû 2012 - 1:46

Bah, le code c'est presque le même, j'ai juste essayé de le structurer à la façon Klaus, car j'aime beaucoup, même si quand je code par défaut, je ne résone pas naturellement comme ça. Le résultat de son code à la lecture ou pour modifier me plait bien Wink.
Bon il est super tard, je fonce au lit ...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 16 Aoû 2012 - 2:14

cheers cheers cheers FELICITATIONS !!!!! cheers cheers cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Panorabriques à la mode des menus   Jeu 16 Aoû 2012 - 3:35

Jicehel, voici mes petites remarques tout à fait personnelles. Wink

* Ligne 153 : rebondit au lieu de rebondie
* Ligne 168 : left no%,120 : width no%,30 au lieu de 100 et 40
* Ligne 175 : left no%,120 : width no%,30 pour une meilleure lisibilité (dans OPTIONS/CONFIGURATION)
* Ligne 292 : je ne vois pas pourquoi ce test : if vies > -1
Je pense que le test de la ligne 293 suffit.
J’ai mis la ligne 292 et la ligne 298 (qui va avec) en REM et il me semble que c’est correct. Mais qui sait ?
Quelque chose m’échappe peut-être.

Maintenant le côté positif :
C’est un bon petit jeu. Le programme est très bien documenté, très clair, facile à suivre et à analyser.
J’apprendrais certainement quelque chose sur la 3D et compagnie !

BRAVO

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

avatar

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

MessageSujet: Re: Panorabriques à la mode des menus   Jeu 16 Aoû 2012 - 4:24

Quand on commence un nouveau jeu, celui-ci démarre très rapidement de sorte qu’on perd souvent la 1ere balle. Sad
J’ai ajouté WAIT 500 juste avant GOSUB lance_balle en ligne 216. Crying or Very sad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5923
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Panorabriques à la mode des menus   Jeu 16 Aoû 2012 - 7:41

Merci pour vos commentaires Wink Ca fait plaisir

@Papydall, j'ai fais les corrections indiquées dans tes messages.
J'ai laissé le if vies > -1, c'est un détail sans importance, c'est juste pour qu'il n'y ait pas le S à vies quand on en n(a plus qu'1 ou 0

Je mets à jour le code du premier post avec ces améliorations.

Si tu vois d'autres améliorations, n'hésite pas Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5923
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Panorabriques à la mode des menus   Jeu 16 Aoû 2012 - 14:00

Ce soir je rajouterais des paramètrages (Nombre de vies, ...), j'ai modifié un petit peu le programme du boulot pour virer un reste du programme de Klaus qui n'avait pas de raison d'être ... et oui, il faut faire gaffe quand on fait un copier / coller Shocked et j'arrète le timer quand on sort par le menu pour éviter les messages d'erreur...
Ce soir je voudrais rajouter aussi une pause quand on clic sur la souris de manière à pouvoir changer les paramètres, aller boire un bière ou changer de chaine sans perdre sa partie Smile
Du coup, je rajouterais reprendre dans le menu aussi quand on fait un stop (C'est le même principe)
Je pense que je remplacerais le wiat 500 par un décompte, du genre un fenêtre avec un 3, puis 2, puis 1 et ensuite la balle part.
C'est tout pour mes idées du midi...

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Panorabriques à la mode des menus   Jeu 16 Aoû 2012 - 14:12

Même si tu enlève if vies > -1 l’affichage reste correct : pas d’s à vie lorsque = à 1 ou à 0, mais c’est un détail sans importance comme tu l’as écrit !

Une petite idée Idea qui me vient à l’instant : si au début de la partie, la balle se trouve sur la raquette et on démarre par un click.
On n’a plus besoin du WAIT et on ne perd pas la 1ere balle avant d’avoir commencé.

PS : c’est peut-être une idée d’un jeune vieux farao dont le temps de réaction n’est plus celui d’un vieux jeune ! geek

cheers lol! lol! lol! cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5923
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Panorabriques à la mode des menus   Jeu 16 Aoû 2012 - 14:14

Non c'est pas mal comme idée Smile Raquette et balle fixée à un endroit jusqu'au clic, ça me va bien ça aussi. En plus c'est simple à coder. Je prends. N'hésite pas pour les idées... Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Panorabriques à la mode des menus   Jeu 16 Aoû 2012 - 14:22

J’avais hésité entre jeune vieux et vieux jeune. Smile
Ça a passé. C’est bon signe. bounce
sunny flower sunny
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 16 Aoû 2012 - 14:25

Pour corser le truc,

je vois bien une raquette qui rétrécie au fur et à mesure que l'on avance dans les niveaux... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5923
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Panorabriques à la mode des menus   Jeu 16 Aoû 2012 - 14:28

OK, ça doit pouvoir se faire, mais je mettrais une taille mini quand même ...
Après par contre, on peut jouer aussi sur la vitesse de la balle ...
Pourquoi pas, je mettrais ça dans les options
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Panorabriques à la mode des menus   Jeu 16 Aoû 2012 - 14:29

Et pourquoi Question
Pour que JC ne puisse plus jouer Question
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jicehel

avatar

Nombre de messages : 5923
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Panorabriques à la mode des menus   Jeu 16 Aoû 2012 - 14:32

Bah, c'est une option, ceux qui veulent souffrir le pourront... Tu sais Papydall, il y en a qui aime ça Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Panorabriques à la mode des menus   Jeu 16 Aoû 2012 - 14:52

Comme quoi, il y a de tout : des masos, des sados, des victimes, des bourreaux, etc.
Tout le monde devrait avoir son dû !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 16 Aoû 2012 - 21:08

Non, non, je ne suis ni l'un, ni l'autre... Evil or Very Mad

Mais il faut bien une évolution entre les niveaux sinon le jeu perd de son intérêt... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5923
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Panorabriques à la mode des menus   Jeu 16 Aoû 2012 - 22:38

Voilà, on clic désormais pour lancer la balle
Pause en appuyant sur une touche / relance en appuyant sur une touche
La raquette rétrécie à chaque niveau
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 16 Aoû 2012 - 23:34

j'ai eu un petit bug entre le niveau 2 et 3 ou mes vies sont revenus à 2 au lieu de 1... Wink
mais bon j'ai beaucoup de choses ouvertes sur le bureau aussi, il y a peut être eu une interférence... Laughing
J'essaierai plus en profondeur un peu plus tard...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5923
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Panorabriques à la mode des menus   Ven 17 Aoû 2012 - 0:22

Je n'ai pas réussi à le reproduire, j'ai regardé le code, ça m'a l'air bon.
Dis moi si ça se reproduit et si tu vois quand cela se produit dans ce cas si tu vois.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Panorabriques à la mode des menus   Ven 17 Aoû 2012 - 3:50

Une minuscule petite correction :
Avant dernière ligne : ajouter un s à toute dans : message "Dommage, vous avez épuisé toute vos vies"

affraid affraid Ça m’énerve les fotes dortograf ! affraid affraid

Seulement parfois, pas toujours! Smile Smile Smile

Hé ! Réflexion faite : pourquoi avons-nous épuisé toutes nos vies ?
On n’en a qu’une seule à ce que je sache et elle est encore en cours !

Ne serait-il pas mieux d’écrire ‘Dommage vous avez épuisé toutes vos balles’ ?
Hein ! Que penses-tu de cette super ultra grande trouvaille de fin de nuit ? Idea

Et ne dis pas que je dérive, car même si je dérive, j’atteindrais inéluctablement la rive !

lol! lol! lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 17 Aoû 2012 - 5:24

Perso, je préfère "Billes" à "Balles"

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5923
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Panorabriques à la mode des menus   Ven 17 Aoû 2012 - 7:26

Et voilà, version à 3 balles Wink
Code:
' Panorabrique V2 par Jean-Charles (Aout 2012)
'
' Bon après quelques mois, je pense qu'il est bon de reprendre ses vieux programmes
' et de les perfectionner un peu
'
' Objectif de cette version: structurer et commenter mieux
' Enrichir et améliorer un peu le jeu

  label labels : gosub labels
  gosub constantes
  gosub variables
  gosub donnees
  gosub initialisations
  gosub form0
  gosub menu
  gosub GUI
end

labels:
  label constantes, variables, donnees
  label form0, menu, GUI, initialisations
  label sortir,start, tick, restart, key
  label config, close_config, defaut, aide, close_aide
  label apropos, close_apropos, change_config, stopit
  label Lance_balle, Fin, Dessine_briques, Trace_brique
return

constantes:
  dim version$ : version$ = "V02.00"
  dim date_cre$ : date_cre$ = "15 Août 2012"
  dim taille% : taille% = 25 : ' taille des cases
  dim speed% : speed% = 30  : ' milli-secondes entre chaque mouvement
  dim Nb_b_ligne : Nb_b_ligne = 7  : ' Nombre de lignes de briques
  dim hauteur_b, largeur_b : largeur_b=1.55 :  hauteur_b=0.75
  dim Nb_couleur%: Nb_couleur% = 18 : ' Nombre de couleurs définies
  dim M1% : M1% = 0 - 1
return

variables:
  dim no%, no1%, no2% : ' Numméro d'objets temporaires
  dim w%, h%, px%, py%: ' Largeur, Hauteur, Position en x et en y de la fenêtre 0
  dim i%, j%, k%, n%, s$ : ' Déclaration de variables temporaires diverses
  dim no_timer%, no_apropos%, no_aide%, no_config% : ' Numéro des objets importants utilisés
  dim no_config_v%, no_config_speed%          : ' Timer, numéro des fenêtres, ...
  dim no_stop%, no_play%, no_start%
  dim xpad        : ' Position de la souris
  dim s, vies    : ' Score et nombre de balles restantes
  dim xball,zball : ' position de la balle
  dim dx,dz      : ' direction de la balle
  dim vx,vz,v    : ' vitesse de la balle
  dim largeur_r  : ' Largeur de la raquette
  dim Nb_lignes  : ' Nombre de lignes de briques
  dim Nb_briques_restantes : ' Compte combien il reste de briques à détruire pour finir le niveau
  dim Nb_vies    : ' Définit le nombre de balles au démarrage
  dim Hauteur_cam : ' Définit la hauteur de la caméra
  dim Pause%      : ' Bascule pour mettre le jeu en pause ou reprendre
  dim Niveau%    : ' Niveau en cours
  dim t_c(Nb_couleur%,3)  : ' Gère les couleurs par un tableau de couleurs avec 3 composantes
return

donnees:
  data  0,  0,  0, 255,255,255, 155,155, 55,  180,180,80,  80, 80, 80,  80, 80,215
  data 215, 80, 80,  80,215, 80, 155,133,155,  100,215,100, 215, 80,215, 215,215, 80
  data  80,215,215, 100,100,215,  55,215,133,  133, 55,215, 215,133, 55,  55, 55,133
return

form0:
  ' Paramètrage de la fenêtre principale du jeu
  left 0,px% : top 0,py% : ' Position initale de la fenêtre 0
  width 0, w% : height 0,450
  caption 0,"PANORABRIQUE 3D"
  scene3d 1 : full_space 1 : color 1,170, 170, 255 :  ' cree le monde 3D avec un fond bleu clair
  cam_x_position 0  : cam_y_position Hauteur_cam : cam_z_position 13  : ' positionne la camera
  point_x_position 0 : point_y_position 0  : point_z_position -0.5 : ' objectif dirigé vers le centre
  light_x_position -5 : light_y_position 15 : light_z_position -50  : ' positionne la lumiere
  on_key_down 0,key
  no% = no% + 1
return

menu:
  no% = no% + 1 : main_menu no% : no1% = no%
  no% = no% + 1 : sub_menu no% : parent no%,no1% : no2% = no%
    caption no%,"Fichier"
  no% = no% + 1 : sub_menu no% : parent no%,no2% : no_start% = no%
    caption no%,"Nouveau jeu" : on_click no%,start
  no% = no% + 1 : sub_menu no% : parent no%,no2% : no_stop% = no%
    caption no%,"Stop" : inactive no% : on_click no%,stopit
  no% = no% + 1 : sub_menu no% : parent no%,no2%
    caption no%,"------------"
  no% = no% + 1 : sub_menu no% : parent no%,no2%
    caption no%,"Sortir" : on_click no%,sortir
  no% = no% + 1 : sub_menu no% : parent no%,no1% : no2% = no%
    caption no%,"Options"
  no% = no% + 1 : sub_menu no% : parent no%,no2%
    caption no%,"Configuration" : on_click no%,config
  no% = no% + 1 : sub_menu no% : parent no%,no2%
    caption no%,"Défauts" : on_click no%,defaut
  no% = no% + 1 : sub_menu no% : parent no%,no1% : no2% = no%
    caption no%,"Aide"
  no% = no% + 1 : sub_menu no% : parent no%,no2%
    caption no%,"Mode d'emploi" : on_click no%,aide
  no% = no% + 1 : sub_menu no% : parent no%,no2%
    caption no%,"A-propos" : on_click no%,apropos
  return

GUI:

  ' Création des objets (balle, murs, raquette...)
  ' Numéro des objets 3D: 1=ball; 2= back wall; 3= left wall;  4 = rigth wall; 5=pad; 6=score

  hide 1
  3d_sphere 1, 0.3 : 3d_color 1,0,0,0 : 3d_collision_as_sphere 1 : ' Balle

  3d_box 2,  15.5, 0.4, 0.5 : 3d_color 2,155,155,55              : ' Mur du fond
  3d_x_position 2, 0 : 3d_y_position 2, 0 : 3d_z_position 2, -7.75

  3d_box 3, 0.5, 0.5, 15  : 3d_color 3,155,155,55                : ' Mur gauche
  3d_x_position 3, -7.5 : 3d_y_position 3, 0 : 3d_z_position 3, 0.25

  3d_box 4, 0.5, 0.5, 15  : 3d_color 4,155,155,55                : ' Mur droit
  3d_x_position 4, 7.5 : 3d_y_position 4, 0 : 3d_z_position 4, 0.25

  3D_text 6, "Score: 0" : 3d_color 6,250,250,0                  : ' Score
  3d_x_position 6, -6 : 3d_y_position 6, 5.5 : 3d_z_position 6, 5
  3d_x_scale 6, 1.2  : 3d_y_scale 6, 1.2  : 3d_z_scale 6, 1.2


  no% = no% + 1 : timer no% : no_timer% = no% : ' Definit le timer principal du jeu
  timer_interval no_timer%,speed% : on_timer no%,tick : timer_off no%

  no% = no% + 1 : form no% : hide no% : no_apropos% = no% : ' Définit la fenêtre "A propos"
    top no%,200 : left no%,200 : caption no%,"A-propos"
    on_close no%,close_apropos
  no% = no% + 1 : alpha no% : parent no%,no_apropos%
    top no%,20 : left no%,20 : font_size no%,12
    s$ = "Jeu PANORABRIQUE 3D"+chr$(13)+chr$(10)+chr$(10)
    s$ = s$ + "Version: "+version$+chr$(13)+chr$(10)
    s$ = s$ + "Du: "+date_cre$+chr$(13)+chr$(10)+chr$(10)
    s$ = s$ + "Auteur: Jean-Charles"+chr$(13)+chr$(10)+chr$(10)
    caption no%,s$

  no% = no% + 1 : form no% : hide no% : no_aide% = no% : width no%,450 : ' Définit la fenêtre du Mode d'emploi
  caption no%,"Mode d'emploi" : on_close no%,close_aide
  no% = no% + 1 : alpha no% : parent no%,no_aide%
    top no%,20 : left no%,20 : font_size no_aide%,10 : k% = 2
    s$ = "Bienvenu dans PANORABRIQUE 3D !" + chr$(13)+chr$(10)+chr$(10) : k%=k%+1
    s$ = s$ + "Vous dirigez la raquette (rectangle gris) à l'aide de " + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + "la souris. (Si vous déplacez la souris à droite, " + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + "la raquette va à droite et réciproquement." + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + "Vous devez faire rebondir la balle sur la raquette pour" + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + " éviter qu'elle ne tombe" + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + "La balle rebondit sur la raquette et les murs." + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + "La balle brise les briques et rebondit."  + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + "Vous marquez des points en brisant les briques." + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + "Quand il ne reste plus de briques, vous passez au" + chr$(13)+chr$(10): k%=k%+1
    s$ = s$ + "niveau suivant..." + chr$(13)+chr$(10)+ chr$(13)+chr$(10): k%=k%+2
    s$ = s$ + "Cliquez pour lancer la balle" + chr$(13)+chr$(10)+ chr$(13)+chr$(10): k%=k%+2
    s$ = s$ + "Appuyez sur une touche quelconque pour mettre le jeu en pause": k%=k%+2
    top no%-1,150 : left no%-1,200 : height no%-1,20*k%
    caption no%,s$

  no% = no% + 1 : form no% : hide no% : no_config% = no% : ' Définit la fenêtre de configuration
    top no%,200 : left no%,200 : caption no%,"Configuration"
    width no%,450
    on_close no%,close_config

    no% = no% + 1 : alpha no% : parent no%,no_config%
      top no%,20 : left no%,10 : caption no%,"Vitesse de la balle :"
    no% = no% + 1 : edit no% : parent no%,no_config% : no_config_v% = no%
      top no%,20 : left no%,120 : width no%,30
      text no%,str$(v)
    no% = no% + 1 : alpha no% : parent no%,no_config%
      top no%,20 : left no%,160 : caption no%,"(1 (très lent) à 10 (très rapide))"
    no% = no% + 1 : alpha no% : parent no%,no_config%
      top no%,50 : left no%,10 : caption no%,"Vitesse du jeu (en ms):"
    no% = no% + 1 : edit no% : parent no%,no_config% : no_config_speed% = no%
      top no%,50 : left no%,120 : width no%,30
      text no%,str$(speed%)
    no% = no% + 1 : alpha no% : parent no%,no_config%
      top no%,50 : left no%,160 : caption no%,"(10 (très rapide) à 100 (très lent))"
    no% = no% + 1 : alpha no% : parent no%,no_config%
  return

initialisations:
  w%= 690 : h% = 450  : ' Largeur et Hauteur de la fenêtre 0
  px% = 0 : py% = 0  : ' Position en x et en y de la fenêtre 0
  for i% = 1 to Nb_couleur% : ' Charge le tableau des couleurs avec leur 3 composantes
    for j% = 1 to 3 : read k% : t_c(i%,j%)=k% : next j%
  next i%

  largeur_r = 3.6  : ' largeur par défaut de la raquette
  v = 3            : ' vitesse par défaut
  Nb_vies = 3      : ' 3 balles en stock
  Hauteur_cam = 7  : ' Hauteur par défaut de la caméra
return

sortir:
  timer_off no_timer%
  terminate

defaut:
  v = 3  : ' Rétablir les valeurs par défaut du jeu
  Nb_vies = 3
  largeur_r = 3.6
  Hauteur_cam = 7
  gosub change_config
return


stopit:
  timer_off no_timer%
  inactive no_stop%
  active no_start%
return

start:
  active no_stop%
  inactive no_start%
  show 1
  Pause% = 0
  vies = Nb_vies  : ' Initialise le compteur de balles restantes
  vx = 0.10 + v*0.05 : vz = 0.10 + v*0.05
  s=0        : ' Score à 0
  niveau%= 0

restart:
  timer_off no_timer%
  if O3D_OBJECT_EXISTS(5) = 1 then 3D_Delete 5
  if largeur_r > 0.75 then largeur_r = largeur_r - 0.1
  3d_box 5, largeur_r , 0.5, 0.5 : 3d_color 5,80,80,80          : ' Raquette
  3d_x_position 5, 0 : 3d_y_position 5, 0 : 3d_z_position 5, 7.75
  niveau% = niveau% + 1
  Nb_lignes = 6: gosub Dessine_briques
  caption 0,"PANORABRIQUE 3D - Niveau actuel :" + str$(Niveau%)
  gosub Lance_balle
  timer_on no_timer%
return

Dessine_briques:
  if variable("t_br")=1 then free t_br
  dim t_br(Nb_lignes*Nb_b_ligne,5)
  Nb_briques_restantes = 0
  For i%= 1 to Nb_lignes
    For j% = 1 to Nb_b_ligne
      Nb_briques_restantes=Nb_briques_restantes+1
      t_br(Nb_briques_restantes,1) = 1    : ' Brique non cassée
      t_br(Nb_briques_restantes,5) = 100  : ' Valeur en point de la brique
      t_br(Nb_briques_restantes,2) = t_c(5+i%,1): ' Valeur rouge
      t_br(Nb_briques_restantes,3) = t_c(5+i%,2): ' Valeur verte
      t_br(Nb_briques_restantes,4) = t_c(5+i%,3): ' Valeur bleue
      gosub Trace_brique
    Next j%
  Next i%
return

Trace_brique:
if O3D_OBJECT_EXISTS(50+Nb_briques_restantes)=0 then 3d_box 50+Nb_briques_restantes, largeur_b, hauteur_b, hauteur_b
  3d_color 50+Nb_briques_restantes,t_br(Nb_briques_restantes,2),t_br(Nb_briques_restantes,3),t_br(Nb_briques_restantes,4)
  3d_x_position 50+Nb_briques_restantes, -7.43 + j%*(largeur_b + 0.33)
  3d_y_position 50+Nb_briques_restantes, 0
  3d_z_position 50+Nb_briques_restantes, i% - 7 + (i%-1)*0.33
  3d_collision_as_cube 50+Nb_briques_restantes
return

Lance_balle:
  zball=7 : xball= xpad : 3d_x_position 1,xball : 3d_z_position 1,zball
  while pause% = 0
      if (mouse_left_up(1)=1 and mouse_left_down(1)=0) then exit_while
  end_while
  dx=1.5-rnd(1):dz=-1
return

tick:
  timer_off no_timer%
    ' lecture position souris en X et positionne la raquette
    xpad=(mouse_x_position(1)-340)/15
    if xpad>6.5 then xpad=6.5
    if xpad<-6.5 then xpad=-6.5
    3d_x_position 5,xpad

  ' Teste le rebond sur les bords
  xball=xball+dx*vx
  if xball > 7  then xball=7 : dx=-1.5 + rnd (1) : ' Rebond à droite
  if xball < -7 then xball=-7: dx= 1.5 - rnd(1)  : ' Rebond à gauche
  3d_x_position 1,xball

  zball=zball+dz*vz
  if zball < -7 then zball=-7:dz=1 : ' Rebond sur le fond

  ' Teste si la balle touche la raquette
  if (zball>=7)and((xpad-(largeur_r/2))<xball)and(xball<(xpad+(largeur_r/2)))
    zball=7:dz=-1.5+rnd(1):s=s+1:3D_text_change 6,"Score: " + str$(s)
  end_if


  ' Teste si la balle touche une brique
  k%=1
  For i%= 1 to Nb_lignes
    For j% = 1 to Nb_b_ligne
      If O3D_OBJECT_EXISTS(50+k%) = 1
        If O3D_collision (1,50+k%) = 1
          3D_Delete 50+k%
          Nb_briques_restantes = Nb_briques_restantes - 1
          s = s + t_br(k%,5)
          dz = dz*M1% : ' on inverse la direction en Z
        End_if
      End_if
      k%=k%+1
    Next j%
  Next i%

  if vies > -1
  if vies > 1
      3d_text_change 6,"Score: " +str$(s) + "      Balles: "+str$(vies)
  else
      3d_text_change 6,"Score: " +str$(s) + "      Balle : "+str$(vies)
  end_if
  end_if
  if zball>= 8
    if vies > 0
      vies=vies-1 : wait 200 : gosub Lance_balle
    else
      goto fin
    end_if
  end_if
  if Nb_briques_restantes = 0
    Message "Bravo, niveau suivant ..."
    gosub restart
  end_if

  3d_z_position 1,zball
  timer_on no_timer%
return

key:
if pause% = 0
  pause% = 1
  caption 0,"PANORABRIQUE 3D - jeu en pause -"
  timer_off no_timer%
else
  pause% = 0
  caption 0,"PANORABRIQUE 3D - Niveau actuel :" + str$(Niveau%)
  timer_on no_timer%
end_if

return


config:
  inactive 0
  show no_config%
return

close_config:
  s$ = text$(no_config_v%)
  if numeric(s$)=0
    message "La vitesse de la balle est invalide !"
    text no_config_v%,str$(v%)
    active 0
    return
  end_if
  k% = val(s$)
  if (k%<1) or (k%>10)
    message "La vitesse de la balle est invalide !"
    text no_config_v%,str$(v%)
    active 0
    return
  end_if
  s$ = text$(no_config_speed%)
  if numeric(s$)=0
    message "La vitesse du jeu est invalide !"
    text no_config_speed%,str$(speed%)
    active 0
    return
  end_if
  n% = val(s$)
  if (n%<10) or (n%>100)
    message "La vitesse du jeu est invalide !"
    text no_config_speed%,str$(speed%)
    active 0
    return
  end_if
  v = k%
  speed%=n%
  gosub change_config
  active 0
return

change_config:
  timer_interval no_timer%, speed%
  vx = 0.10 + v*0.05 : vz = 0.10 + v*0.05
return

aide:
  inactive 0
  show no_aide%
return

close_aide:
  active 0
return

apropos:
  inactive 0
  show no_apropos%
return

close_apropos:
  active 0
return

fin:
  gosub stopit
  message "Dommage, vous avez épuisé toutes vos balles"
end
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

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

MessageSujet: Re: Panorabriques à la mode des menus   Ven 17 Aoû 2012 - 9:58

Salut Jicehel

Tient, ca me rappelle le bon temps... avec arkanoid et tous les autres...

ton casse brique est super ! j'ai réussi plus de 17000 points pour la premiere partie. ca promet...
Juste une petite precision : Dans ton menu sur la ligne 89, écris plutot :

caption no%,"-"

au lieu de tout tes tirets. cela permet un trait continu qui n'est pas selectionnable.
C'est un détail je te l'accorde.

sinon tu peux aussi rajouter les effets sur certaines briques.
commes par exemple :
- la balle se dedouble si tu détruit une certaine case.
- la raquette s'aggrandie ou rétrécie si tu casse une autre case
- des bonus descendent de l'ecran, et il faut les attraper.
etc....
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
papydall

avatar

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

MessageSujet: Re: Panorabriques à la mode des menus   Ven 17 Aoû 2012 - 11:39

@Minibug
Bonne astuce que ce CAPTION NO%, "-" Idea

@Jicehel
En plus des effets proposés par Minibug, si tu pouvais aussi ajouter quelques effets sonores, ça sera plus gai, non ? Wink
Mais ceci est sans doute une autre histoire ! Rolling Eyes
santa
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé




MessageSujet: Re: Panorabriques à la mode des menus   

Revenir en haut Aller en bas
 
Panorabriques à la mode des menus
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Mode TRACE
» Boucle de menus débile
» Macro sons/autorail en mode horaire
» Mode "trace" sur Nuvi 1490
» connexion permanente en mode GPS par l'USB

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: