FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Bataille navale SM
Bataille terrestre (new look) Emptypar jjn4 Aujourd'hui à 17:39

» Une calculatrice en une ligne de programme
Bataille terrestre (new look) Emptypar jean_debord Aujourd'hui à 8:01

» Gestion d'un système client-serveur.
Bataille terrestre (new look) Emptypar Pedro Hier à 19:31

» Les maths du crocodile
Bataille terrestre (new look) Emptypar jean_debord Hier à 10:37

» Naissance de Crocodile Basic
Bataille terrestre (new look) Emptypar jean_debord Hier à 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Bataille terrestre (new look) Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Bataille terrestre (new look) Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Bataille terrestre (new look) Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Bataille terrestre (new look) Emptypar papydall Dim 21 Avr 2024 - 23:30

» Form
Bataille terrestre (new look) Emptypar leclode Dim 21 Avr 2024 - 18:09

» trop de fichiers en cours
Bataille terrestre (new look) Emptypar Marc Dim 21 Avr 2024 - 2:41

» 2D_fill_color(résolu)
Bataille terrestre (new look) Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Bataille terrestre (new look) Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Bataille terrestre (new look) Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Bataille terrestre (new look) Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
-28%
Le deal à ne pas rater :
Brandt LVE127J – Lave-vaisselle encastrable 12 couverts – L60cm
279.99 € 390.99 €
Voir le deal

 

 Bataille terrestre (new look)

Aller en bas 
+3
Jean Claude
Marc
jjn4
7 participants
AuteurMessage
jjn4

jjn4


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

Bataille terrestre (new look) Empty
MessageSujet: Bataille terrestre (new look)   Bataille terrestre (new look) EmptyJeu 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
http://jjn4.e-monsite.com
Marc

Marc


Nombre de messages : 2379
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Bataille terrestre (new look) Empty
MessageSujet: Re: Bataille terrestre (new look)   Bataille terrestre (new look) EmptyJeu 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
Jean Claude

Jean Claude


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

Bataille terrestre (new look) Empty
MessageSujet: Re: Bataille terrestre (new look)   Bataille terrestre (new look) EmptyJeu 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
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Bataille terrestre (new look) Empty
MessageSujet: re   Bataille terrestre (new look) EmptyJeu 26 Jan 2017 - 20:03

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

Bravo jjn4 !
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Bataille terrestre (new look) Empty
MessageSujet: Re: Bataille terrestre (new look)   Bataille terrestre (new look) EmptyJeu 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
papydall

papydall


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

Bataille terrestre (new look) Empty
MessageSujet: Re: Bataille terrestre (new look)   Bataille terrestre (new look) EmptyJeu 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 !  Bataille terrestre (new look) Apl00110
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

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

Excellent!
Revenir en haut Aller en bas
jjn4

jjn4


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

Bataille terrestre (new look) Empty
MessageSujet: +++   Bataille terrestre (new look) EmptyVen 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
http://jjn4.e-monsite.com
Contenu sponsorisé





Bataille terrestre (new look) Empty
MessageSujet: Re: Bataille terrestre (new look)   Bataille terrestre (new look) Empty

Revenir en haut Aller en bas
 
Bataille terrestre (new look)
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Récapitulatif ludothèque panoramic jjn4
» Bataille terrestre
» Bataille terrestre (version child)
» Bataille !
» Bataille-navale

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: