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
» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Aujourd'hui à 19:15

» Projet de planétarium virtuel.
par Pedro Alvarez Aujourd'hui à 16:46

» Quantité de mémoire utilisée par un exe
par Jack Aujourd'hui à 16:39

» Problème avec 'file_load'.
par Pedro Alvarez Hier à 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

» image_width(n) et image_height(n)
par silverman Sam 9 Juin 2018 - 11:22

» Site sur la programmation sympa
par Jean Claude Jeu 7 Juin 2018 - 11:20

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 | 
 

 Bataille terrestre (new look)

Aller en bas 
AuteurMessage
jjn4

avatar

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

MessageSujet: Bataille terrestre (new look)   Jeu 26 Jan 2017 - 15:48

Puisque je suis parti dans les batailles navales
(qui sont d'ailleurs tout sauf navales),
j'ai repris ma bataille terrestre de 2010
(ouh, 2010, la préhistoire de l'informatique !)
et j'en ai dépoussiéré le listing
et installé quelques aménagements
pour le rendre plus GNAC.
Voici donc « Bataille terrestre », le retour !
Code:
rem ' Bataille terrestre (new look) - par jjn4 - Ver-140310.3.0 - 26/01/2017
   dim CD% : rem Nombre de Chars Détruits
   dim CED% : rem Nombre de Chars Ennemis Détruits
   dim ECS%(25) , ECT%(25) : rem Emplacement des Chars amis et ennemis
   dim IO% : rem Indicateur comme quoi c`est le tour de l`Ordi de jouer
   dim KCH% : rem Cellules des grilles concernées
   dim NCP% : rem Nombre de chars placés
   dim NJ% : rem Niveau de Jeu
   dim NPJ% , NPO% : rem Nombre de Points du Joueur et de l`Ordi
   dim VMI% , VMJ% , VMK% , VMA$ : rem Variables à utilisation multiple
   label clic
  
rem form0
   width 0,1050
   height 0,570
   caption 0,"BATAILLE TERRESTRE"

rem Construction des grilles de jeu
   for VMK%=0 to 1 : rem Objet 1 à 25 pour la grille du joueur
      for VMI%=0 to 4 : rem Objets 26 à 50 pour l`ordinateur
         for VMJ%=1 to 5
            picture VMI%*5+VMJ%+25*VMK%
               left VMI%*5+VMJ%+25*VMK%,VMJ%*80-35+450*VMK%
               top VMI%*5+VMJ%+25*VMK%,VMI%*80+50
               width VMI%*5+VMJ%+25*VMK%,76
               height VMI%*5+VMJ%+25*VMK%,76
               select VMK%
                  case 0 : cursor_cross VMI%*5+VMJ%+25*VMK%
                  case 1 : cursor_noparking VMI%*5+VMJ%+25*VMK%
               end_select
               on_click VMI%*5+VMJ%+25*VMK%,clic
               on_click VMI%*5+VMJ%,clic
            next VMJ%
         next VMI%
      next VMK%

rem Cadres d`écriture
   alpha 51
      left 51,165
      top 51,15
      font_bold 51
      font_size 51,12
      caption 51,"TA GRILLE DE JEU"
   alpha 52
      left 52,520
      top 52,15
      font_bold 52
      font_size 52,12
      caption 52,"LA GRILLE DE JEU DE TON ADVERSAIRE"
   alpha 53
      left 53,45
      top 53,465
      font_bold 53
      font_size 53,12
      font_color 53,0,180,255

rem Dessins des fléches
   for VMI%=55 to 59 : rem Objets 55, 56, 57, 58 et 59
      alpha VMI%
         left VMI%,8
         top VMI%,(VMI%-55)*80+65
         font_name VMI%,"Wingdings"
         font_size VMI%,30
         font_color VMI%,0,0,255
         caption VMI%,chr$(240)
      alpha VMI%+5 : rem Objets 60, 61, 62, 63 et 64
         hide VMI%+5
         left VMI%+5,458
         top VMI%+5,(VMI%-55)*80+65
         font_name VMI%+5,"Wingdings"
         font_size VMI%+5,30
         font_color VMI%+5,0,0,255
         caption VMI%+5,chr$(240)
   next VMI%

rem Inscription des points
   alpha 65
      left 65,435
      top 65,35
      font_color 65,255,0,0
      caption 65,NPJ%
   alpha 66
      left 66,495
      top 66,35
      font_color 66,255,0,0
      caption 66,NPO%
   alpha 67
      left 67,446
      top 67,18
      font_color 67,255,0,0
      caption 67,"SCORES"
      
rem Deuxième ligne de commentaires cavaliers
   alpha 73
      left 73,45
      top 73,490
      font_bold 73
      font_size 73,12
      font_color 73,0,0,255
      
rem Dessin du char dans la marge
   alpha 80
      left 80,910
      top 80,20
      font_bold 80
      font_size 80,12
      caption 80,"  BATAILLE"+chr$(13)+"TERRESTRE"
   picture 85
      left 85,930
      top 85,65
      width 85,80
      height 85,60
      color 85,240,240,240
      char(85)
      
rem Affichage des boutons de jeu : rem Objets n° 90, 100, 110 et 120
   for VMI%=1 to 4
      button VMI%*10+80
         left VMI%*10+80,910
         top VMI%*10+80,VMI%*95+45
         width VMI%*10+80,110
         height VMI%*10+80,85
         font_bold VMI%*10+80
         font_size VMI%*10+80,14
         font_name VMI%*10+80,"Arial"
         on_click VMI%*10+80,clic
   next VMI%
   caption 90,"Niveau 1"
   caption 100,"Rejouer"
   caption 110,"Aide"
   caption 120,"Quitter"
   inactive 100
   midi_on
   midi_instrument 127
   midi_volume 127
   oui()

end : rem ' Début des routines =========================================

sub aide() : rem Explications du jeu
   dim_local bai$ , cai$ , dai$ : rem Variables à utilisation multiple
   cai$=chr$(13)
   dai$=cai$+cai$
   application_title "   Mode d'emploi du jeu"
   bai$="   Vous connaissez la bataille navale ?  Eh bien, la bataille terrestre, c'est"+cai$
   bai$=bai$+"pareil, sauf que c'est sur terre, avec des chars camouflés dans la forêt."+dai$
   bai$=bai$+"   Chaque camp a 4 chars et doit faire sauter ceux de l'ennemi avant que"+cai$
   bai$=bai$+"celui-ci ne vainque son adversaire. Les explosions qui se produisent"+cai$
   bai$=bai$+"provoquent des cratères qui permettent de savoir où on a déjà tiré. Mais"+cai$
   bai$=bai$+"seulement au niveau 1. Au niveau 2, il faut faire attention à ne pas tirer"+cai$
   bai$=bai$+"2 fois au même endroit, parce que l'ordinateur, lui, ne s'y trompe pas."+dai$
   bai$=bai$+"   Ce logiciel de simulation guerrière provient sûrement d'un système"+cai$
   bai$=bai$+"d'entraînement militaire, car le langage y est particulièrement fleuri."+cai$
   bai$=bai$+"Ne vous en formalisez pas. Il paraît que c'est viril de parler comme ça !"
   message bai$
end_sub

sub boum() : rem Tir du joueur
   dim_local ibo% : rem Variables à utilisation multiple
   2d_target_is KCH%
   2d_pen_color 255,0,0
   for ibo%=1 to 70
      2d_line 38-rnd(36),38-rnd(36),38+rnd(36),38+rnd(36)
      2d_line 38-rnd(36),38+rnd(36),38+rnd(36),38-rnd(36)
   next ibo%
   midi_play 50,6
   pause 500
   if NJ%=2
      feuille(KCH%)
   else
      trou(KCH%)
   end_if
   for ibo%=26 to 50
      inactive ibo%
   next ibo%
end_sub

sub char(kcha%) : rem Dessin d`un char
   dim_local icha% : rem Variables à utilisation multiple
   2d_target_is kcha%
   2d_pen_color 135,135,0
   for icha%=1 to 8
      2d_line 17+icha%,48+icha%,75-icha%,48+icha%
      2d_line 25-icha%,40+icha%,65+icha%,40+icha%
   next icha%
   2d_fill_color 135,135,0
   2d_rectangle 37,37,53,42
   2d_rectangle 33,32,57,40
   for icha%=1 to 3
      2d_line 1,28+icha%,40,34+icha%
   next icha%
   2d_fill_color 180,180,180
   for icha%=1 to 5
      2d_circle 19+icha%*9,50,5
   next icha%
end_sub

sub choix() : rem Choix des emplacements des 4 chars du joueur
   dim_local ich% : rem Variables à utilisation multiple
   NCP%=NCP%+1
   if NCP%<5
      caption 73,"Place tes 4 chars camouflés dans la forêt"
      KCH%=number_click
      if ECS%(KCH%)<>1
         ECS%(KCH%)=1
         2d_target_is KCH%
         2d_pen_color 135,135,0
         for ich%=1 to 8
            2d_line 1+ich%,48+ich%,59-ich%,48+ich%
            2d_line 9-ich%,40+ich%,49+ich%,40+ich%
         next ich%
         2d_fill_color 135,135,0
         2d_rectangle 21,37,36,42
         2d_rectangle 17,32,41,40
         for ich%=1 to 3
            2d_line 41,33+ich%,74,27+ich%
         next ich%
         2d_fill_color 180,180,180
         for ich%=1 to 5
            2d_circle 3+ich%*9,50,5
         next ich%
         if NCP%=4
            remonte()
            caption 73,"C'est à toi de tirer"
            for ich%=55 to 59
               hide ich%
               show ich%+5
            next ich%
            for ich%=1 to 25
               cursor_noparking ich%
               cursor_cross ich%+25
               active ich%+25
            next ich%
         end_if
      else
         non()
      end_if
   end_if
end_sub

clic: : rem Redirection de tous les on-click
   VMK%=number_click
   if VMK%>0 and VMK%<26
      choix()
   end_if
   if VMK%>25 and VMK%<51
      tir()
   end_if
   select VMK%
      case 90 : niveau()
      case 100 : oui()
      case 110 : aide()
      case 120 : quitter()
   end_select
return

sub croix() : rem Dessin des croix
   if IO%=0
      CED%=CED%+1
   else
      CD%=CD%+1
   end_if
   2d_fill_color 255,0,0
   2d_pen_color 255,0,0
   2d_rectangle 35,10,41,70
   2d_rectangle 20,26,56,32
end_sub

sub feuille(qfeu%) : rem Dessin des feuilles dans une cellule
   dim_local jfeu% : rem Variables à utilisation multiple
   dim_local cxfeu% , cyfeu% , rfeu% : rem Coordonnées des cercles de feuilles
   dim_local cfeu% : rem Couleur des feuilles
   2d_target_is qfeu%
   color qfeu%,120,70,0
   for jfeu%=1 to 90
      cxfeu%=int(rnd(70))+1
      cyfeu%=int(rnd(70))+1
      rfeu%=int(rnd(12))+2
      cfeu%=int(rnd(80))+120
      2d_fill_color 0,cfeu%,0
      2d_pen_color 0,cfeu%,0
      2d_circle cxfeu%,cyfeu%,rfeu%
   next jfeu%
end_sub

sub feuilles() : rem Dessin de la végétation
   dim_local ife% : rem Variables à utilisation multiple
   for ife%=1 to 25
      feuille(ife%)
      feuille(ife%+25)
   next ife%
end_sub

sub fin() : rem Fin du jeu
   dim_local kfi% , afi$ : rem Variables à utilisation multiple
   if CD%=4
      remonte()
      caption 73,"Ah, ah, j'ai encore triomphé, tocard !  Veux-tu rejouer ?"
      for kfi%=26 to 50
         if ECT%(kfi%-25)=1
            char(kfi%)
         end_if
      next kfi%
      NPO%=NPO%+1
   end_if
   if CED%=4
      afi$="Oui, tu as gagné, ringard, mais seulement par hasard.  "
      afi$=afi$+"Veux-tu rejouer ?"
      remonte()
      caption 73,afi$
      NPJ%=NPJ%+1
   end_if
   caption 65,NPJ%
   caption 66,NPO%
   active 90
   active 100
end_sub

sub niveau() : rem Choix du niveau de jeu
   dim_local vmvi% , vmvi$ : rem Variables à utilisation Multiple
   vmvi$=caption$(90)
   vmvi%=val(right$(vmvi$,1))
   if vmvi%=1
      NJ%=2
      caption 90,"Niveau 2"
   else
      NJ%=1
      caption 90,"Niveau 1"
   end_if
end_sub

sub non() : rem Erreur de placement de ses chars par le joueur
   NCP%=NCP%-1
   remonte()
   caption 73,"Tu as déjà placé un char à cet endroit, recommence"
end_sub

sub ordi() : rem Action de l`ordinateur
   dim_local ior% , aor$ , bor$ : rem Variables à utilisation multiple
   KCH%=int(rnd(25))+1
   IO%=1
   for ior%=1 to 9999
      if ECS%(KCH%)>1
         KCH%=int(rnd(25))+1
      else
         exit_for
      end_if
   next ior%
   pause 2000
   boum()
   if ECS%(KCH%)=1
      croix()
      ECS%(KCH%)=2
      if (4-CD%)>1
         bor$="s"
      else
         bor$=""
      end_if
      if CD%<4
         aor$="Tu n'en as plus pour longtemps, charogne. Il ne te reste plus que "
         aor$=aor$+str$(4-CD%)+" char"+bor$+". A toi"
         remonte()
         caption 73,aor$
      end_if
   else
      remonte()
      caption 73,"Je t'ai manqué, salopard. A toi."
      ECS%(KCH%)=3
   end_if
   if CD%>3
      fin()
   end_if
   for ior%=26 to 50
      active ior%
   next ior%
end_sub

sub oui() : rem Le joueur accepte de rejouer
   dim_local iou% , jou% : rem Variables à utilisation multiple
   CD%=0
   CED%=0
   IO%=0
   for iou%=1 to 25
      ECT%(iou%)=0
      ECS%(iou%)=0
   next iou%
   for iou%=1 to 4
      KCH%=int(rnd(25))+1
      for jou%=1 to 5
         if ECT%(KCH%)=1
            KCH%=int(rnd(25))+1
         end_if
      next jou%
      ECT%(KCH%)=1
   next iou%
   for iou%=55 to 59
      show iou%
      hide iou%+5
   next iou%
   for iou%=1 to 25
      cursor_cross iou%
      cursor_noparking iou%+25
      color iou%,255,255,255
      color iou%+25,255,255,255
   next iou%
   NCP%=0
   feuilles()
   inactive 100
   remonte()
   caption 73,"Place tes 4 chars camouflés dans la forêt"
end_sub

sub quitter() : rem Terminer le jeu
   dim_local aqu% , aqu$ : rem Variables à utilisation multiple
   aqu$=str$(NPJ%)+" à "+str$(NPO%)+", tu pourrais faire mieux !"+chr$(13)
   aqu$=aqu$+"C'est vrai que tu veux détaler, mec ?"
   aqu%=message_confirmation_yes_no(aqu$)
   if aqu%=1
      midi_off
      terminate
   end_if
end_sub

sub remonte() : rem Remonte le texte d`une ligne
   caption 53,caption$(73)
end_sub

sub tir() : rem Tir de la part de l`ordinateur
   dim_local iti% , ati$ : rem Variables à utilisation multiple
   inactive 90
   if NCP%>3 and CD%<4 and CED%<4
      KCH%=0
      IO%=0
      KCH%=number_click
      if ECT%(KCH%-25)<2
         boum()
         if ECT%(KCH%-25)=1
            croix()
            if CED%<4
               ati$="Tu as détruit un de mes chars, fumier, mais il m'en reste encore "
               ati$=ati$+str$(4-CED%)+". A moi maintenant."
               remonte()
               caption 73,ati$
            end_if
         else
            remonte()
            caption 73,"Ah, ah, c'était à côté, saligaud. C'est à moi maintenant !"
         end_if
         if ECT%(KCH%-25)=1
            ECT%(KCH%-25)=2
         end_if
         if CED%<4
            ordi()
         else
            fin()
         end_if
      end_if
   end_if
end_sub

sub trou(qtr%) : rem Dessin d`un trou
   2d_target_is qtr%
   feuille(qtr%)
   2d_fill_color 120,70,0
   2d_pen_color 120,70,0
   2d_circle 38,38,25
end_sub
affraid alien No


Dernière édition par jjn4 le Ven 27 Jan 2017 - 14:36, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
Marc

avatar

Nombre de messages : 793
Age : 57
Localisation : TOURS
Date d'inscription : 17/03/2014

MessageSujet: Re: Bataille terrestre (new look)   Jeu 26 Jan 2017 - 16:10

Merci Jjn4 !

Testé avec succès !

Encore une belle réalisation très sympathique.

Juste un petit déserteur : un"s" qui s'est fait la malle ligne 360 :

"aor$="Tu n'en as plus pour longtemps, charogne. Il ne te reste plus que "

Respect mon Général !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

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

MessageSujet: Re: Bataille terrestre (new look)   Jeu 26 Jan 2017 - 16:13

Malgré toutes les injures, je lui ai ratatiné tout ses chars à l'autre .... <= ici on met ce qu'on veut. geek

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
Yannick

avatar

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

MessageSujet: re   Jeu 26 Jan 2017 - 20:03

il m' a eu cet enfant de ....<= au choix.
Laughing

Bravo jjn4 !
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: Bataille terrestre (new look)   Jeu 26 Jan 2017 - 22:03

Encore un excellent jeu. 467 lignes pour gérer un jeu complet avec la génération de graphismes de qualité. Moi, j'applaudie et je m'incline. Bravo encore.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Bataille terrestre (new look)   Jeu 26 Jan 2017 - 23:57

Le Martien est déchaîné.
Qui pourrait l’arrêter ?

Non, non et non, ne l’arrêtez pas : il fait du bon boulot .
Applaudissez messieurs !  
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
silverman

avatar

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

MessageSujet: Re: Bataille terrestre (new look)   Ven 27 Jan 2017 - 13:44

Excellent!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jjn4

avatar

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

MessageSujet: +++   Ven 27 Jan 2017 - 14:42

Ca y est, la faute (impardonnable) est corrigée.
Et je continue à me déchaîner...ouhaaaaaaa... !
Pourtant, ce n'est pas la pleine lune (sur Mars) ?
Laughing Mad Laughing alien Laughing Idea Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
Contenu sponsorisé




MessageSujet: Re: Bataille terrestre (new look)   

Revenir en haut Aller en bas
 
Bataille terrestre (new look)
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» COMMENT installer et utiliser le systeme de bataille XAS?
» Distribution TV terrestre numérique, dans un logement....
» Projet jeux
» CHALLENGE JEUX VIDEOS - Testa - Sketchup - Lumion
» La Bataille des planètes ou Gatchaman

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: