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
» Calculatrice
par papydall Hier à 22:54

» EPP_V01 éditeur pour Panoramic
par Minibug Mer 19 Sep 2018 - 21:03

» [RESOLU] Quelle ligne est sélectionnée dans SYNEDIT ?
par Jean Claude Mer 19 Sep 2018 - 21:02

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Mer 19 Sep 2018 - 15:58

» Planétarium virtuel.
par Pedro Alvarez Mer 19 Sep 2018 - 9:28

» Demande pour Jack concernant PanExpress
par Marc Mar 18 Sep 2018 - 23:56

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

» La théorie du chaos
par jean_debord Mar 11 Sep 2018 - 9:30

» Orbites de l’ensemble de Mandelbrot
par Jean Claude Lun 10 Sep 2018 - 21:08

» Version instantanée V 0.9.29i2 du 4/09/2018
par silverman Mer 5 Sep 2018 - 10:15

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 Voraces II le retour

Aller en bas 
AuteurMessage
Jean Claude

avatar

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

MessageSujet: Voraces II le retour   Mer 16 Mai 2012 - 18:49

Le sujet initial étant verrouillé, j'ouvre à nouveau le sujet pour vous proposer une nouvelle grille (J'aime bien ce jeu).

Chaque niveau comporte 5000 points, la grille est agrandie et la position initiale des voraces est modifiée et il y a plus d’échappatoires mais aussi quelques zones isolées.

Cela reste assez facile.

Code:
' Vorace version converti en Panoramic par Jean-Charles
' Version original en Basic pour l'Hector ecrit par Eddy DUTERTRE
' nouvelle gille proposée par Jean Claude


Label Charge_Niveau, Boucle, Relance, Fin, fin2, Touche, Collision, Change_dir
Label Test_dirM, relance2

Dim L,N,A,I,A$      : '  Compteur et variables diverses temporaires
Dim M              : '  Competeur de pastilles
Dim Nb_Cases_ligne, Nb_Lignes : Nb_Cases_ligne = 38 : Nb_Lignes = 26:rem ' nb cases et lignes
Dim X,Y            : '  Coordonnées du joueur
Dim N_Monstres  : N_Monstres = 3 : ' Le nombre de monstres actifs (max 3)
Dim Xm(3),Ym(3),Vm  : '  Coordonnées du monstre et vitesse de deplacement (+Vm est ganrd moins il va vite)
Dim S              : '  Direction du monstre
Dim Depl            : '  Deplace monstre si Depl = 1
Dim Etat(Nb_Lignes,Nb_Cases_ligne), traite
Dim Pastilles(Nb_Lignes,Nb_Cases_ligne)
Dim Temps, Score, touche_enfoncee, Pause
Dim LF$, Message$ : LF$=CHR$(10)
Dim taille_case : taille_case=22  : ' Taille
Dim n_joueur                      : ' numéro de picture de l'image actuelle du joueur

Height 0, (Nb_Lignes+13)*taille_case : Width 0, (Nb_Cases_ligne + 4)*taille_case : color 0,0,0,0
form 1002:hide 0:height 1002,40:caption 1002,"VORACE: Patientez....":show 1002:on_close 1002,fin2
Picture 1 : Picture 2 : Hide 2: TOP 2, -2000: Height 2,150 : Width 2,80 : File_load 2,"spritesvoracenoir.bmp"
width 1,taille_case*40:height 1,taille_case*34: color 1,0,0,0:rem ' reglage picture
' créer les picture pour les pastilles
  Picture 1000 : hide 1000 : Height 1000,20 : Width 1000, 20
color 1000,0,0,0
  Image 3
  2D_Target_Is 1000
  2D_Pen_Color 0,200,200 : 2D_Fill_Color 0,200,200
  2D_Circle 0.5*taille_case,0.5*taille_case,3
  2D_image_copy 3,0,0,20,20
  For N=1 to Nb_Lignes :  For I=1 to Nb_Cases_ligne
      Pastilles(N,I) = 1000+N*Nb_Cases_ligne+I
      A = Pastilles(N,I) :  Picture A : hide A
      Height A,20 : Width A,20 : Top A,N*taille_case : left A,I*taille_case : 2D_Target_Is A : 2D_Image_Paste 3,0,0
  Next I : Next N
  2D_Target_Is 1
  For I = 1 to N_Monstres+1
    Picture 20 + I : Height 20 + I, 20 : Width 20+ I, 20:color 20+I,0,0,0
    Image 3+I: Top 3+I, -2000 : Hide 3+I
  Next I
' créer les picture pour le joueur
  ' regarde à gauche
  Picture 51 : Hide 51 : Height 51, 20 : Width 51, 20:color 51,0,0,0
  2D_Target_Is 2 : 2D_IMAGE_COPY 3,0,0,20,20 :  2D_Target_Is 51 : 2D_IMAGE_PASTE 3,0,0
  ' regarde à droite
  Picture 52 : Hide 52 : Height 52, 20 : Width 52, 20:color 52,0,0,0
  2D_Target_Is 2 : 2D_IMAGE_COPY 3,20,0,40,20 : 2D_Target_Is 52 : 2D_IMAGE_PASTE 3,0,0
  ' regarde à haut
  Picture 53 : Hide 53 : Height 53, 20 : Width 53, 20:color 53,0,0,0
  2D_Target_Is 2 : 2D_IMAGE_COPY 3,60,0,80,20 : 2D_Target_Is 53 : 2D_IMAGE_PASTE 3,0,0
  ' regarde à bas
  Picture 54 : Hide 54 : Height 54, 20 : Width 54, 20:color 54,0,0,0
  2D_Target_Is 2 : 2D_IMAGE_COPY 3,40,0,60,20 :  2D_Target_Is 54 : 2D_IMAGE_PASTE 3,0,0

 DATA 11111111111111111111111111111111111111  : ' L1            :
 DATA 10100000010000011000000100000000010001  : ' L2
 DATA 10101111010111110010101110111111010101  : ' L3
 DATA 10001000000100010010100010100001010101
 DATA 11110000000111000110001010100100010101
 DATA 10000111010101111100001010110100010101
 DATA 10111100010000110001111010100101110001
 DATA 10000101111110000111100010101100011011
 DATA 11110100010011111101001010101001011001
 DATA 10000111010110010001011010101010011101
 DATA 10111100010000000001001000010000010001
 DATA 10000101111111110111011111011111110001
 DATA 11110100011000110000000001010000111101
 DATA 10000101000010000101010101010010010101
 DATA 10111111111111111111011111010000110101
 DATA 10000000000000000000000000010101010001
 DATA 10100000010000011000000100000100001011
 DATA 10101111010111110010101110111110100001
 DATA 10001000000100000010100010000001111011
 DATA 11111011111111111111101110101100011001  : ' L20
 DATA 10100000010000011000001000000001010011
 DATA 10101111010111110010101011010110000001
 DATA 10001000000100000010100010000100110011
 DATA 10101101011101101010101010010100011001
 DATA 10001000010001001010001000100001010001
 DATA 11111111111111111111111111111111111111  : ' L24

Timer 10: Timer_interval 10,80 : Timer_off 10 : On_Timer 10, Boucle
Gosub Charge_Niveau
Score = 0

Relance2:

X = 2: Y=2 : VM=3      : ' Position intiale du joueur
Xm(1) = 30 : ' Positions (X horizontale) initiales du Vorace orange
Ym(1)= 24  : ' Positions (Y verticale) initiales du Vorace orange
Xm(2) = 4 : ' Positions X initiales du Vorace bleu
Ym(2)= 6 : ' Positions Y initiales du Vorace bleu
Xm(3) = 7 : Ym(3) = 13
Depl = 0 : S=1 : N=0 : traite = 0

If VM < N_Monstres Then VM = N_Monstres
n_joueur = 51 : Top n_joueur,Y*taille_case : Left n_joueur,X*taille_case
show n_joueur : ' Affiche le joueur

on_key_down 0,touche
timer_on 10
End

Relance:
 hide n_joueur
 M = 0
 Hide 1 : 2D_Target_is 1
 Height 1, (Nb_Lignes+9)*taille_case : Width 1, (Nb_Cases_ligne+2)*taille_case
 For L = 1 TO Nb_Lignes
  For N = 1 TO Nb_Cases_ligne
    If Etat(L,N)<>2
        If N=2 and L=2
          ' On ne mets pas de pastille à la position de départ
        Else
          Etat(L,N)=1 : M = M+1
          Show Pastilles(L,N)
        End_If
    End_If
  Next N
 Next L
Show 1
2D_Pen_Color 255,255,255 : 2D_Fill_Color 0,0,0
goto relance2
return


Change_dir:
  FOR DEPL = 1000 TO 1 STEP -1
    S= INT(RND(4))+1
    Gosub Test_dirM
  NEXT DEPL
return

Test_dirM:

    2D_Target_is 2
    IF S=1 and XM(A) < Nb_Cases_ligne-2 Then IF Etat(YM(A),XM(A)+1)<2 Then XM(A)=XM(A)+1: 2D_IMAGE_COPY 3+A,21,19*A+1,40,19*(A+1)+1:DEPL=1
    IF S=2 and YM(A) < Nb_lignes-2 Then IF Etat(YM(A)+1,XM(A))<2 Then YM(A)=YM(A)+1: 2D_IMAGE_COPY 3+A,41,19*A+1,60,19*(A+1)+1:DEPL=1
    IF S=3 and XM(A) > 2  Then IF Etat(YM(A),XM(A)-1)<2 Then XM(A)=XM(A)-1: 2D_IMAGE_COPY 3+A, 1,19*A+1,20,19*(A+1)+1:DEPL=1
    IF S=4 and YM(A) > 2 Then IF Etat(YM(A)-1,XM(A))<2 Then YM(A)=YM(A)-1: 2D_IMAGE_COPY 3+A,61,19*A+1,80,19*(A+1)+1:DEPL=1
    2D_Target_is 20+A : 2D_Image_Paste 3+A,0,0 : 2D_Target_is 1
Return

Boucle:
show 0:hide 1002
  If pause = 1 then return
  timer_off 10
  N = N+1 :  A = N
  IF A <= N_Monstres
    L = RND(10)
    If L > 6
      gosub Change_dir
    Else
      gosub Test_dirM
      if depl=0 Then gosub Change_dir
    End_If
    Top 20+A,Ym(A)*taille_case : Left 20+A,Xm(A)*taille_case : Depl=0 :' Affiche le monstre
  End_If

  IF N= VM THEN N=0

  For I=1 To N_Monstres :  If X=XM(I) and Y=YM(I) then gosub Collision : Next I
  If M = 0 Then Message "Niveau vidé, appuyez pour en faire un autre...": goto relance
  traite = 0 : timer_on 10
Return

Touche:
if traite = 0
  traite = 1 : touche_enfoncee = key_down_code
  ' Gauche
  If touche_enfoncee = 37 Then If X > 2 Then If Etat(Y,X-1)<2 Then X=X-1 : hide n_joueur : n_joueur = 51
  ' Droite
  If touche_enfoncee = 39 Then If X < (Nb_Cases_ligne-1) Then If Etat(Y,X+1)<2 Then X=X+1: hide n_joueur : n_joueur = 52
  ' Haut
  If touche_enfoncee = 38 Then If Y > 2 Then  If Etat(Y-1,X)<2 Then Y=Y-1: hide n_joueur : n_joueur = 53
  ' Bas
  If touche_enfoncee = 40 Then If Y < (Nb_lignes-1) Then If Etat(Y+1,X)<2 Then Y=Y+1: hide n_joueur : n_joueur = 54
  ' Q ou Echap pour quitter
  If touche_enfoncee = 88 or touche_enfoncee = 27 Then goto FIN
  ' P pour Pause
  If touche_enfoncee =  80 Then If Pause = 0 then Pause = 1 :else: Pause = 0

  For I = 1 TO N_Monstres
    If X=XM(I) and Y=YM(I) then gosub Collision
  Next I

  If Etat(Y,X) = 1 Then Score=Score +10 : Etat(Y,X) = 0 : M=M-1 : Caption 13, "Score : " + RIGHT$("00000"+STR$(Score),5)
  Hide pastilles(Y,X)
  Top n_joueur,Y*taille_case : Left n_joueur,X*taille_case : show n_joueur : ' Affiche le joueur
End_if
Return

Collision:
  Goto fin
Return

Charge_Niveau:
 M = 0
 Hide 1 : 2D_Target_is 1 :  Height 1, (Nb_Lignes+8)*taille_case : Width 1, (Nb_Cases_ligne+2)*taille_case
 For L = 1 TO Nb_Lignes
  Read A$
  For N = 1 TO Nb_Cases_ligne
    If Mid$(A$,N,1)="1"
        2D_Pen_Color 0,0,0 :  2D_Fill_Color 250,100,0:' couleur des parois du Labyrinthe
        2D_Rectangle N*taille_case+1,L*taille_case+1,(N+1)*taille_case-1, (L+1)*taille_case-1
        Etat(L,N)=2
    Else
        If N=2 and L=2
          ' On ne mets pas de pastille à la position de départ
        Else
          Etat(L,N)=1 : M = M+1
          Show Pastilles(L,N)
        End_If
    End_If
  Next N
 Next L
 2D_Fill_color 0,0,0 : 2D_Pen_Color 255,0,0
 2D_Rectangle taille_case, (Nb_Lignes+2)*taille_case, (Nb_Cases_ligne+2)*taille_case- taille_case, (Nb_Lignes+8)*taille_case
 Alpha 12 : Left 12, 60 : Top 12, (Nb_Lignes+5.5)*taille_case : font_bold 12
 font_name 12, "Courier" : Height 12, taille_case+3: Font_size 12,taille_case - 5 : Font_color 12,200,200,0
 Caption 12, "- VORACE -  (Version Panoramic Version 0.9.23)"
 Alpha 13 : Left 13,60  : Top 13, (Nb_Lignes+3)*taille_case : font_name 13, "Courier": font_size 13,taille_case -5
font_bold 13: Font_color 13,255,255,0: Caption 13, "Score : 00000"
Show 1
Return

Fin:
 timer_off 10
 Message$ =  "*********************" +LF$+ "*  Partie terminée  *" +LF$+ "*********************"
 Message$ = Message$ +LF$ + LF$ + "Score: "+ STR$ (Score)
 Message$ = Message$ +LF$ + LF$ + "Rejouer ?"
 if Message_confirmation_yes_no (Message$) = 1 then Score = 0 : goto Relance
fin2:
terminate


Amusez-vous bien!
Very Happy bounce Basketball Very Happy

edit: je vous remet l'image BMP: NOM: spritesvoracenoir.bmp
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5929
Age : 46
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Voraces II le retour   Jeu 17 Mai 2012 - 9:10

J'aime bien ton niveau Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Voraces II le retour   Jeu 17 Mai 2012 - 9:56

Bien Jean-Claude, ça me rajeunie Very Happy
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Voraces II le retour   

Revenir en haut Aller en bas
 
Voraces II le retour
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» retour au travail....
» Le 23 mai Varadero me voilà/et c'est grâce à vous/retour à la réalité
» Est-ce que quelqu'un a vu le retour de Nounou McPhee
» Retour maison
» Retour 3D' S-Pagne...

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: