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
» Logiciel de planétarium.
Bataille navale sous-marine Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Bataille navale sous-marine Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Bataille navale sous-marine Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Bataille navale sous-marine Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Bataille navale sous-marine Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Bataille navale sous-marine Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Bataille navale sous-marine Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Bataille navale sous-marine Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Bataille navale sous-marine Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Bataille navale sous-marine Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Bataille navale sous-marine Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Bataille navale sous-marine Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Bataille navale sous-marine Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Bataille navale sous-marine Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Bataille navale sous-marine Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -55%
Friteuse sans huile – PHILIPS – Airfryer ...
Voir le deal
49.99 €

 

 Bataille navale sous-marine

Aller en bas 
+4
Yannick
Francis-mr
Marc
jjn4
8 participants
AuteurMessage
jjn4

jjn4


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

Bataille navale sous-marine Empty
MessageSujet: Bataille navale sous-marine   Bataille navale sous-marine EmptyVen 13 Jan 2017 - 17:51

Et voici le tout premier jeu de stratégie à caractère écologique
entièrement écrit en langage panoramique... Oui, oui !!
Avouez quand même que vous vivez là un grand moment !!!
Vous vous souvenez des batailles navales de votre enfance ?
« F4 - Touché -coulé ! », ah les sacrés bons moments... !!!!
Eh bien là, c'est globalement pareil, mais aussi un peu innovant
car il s'agit d'une bataille navale de sous-marins. Ouh là !
Alors, allez-vous vous révéler un savant stratège ?
C'est ce que vous allez pouvoir nous dire...
(Pssst : Le scénario complet est disponible par la touche « Aide »)
Mais, allez-vous me dire...
Attend, attend, attend, sous-marine ou pas,
finalement, c'est toujours une bataille navale, non ?
Alors, en quoi est-ce que c'est écologique ?
Eh bien, parce qu'après y avoir joué...
vous ne pourrez vous empêcher de crier
à tout vent et à tue-tête :
« MAIS ARRÊTONS DE POLLUER LA PLANÈTE !!!!!!!!!!!!!!!!!!!!!!! »
Si, si, croyez-moi, jouez-y, vous verrez !
Code:
rem ' Bataille navale sous-marine - BatnavoramicSM - par jjn4 - le 13/01/2017
  dim ii% , jj% , aa$ , bb$ : rem Variables à utilisations variées
  dim c1% , c2% : rem Détermination du gagnant (c1%=joueur c2%=ordi)
  dim ca%(4) : rem Cases Autour d`un « en vue »
  dim cc%(312) : rem Contenu des Cases de la carte
  dim cf$(7) : rem Commentaires de la Fin de jeu
  dim cj$(2) : rem Commandes de Jeu
  dim fc$(7) : rem Fin de Commentaires des écologistes
  dim hh% : rem Case choisie par l`ennemi pour jouer
  dim jt% : rem Joueur à qui c`est le tour de jouer (-1=ordi ou +1=joueur)
  dim nc$(32) : rem Noms des Catastrophes
  dim nj% : rem Niveau du Jeu
  dim nm% : rem Numéros des sous-Marins
  dim ns$(4) : rem Noms des Sous-marins
  dim oa%(10) : rem Ordre d`Apparition des sous-marins du joueur
  dim or%(10) : rem Ordre de Rangement des sous-marins de l`ennemi
  dim pd$(8) , os% : rem Présentation des Débrits
  dim pe$(23) : rem Pancarte de mode d`Emploi
  dim tt% : rem Cas où l`ennemi a détecté une masse métallique
  nj%=1
  label clic , sens
 
rem Gestion des datas
  for ii%=1 to 4 : read ns$(ii%) : next ii%
  for ii%=1 to 8 : read pd$(ii%) : next ii%
  for ii%=1 to 2 : read cj$(ii%) : next ii%
  for ii%=1 to 10 : read oa%(ii%) : next ii%
  for ii%=1 to 10 : read or%(ii%) : next ii%
  for ii%=1 to 4 : read ca%(ii%) : next ii%
  for ii%=1 to 7 : read cf$(ii%) : next ii%
  for ii%=1 to 7 : read fc$(ii%) : next ii%
  for ii%=1 to 32 : read nc$(ii%) : next ii%
  for ii%=1 to 23 : read pe$(ii%) : next ii%
 
rem form0
  width 0,1360
  height 0,720
  caption 0,"  BATAILLE NAVALE SOUS-MARINE par jjn4 - Ver.130117.1.0"
 
rem Dessin du sous-marin
  picture 1
      width 1,165
      height 1,62
      color 1,220,170,0
      2d_target_is 1
      2d_pen_color 0,0,0
      2d_fill_color 0,0,0
      2d_rectangle 50,30,150,56
      2d_circle 150,43,13
      2d_poly_from 124,30
      2d_poly_to 124,17
      2d_poly_to 104,17
      2d_poly_to 98,30
      2d_flood 110,25,0,0,0
      2d_pen_width 2
      2d_line 118,17,118,4
      2d_line 118,5,121,5
      2d_line 6,36,6,50
      2d_pen_width 1
      2d_line 50,30,1,43
      2d_line 1,43,50,56
      2d_flood 40,45,0,0,0
      2d_poly_from 25,43
      2d_poly_to 20,27
      2d_poly_to 12,27
      2d_poly_to 12,59
      2d_poly_to 20,59
      2d_poly_to 25,43
      2d_flood 15,33,0,0,0
      2d_flood 15,55,0,0,0
      file_save 1,"Batnavoramic.bmp"

rem Image de fond
  picture 4
      full_space 4
      color 4,220,170,0
      hint 4,"Rivage herbeux et corniches"
      2d_target_is 4
      delete 1
  picture 5
      left 5,150
      top 5,150
      width 5,950
      height 5,400
      color 5,220,170,0
      hint 5,"île et maison"
     
rem Pancarte d`annonce de la suite de l`explication dans le mode d`emploi
  alpha 6
      left 6,390
      top 6,230
      width 6,620
      height 6,40
  alpha 7
      left 7,400
      top 7,240
      font_color 7,255,0,0
      font_bold 7
      font_size 7,12
      caption 7,"La suite de ces explications est disponible avec le bouton marqué « Aide »"
     
rem Pancartes de renseignements de départ du jeu
  alpha 8 : rem Pancarte de mode d`emploi
      left 8,300
      width 8,800
      height 8,220
      color 8,70,220,250
  alpha 9
      left 9,310
      top 9,6
      font_bold 9
      font_size 9,12
      color 9,70,220,250
      aa$=pe$(1)
      for ii%=2 to 10
        aa$=aa$+chr$(13)+pe$(ii%)
      next ii%
      caption 9,aa$
      aa$=""
     
  panel 10 : rem Pancarte d`attente
      left 10,600
      top 10,300
      width 10,260
      height 10,50
      font_bold 10
      font_size 10,36
      font_name 10,"Arial"
      caption 10,"Attendez"
 
rem Affichage du jeu
  for ii%=1 to 24 : rem Panels de 11 à 322
      for jj%=1 to 13
        panel (jj%-1)*24+ii%+10
            hide (jj%-1)*24+ii%+10
            left (jj%-1)*24+ii%+10,(ii%-1)*50+10
            top (jj%-1)*24+ii%+10,(jj%-1)*50+10
            width (jj%-1)*24+ii%+10,50
            height (jj%-1)*24+ii%+10,50
            color (jj%-1)*24+ii%+10,70,190,250
            font_color (jj%-1)*24+ii%+10,70,170,250
            font_bold (jj%-1)*24+ii%+10
            font_size (jj%-1)*24+ii%+10,35
            font_name (jj%-1)*24+ii%+10,"Webdings"
            caption (jj%-1)*24+ii%+10,chr$(223)
      next jj%
  next ii%
  for ii%=11 to 322
      show ii%
  next ii%
  for ii%=6 to 10
      delete ii%
  next ii%
  choix()

rem Affichage du sous-marin
  picture 325
      hide 325
      left 325,1230
      top 325,10
      width 325,105
      height 325,40
      stretch_on 325
      file_load 325,"Batnavoramic.bmp"
     
rem Zone d`affichage des commentaires de jeu à droite et des submersibles à tourner
  alpha 327
      left 327,1230
      top 327,60
      width 327,105
      height 327,200
      color 327,0,255,255
  alpha 328
      left 328,1231
      top 328,62
      color 328,0,255,255
      caption 328,cj$(1)
  scene3d 329
      hide 329
      left 329,1242
      top 329,165
      width 329,80
      height 329,80
      color 329,0,255,255
  rem Dessin des sumersibles
      3d_sphere 1,0.13
      3d_cylinder 2,0.53,0.13,0.13
      3d_cone 3,0.25,0.13
      3d_sphere 4,0.06
      3d_z_position 4,0.13
      3d_color 4,255,0,0
 
rem Affichage des boutons de commande
  for ii%=1 to 5 : rem Boutons de 330, 340 , 350, 360 et 370
      button ii%*10+320
        left ii%*10+320,1230
        top ii%*10+320,ii%*62+290
        width ii%*10+320,105
        height ii%*10+320,57
        font_bold ii%*10+320
        font_size ii%*10+320,16
        font_name ii%*10+320,"Arial"
        caption ii%*10+320,""
        on_click ii%*10+320,clic
  next ii%
  button 335 : rem Bouton de choix de niveau
      left 335,1285
      top 335,352
      width 335,50
      height 335,57
      font_bold 335
      font_size 335,24
      font_name 335,"Arial"
      caption 335,"1"
      on_click 335,clic
  width 330,50
  font_name 330,"Webdings"
  font_size 330,40
  caption 330,chr$(113)
  caption 340,"Choisir"
  caption 350,"Rejouer"
  caption 360,"Aide"
  caption 370,"Quitter"
  inactive 330
  inactive 340
  inactive 350

rem Affichage des notes en dessus des boutons
  alpha 380
      left 380,1230
      top 380,330
      color 380,220,170,0
      font_size 380,10
      caption 380,"Tourner"
  alpha 385
      left 385,1290
      top 385,330
      color 385,220,170,0
      font_size 385,10
      caption 385,"Niveau"
 
dlist 390 : rem Liste dans laquelle l`ordi va calculer où jouer
 
rem Zone d`affichage des commentaires d`explosions catastrophiques
  alpha 400
      left 400,1230
      top 400,270
      width 400,105
      height 400,50
      color 400,150,180,0
  alpha 410
      left 410,1231
      top 410,272
      color 410,150,180,0
  herbe()
  active 340
  midi_on
  midi_volume 127
  beep
 
end : rem ' Début des routines ===============================================

sub aide() : rem Explication du mode d`emploi
  dim_local a$ , i$ , j$ , i%
  i$=chr$(13)
  a$=pe$(1)
  for i%=2 to 23
      if left$(pe$(i%),3)="  "
        j$=i$
      else
        j$=""
      end_if
      a$=a$+i$+j$+pe$(i%)
  next i%
  application_title "  Mode d'emploi du jeu de bataille navale sous-marine"
  message a$
end_sub

sub boum(k%) : rem Un des submersibles est détruit
  color k%,255,0,0
  font_color k%,0,60,200
  caption k%,chr$(43)
  midi_play 50,6
  pause 200
  if cc%(k%-10)<0
      font_color k%,130,130,10
  else
      font_color k%,0,100,250
  end_if
  color k%,0,0,0
  caption k%,pd$(int(rnd(8))+1)
  hint k%,"Déchets nucléaires, débrits irradiés, cadavres divers et nappe de pétrole"
end_sub

sub choisir() : rem Choisir le sens de ses sous-marins
  dim_local a%
  show 325
  active 330
  inactive 340
  midi_instrument 127
  nm%=1
  sens3()
  for a%=11 to 322
      on_click a%,sens
  next a%
  show 329
  sens2()
end_sub

sub choix() : rem Choix des emplacements des corniches, de l`île et des rochers
  dim_local i% , j% , h%(3) , k% , x% , y% , z%
  2d_target_is 4
  for i%=1 to int(rnd(3))+1 : rem Dessin des corniches du haut
      h%(i%)=int(rnd(24))+1
      hide h%(i%)+10
      cc%(h%(i%))=-15
      2d_fill_color 110,70,0
      2d_pen_color 110,70,0
      2d_rectangle h%(i%)*50-40,10,h%(i%)*50+10,60
      2d_pen_color 0,255,0
      for j%=1 to 200
        2d_line h%(i%)*50-40+int(rnd(50)),int(rnd(50))+10,h%(i%)*50-40+int(rnd(50)),int(rnd(50))+10
      next j%
  next i%
  for i%=1 to int(rnd(3))+1 : rem Dessin des corniches du bas
      h%(i%)=int(rnd(24))+1
      hide h%(i%)+298
      cc%(h%(i%)+288)=-15
      2d_pen_color 110,70,0
      2d_rectangle h%(i%)*50-40,610,h%(i%)*50+10,660
      2d_pen_color 0,255,0
      for j%=1 to 200
        2d_line h%(i%)*50-40+int(rnd(50)),int(rnd(50))+610,h%(i%)*50-40+int(rnd(50)),int(rnd(50))+610
      next j%
  next i%
  for i%=1 to int(rnd(2))+1 : rem Dessin des corniches de gauche
      h%(i%)=int(rnd(11))+1
      hide h%(i%)*24+11
      cc%(h%(i%)*24+1)=-15
      2d_pen_color 110,70,0
      2d_rectangle 10,h%(i%)*50+10,60,h%(i%)*50+60
      2d_pen_color 0,255,0
      for j%=1 to 200
        2d_line int(rnd(50))+10,h%(i%)*50+10+int(rnd(50)),int(rnd(50))+10,h%(i%)*50+10+int(rnd(50))
      next j%
  next i%
  for i%=1 to int(rnd(2))+1 : rem Dessin des corniches de droite
      h%(i%)=int(rnd(11))+1
      hide h%(i%)*24+34
      cc%(h%(i%)*24+24)=-15
      2d_pen_color 110,70,0
      2d_rectangle 1160,h%(i%)*50+10,1210,h%(i%)*50+60
      2d_pen_color 0,255,0
      for j%=1 to 200
        2d_line int(rnd(50))+1160,h%(i%)*50+10+int(rnd(50)),int(rnd(50))+1160,h%(i%)*50+10+int(rnd(50))
      next j%
  next i%
  y%=int(rnd(5)) : rem Dessin de l`île et de la maison
  x%=int(rnd(16))
  z%=x%+76+y%*24
  hide z%+10 : cc%(z%)=-15
  hide z%+11 : cc%(z%+1)=-15
  hide z%+34 : cc%(z%+24)=-15
  hide z%+35 : cc%(z%+25)=-15
  i%=int(rnd(2))
  if i%=1
      hide z%+12 : cc%(z%+2)=-15
      hide z%+36 : cc%(z%+26)=-15
  end_if
  j%=int(rnd(2)) : j%=0
  if j%=1
      hide z%+58 : cc%(z%+48)=-15
      hide z%+59 : cc%(z%+49)=-15
  end_if
  2d_target_is 5
  2d_fill_color 110,70,0
  2d_pen_color 110,70,0
  2d_rectangle x%*50+10,y%*50+10,(x%+3)*50+10,(y%+3)*50+10
  2d_pen_color 0,255,0
  for i%=1 to 999
      2d_line x%*50+10+int(rnd(150)),y%*50+10+int(rnd(150)),x%*50+10+int(rnd(150)),y%*50+10+int(rnd(150))
  next i%
  2d_fill_color 250,80,0
  2d_pen_color 110,70,0
  k%=int(rnd(2))
  if k%=0
      2d_rectangle x%*50+50,y%*50+50,x%*50+95,y%*50+70
      2d_rectangle x%*50+50,y%*50+70,x%*50+95,y%*50+90
      for i%=1 to 100
        2d_point (x%+1)*50+int(rnd(45)),(y%+1)*50+int(rnd(40))
      next i%
  else
      2d_rectangle x%*50+50,y%*50+50,x%*50+70,y%*50+95
      2d_rectangle x%*50+70,y%*50+50,x%*50+90,y%*50+95
      for i%=1 to 100
        2d_point (x%+1)*50+int(rnd(40)),(y%+1)*50+int(rnd(45))
      next i%
  end_if
  for i%=1 to int(rnd(5))+1 : rem Dessin des rochers
      j%=int(rnd(312))+11
      if show(j%)=1
        font_color j%,110,70,0
        caption j%,chr$(42)
        hint j%,"Rochers dangereux"
        cc%(j%-10)=-11
      end_if
  next i%
end_sub

clic: : rem Redirection de tous les on-click
  caption 410,""
  ii%=number_click
  if ii%<325
      for jj%=11 to 322
        off_click jj%
      next jj%
      pan()
      if jt%=-1
        ordi()
      end_if
  else
      select number_click
        case 330 : sens2()
        case 335 : niveau()
        case 340 : choisir()
        case 350 : rejouer()
        case 360 : aide()
        case 370 : quitter()
      end_select
  end_if
return

rem datas
  data "Sous-marin de poche"+chr$(13)+"d'observation de type"+chr$(13)+"X-ray de 800 t"
  data "Sous-marin nucléaire"+chr$(13)+"de dissuasion de"+chr$(13)+"type Juliett de 3000 t"
  data "Sous-marin nucléaire"+chr$(13)+"de défense de type"+chr$(13)+"Foxtrot de 5000 t"
  data "Sous-marin nucléaire"+chr$(13)+"d'attaque de type"+chr$(13)+"Charlie de 9000 t"
  data chr$(44) , chr$(86) , chr$(144) , chr$(174) , chr$(178) , chr$(179) , chr$(212) , chr$(244)
  data "Cliquez sur Choisir"+chr$(13)+"pour déterminer"+chr$(13)+"les emplacements"+chr$(13)+"de vos submersibles"
  data "Cliquez sur la carte"+chr$(13)+"pour le placer"+chr$(13)+"Cliquez sur Tourner"+chr$(13)+"pour le faire pivoter"
  data 4 , 1 , 3 , 2 , 1 , 3 , 2 , 1 , 2 , 1
  data 4 , 3 , 3 , 2 , 2 , 2 , 1 , 1 , 1 , 1
  data 1 , 23 , 24 , 25
  data "Bravo, vous avez"+chr$(13)+"gagné. L'amiral"+chr$(13)+"vous décerne"+chr$(13)+"la croix de guerre"+chr$(13)+"Mais par ailleurs,"
  data "C'est un désastre !"+chr$(13)+"L'ennemi a gagné et"+chr$(13)+"commence à envahir"+chr$(13)+"toute l'Europe"+chr$(13)+"De plus,"
  data "l'océan et la planète"+chr$(13)+"sont détruits et"+chr$(13)+"pollués à "
  data "et les écologistes"+chr$(13)+"veulent absolument"+chr$(13)
  data "Voulez-vous rejouer ?"
  data "Bravo, vous avez"+chr$(13)+"détruit un de vos"+chr$(13)+"propres bâtiment !"
  data "L'amiral ne décolère"+chr$(13)+"pas. Il parle de"+chr$(13)+"vous traduire en cour"+chr$(13)+"martiale pour"+chr$(13)+"haute trahison"
  data "vous jeter en prison" , "vous clouer au pilori" , "tout vous mettre"+chr$(13)+"sur le dos"
  data "vous faire la peau" , "vous en rendre"+chr$(13)+"responsable" , "vous faire exécuter" , "vous jeter aux lions"
  data "groupe de baleines" , "groupe de dauphins" , "bateau d'immigrants" , "groupe de phoques"
  data "voilier Vendée-globe" , "groupe de tortues" , "radeau de naufragés" , "poulpe géant"
  data "lot de coelacanthes" , "yacht de Greenpeace" , "banc de saumons" , "banc d'esturgeons"
  data "banc de thons" , "groupe d'espadons" , "banc de harengs" , "banc de sardines"
  data "groupe de lamantins" , "banc de maquereaux" , "groupe de morses" , "groupe d'otaries"
  data "banc de belles raies" , "groupe de seiches" , "récif de corail" , "youyou de naufragés"
  data "bateau de pirates" , "navire de croisière" , "bateau de pêche" , "chalutier"
  data "navire baleinier" , "yacht de tourisme" , "navire de plaisance" , "pétrolier géant"
  data "  Alors que le réchauffement climatique et la disparition de nombreuses espèces pourraient nous"
  data "pousser à mieux protéger la planète, un pays émergent, le Kougloufistan, s'est mis à faire parler"
  data "de lui. En effet, une junte militaire y a pris le pouvoir et s'est procuré des sous-marins nucléaires"
  data "de classe Alpha en les achetant à d'autres pays corrompus pour une bouchée de pain. Ils ont"
  data "aussi enlevé des savants dans le monde entier pour équiper ces sous-marins des plus récentes"
  data "technologies. Et au final, ils ont réussi à déclencher la troisième guerre mondiale."
  data "  Comme ils exigent la reddition complète de l'Europe en menaçant de la vitrifier avec des missiles"
  data "nucléaires tirés par leurs sous-marins près de nos côtes, l'amiral vous a chargé de repousser cette"
  data "inquiétante menace avec nos vieux sous-marins dont l'équipement moins performant pourra être"
  data "largement compensé par la ruse qui a fait toute votre renommée."
  data "  Heureusement, vous disposez quand même d'une technologie vous permettant de détecter si"
  data "des masses métalliques entourent vos zones d'impact, même si l'adversaire dispose manifestement"
  data "d'un modèle de détecteurs plus avancé. Et encore plus au niveau 2."
  data "  Alors ensuite, le jeu se joue comme une bataille navale classique, et même mieux, puisqu'il vous"
  data "suffit de cliquer sur une case pour ajuster vos tirs, au lieu d'annoncer des coordonnées, comme"
  data "aux temps héroïques. Notons quand même que, bien évidemment, les navires sont sous l'eau et"
  data "non au dessus, ce qui implique certaines différences. Par exemple, alors que les navires de surface"
  data "peuvent nécessiter plusieurs tirs pour être coulés, avec les sous-marins, le premier tir est"
  data "automatiquement fatal. A noter aussi que les deux camps se situent dans la même environnement."
  data "  Mais malheureusement, les tirs de cette effroyable guerre vont produire des dégâts considérables"
  data "pour toutes les espèces vivantes fréquentant ces lieux. Et là, serez-vous assez robuste pour assumer"
  data "votre implication dans une telle catastrophe écologique à l'échelle mondiale ?"
  data "Voilà qui est assez difficile à prévoir..."
rem fin des datas

sub fin() : rem Cas où un des deux camps a gagné
  dim_local a% , i% , t% , v% , y$
  midi_instrument 107
  for i%=58 to 70
      midi_play i%,10
  next i%
  for i%=1 to 312
      if cc%(i%)=-12 or cc%(i%)=-13 or abs(cc%(i%))=14 or cc%(i%)=16
        t%=t%+1
      end_if
      if cc%(i%)=-11 or cc%(i%)=-15
        v%=v%+1
      end_if
  next i%
  a%=int((t%/(312-v%))*100)
  y$=fc$(int(rnd(7))+1)
  if c1%=0
      caption 328,cf$(1)+chr$(13)+cf$(3)+str$(a%)+"%"+chr$(13)+cf$(4)+y$+chr$(13)+chr$(13)+cf$(5)
  else
      color 327,255,255,0
      color 328,255,255,0
      caption 328,cf$(2)+chr$(13)+cf$(3)+str$(a%)+"%"+chr$(13)+cf$(4)+y$+chr$(13)+chr$(13)+cf$(5)
      for i%=1 to 312
        if (cc%(i%)<0) and (cc%(i%)>-11)
            color i%+10,185,160,60
        end_if
      next i%
  end_if
  active 350
end_sub

sub herbe() : rem Affichage de l`herbe tout autour
  dim_local i% , j%
  2d_target_is 4
  2d_fill_color 110,70,0
  2d_pen_color 110,70,0
  2d_rectangle 1,1,1220,10 : rem Herbe en haut
  2d_pen_color 0,255,0
  for i%=1 to 1000
      j%=int(rnd(1220))+1
      2d_line j%,int(rnd(10))+1,j%-20+int(rnd(20))+1,int(rnd(10))+1
  next i%
  2d_pen_color 110,70,0
  2d_rectangle 1,660,1220,681 : rem Herbe en bas
  2d_pen_color 0,255,0
  for i%=1 to 2000
      j%=int(rnd(1220))+1
      2d_line j%,660+int(rnd(21))+1,j%-20+int(rnd(20))+1,660+int(rnd(21))+1
  next i%
  2d_pen_color 110,70,0
  2d_rectangle 1,11,10,662 : rem Herbe à gauche
  2d_pen_color 0,255,0
  for i%=1 to 500
      j%=int(rnd(652))+11
      2d_line int(rnd(10))+1,j%,int(rnd(10))+1,j%-20+int(rnd(21))+1
  next i%
  2d_pen_color 110,70,0
  2d_rectangle 1210,11,1220,662 : rem Herbe à droite
  2d_pen_color 0,255,0
  for i%=1 to 500
      j%=int(rnd(652))+11
      2d_line 1210+int(rnd(10))+1,j%,1210+int(rnd(10))+1,j%-20+int(rnd(21))+1
  next i%
end_sub

sub ici() : rem Choisir l`emplacement de ses sous-marins
  dim_local i% , n% , l% , p%
  n%=number_click
  if cc%(n%-10)=0
      select os% : rem Dessin du submersible ami sur la carte
        case 1 : rem Orientation vers la droite -----------------------------
            if int((n%+oa%(nm%)-12)/24)<>int((n%-11)/24)
              p%=1
            end_if
            for i%=n% to n%+oa%(nm%)-1
              if i%-10<313
                  if cc%(i%-10)<>0
                    p%=1
                  end_if
              else
                  p%=1
              end_if
            next i%
            if p%=0
              for i%=n% to n%+oa%(nm%)-1
                  color i%,70,150,200
                  cc%(i%-10)=nm%
              next i%
              caption n%+int(oa%(nm%)/2),chr$(76)
              font_color n%+int(oa%(nm%)/2),0,60,200
              hint n%+int(oa%(nm%)/2),"Périscope"
              vue_h(n%,oa%(nm%),14)
            else
              beep
              end_sub
            end_if
        case 2 : rem Orientation vers le bas --------------------------------
            l%=n%+(oa%(nm%)-1)*24
            if l%<322
              for i%=0 to oa%(nm%)-1
                  if cc%(n%+i%*24-10)<>0
                    p%=1
                  end_if
              next i%
              if p%=0
                  for i%=0 to oa%(nm%)-1
                    color n%+i%*24,70,150,200
                    cc%(n%+i%*24-10)=nm%
                  next i%
                  caption n%+24*int(oa%(nm%)/2),chr$(76)
                  font_color n%+24*int(oa%(nm%)/2),0,60,200
                  hint n%+24*int(oa%(nm%)/2),"Périscope"
                  vue_v(n%,oa%(nm%),14)
              else
                  beep
                  end_sub
              end_if
            else
              beep
              end_sub
            end_if
        case 3 : rem Orientation vers la gauche -----------------------------
            if int((n%-oa%(nm%)-10)/24)<>int((n%-11)/24)
              p%=1
            end_if
            for i%=n%-oa%(nm%)+1 to n%
              if i%-10>0
                  if cc%(i%-10)<>0
                    p%=1
                  end_if
              else
                  p%=1
              end_if
            next i%
            if p%=0
              for i%=n%-oa%(nm%)+1 to n%
                  color i%,70,150,200
                  cc%(i%-10)=nm%
              next i%
              caption n%-oa%(nm%)+int((oa%(nm%)+1)/2),chr$(76)
              font_color n%-oa%(nm%)+int((oa%(nm%)+1)/2),0,60,200
              hint n%-oa%(nm%)+int((oa%(nm%)+1)/2),"Périscope"
              vue_h(n%-oa%(nm%)+1,oa%(nm%),14)
            else
              beep
              end_sub
            end_if
        case 4 : rem Orientation vers le haut -------------------------------
            l%=n%+(1-oa%(nm%))*24
            if l%>11
              for i%=0 to 1-oa%(nm%) step -1
                  if cc%(n%+i%*24-10)<>0
                    p%=1
                  end_if
              next i%
              if p%=0
                  for i%=0 to 1-oa%(nm%) step -1
                    color n%+i%*24,70,150,200
                    cc%(n%+i%*24-10)=nm%
                  next i%
                  caption n%-24*int(oa%(nm%)/2),chr$(76)
                  font_color n%-24*int(oa%(nm%)/2),0,60,200
                  hint n%-24*int(oa%(nm%)/2),"Périscope"
                  vue_v(n%+(1-oa%(nm%))*24,oa%(nm%),14)
              else
                  beep
                  end_sub
              end_if
            else
              beep
              end_sub
            end_if
      end_select
      nm%=nm%+1
      if nm%>10 : rem Fin d`implantation de tous les submersibles
        beep
        hide 325
        hide 329
        inactive 330
        for i%=11 to 322
            off_click i%
        next i%
        caption 328,"L'ennemi place"+chr$(13)+"ses submersibles"
        color 327,255,0,0
        color 328,255,0,0
        pause 100
        color 327,255,255,0
        color 328,255,255,0
        pause 1000
        ou()
        caption 328,"L'ennemi tire"+chr$(13)+"sans sommation"
        color 327,255,0,0
        color 328,255,0,0
        pause 100
        color 327,255,255,0
        color 328,255,255,0
        pause 1000
        jt%=-1
        ordi()
        end_sub
      end_if
      sens3()
  end_if
end_sub

sub menage() : rem Fait le ménage des 16 périmés ou inadéquats
  dim_local vp1_men% , vp2_men% , ind_men%
  for vp1_men%=1 to 312
      if cc%(vp1_men%)=16
        ind_men%=0
        for vp2_men%=1 to 4
            if vp1_men%+ca%(vp2_men%)<313
              if (abs(left((vp1_men%+ca%(vp2_men%)+10))-(left(vp1_men%+10)))<75)
                  if ((cc%(vp1_men%+ca%(vp2_men%)))>0) and ((cc%(vp1_men%+ca%(vp2_men%)))<11)
                    ind_men%=1
                  end_if
              end_if
            end_if
            if vp1_men%-ca%(vp2_men%)>0
              if (abs(left((vp1_men%-ca%(vp2_men%)+10))-(left(vp1_men%+10)))<75)
                  if ((cc%(vp1_men%-ca%(vp2_men%)))>0) and ((cc%(vp1_men%-ca%(vp2_men%)))<11)
                    ind_men%=1
                  end_if
              end_if
            end_if
        next vp2_men%
        if ind_men%=0
            cc%(vp1_men%)=-14
        end_if
      end_if
  next vp1_men%
end_sub

sub niveau() : rem Choisir le niveau de jeu
  if nj%=1
      caption 335,"2"
      nj%=2
  else
      caption 335,"1"
      nj%=1
  end_if
end_sub

sub ordi() : rem Tour de l`ordinateur de jouer
  dim_local ioo% , joo% , soo% , too% , uoo% , voo% , woo% , yoo% , zoo%
  tt%=0 : hh%=0
  for ioo%=1 to 312 : rem Repère les 16
      if cc%(ioo%)=16
        tt%=ioo%
        exit_for
      end_if
  next ioo%
  clear 390
  if tt%=0
      zoo%=22
      for joo%=1 to 312 : rem Choisit le lieu de tir si pas de 16
        yoo%=0
        for ioo%=1 to 4
            if joo%+ca%(ioo%)<313
              if (abs(left((joo%+ca%(ioo%)+10))-(left(joo%+10)))<75)
                  if ((cc%(joo%+ca%(ioo%)))<0) and ((cc%(joo%+ca%(ioo%)))>-14) and ((cc%(joo%+ca%(ioo%)))<>-11)
                    yoo%=yoo%+1
                  end_if
              end_if
            end_if
            if joo%-ca%(ioo%)>0
              if (abs(left((joo%-ca%(ioo%)+10))-(left(joo%+10)))<75)
                  if ((cc%(joo%-ca%(ioo%)))<0) and ((cc%(joo%-ca%(ioo%)))>-14) and ((cc%(joo%-ca%(ioo%)))<>-11)
                    yoo%=yoo%+1
                  end_if
              end_if
            end_if
        next ioo%
        if cc%(joo%)<0
            yoo%=yoo%+10
        end_if
        if yoo%<zoo%
            zoo%=yoo%
            hh%=joo%
        end_if
        if yoo%=0
            item_add 390,joo%
        end_if
      next joo%
      if count(390)>0
        too%=int(rnd(count(390)))+1
        hh%=item_read$(390,too%)
      end_if
      if hh%=0
        repeat
            hh%=int(rnd(312))+1
        until cc%(hh%)>=0
      end_if
  else
      yoo%=0
      for too%=1 to 4  : rem Utilise son sonar directionnel
        if tt%+ca%(too%)<313
            if (abs(left((tt%+ca%(too%)+10))-(left(tt%+10)))<75)
              if ((cc%(tt%+ca%(too%)))>0) and ((cc%(tt%+ca%(too%)))<11)
                  yoo%=ca%(too%)
              end_if
            end_if
        end_if
        if tt%-ca%(too%)>0
            if (abs(left((tt%-ca%(too%)+10))-(left(tt%+10)))<75)
              if ((cc%(tt%-ca%(too%)))>0) and ((cc%(tt%-ca%(too%)))<11)
                  yoo%=0-ca%(too%)
              end_if
            end_if
        end_if
      next too%
      hh%=tt%+yoo%
      if yoo%=0 : rem Si pas trouvé de bateau ami, détruit le 16
        cc%(tt%)=-14
        repeat : rem Cherche un nouveau point au hasard
            hh%=int(rnd(312))+1
        until cc%(hh%)>=0
      end_if
  end_if
  pan()
  midi_instrument 117
  midi_play 90,10
  midi_instrument 127
  if c2%>0
      for ioo%=11 to 322
        on_click ioo%,clic
      next ioo%
  end_if
end_sub

sub ou() : rem Où l`ennemi place ses submersibles
  dim_local e% , f% , m% , s% , y%
  m%=240 : rem Placement du sous-marin ennemi de taille 4
  s%=int(rnd(2))
  if s%=0
      repeat
        e%=int(rnd(m%))+1
      until ((mod(e%-1,24)+1)<22) and ((mod(e%,24)+1)<22) and ((mod(e%+1,24)+1)<22) and ((mod(e%+2,24)+1)<22) and (cc%(e%)=0) and (cc%(e%+1)=0) and (cc%(e%+2)=0) and (cc%(e%+3)=0)
      for y%=0 to 3
        cc%(e%+y%)=-1
      next y%
      vue_h(e%+10,4,-14)
  else
      repeat
        e%=int(rnd(m%))+1
      until ((mod(e%-1,24)+1)<22) and ((mod(e%+23,24)+1)<22) and ((mod(e%+47,24)+1)<22) and ((mod(e%+71,24)+1)<22) and (cc%(e%)=0) and (cc%(e%+24)=0) and (cc%(e%+48)=0) and (cc%(e%+72)=0)
      for y%=0 to 3
        cc%(e%+y%*24)=-1
      next y%
      vue_v(e%+10,4,-14)
  end_if
  m%=264 : rem Placements des sous-marins ennemis de taille 3
  for f%=1 to 2
      s%=int(rnd(2))
      if s%=0
        repeat
            e%=int(rnd(m%))+1
        until ((mod(e%-1,24)+1)<23) and ((mod(e%,24)+1)<23) and ((mod(e%+1,24)+1)<23) and (cc%(e%)=0) and (cc%(e%+1)=0) and (cc%(e%+2)=0)
        for y%=0 to 2
            cc%(e%+y%)=-1-f%
        next y%
        vue_h(e%+10,3,-14)
      else
        repeat
            e%=int(rnd(m%))+1
        until ((mod(e%-1,24)+1)<23) and ((mod(e%+23,24)+1)<23) and ((mod(e%+47,24)+1)<23) and (cc%(e%)=0) and (cc%(e%+24)=0) and (cc%(e%+48)=0)
        for y%=0 to 2
            cc%(e%+y%*24)=-1-f%
        next y%
        vue_v(e%+10,3,-14)
      end_if
  next f%
  m%=288 : rem Placements des sous-marins ennemis de taille 2
  for f%=1 to 3
      s%=int(rnd(2))
      if s%=0
        repeat
            e%=int(rnd(m%))+1
        until ((mod(e%-1,24)+1)<24) and ((mod(e%,24)+1)<24) and (cc%(e%)=0) and (cc%(e%+1)=0)
        for y%=0 to 1
            cc%(e%+y%)=-3-f%
        next y%
        vue_h(e%+10,2,-14)
      else
        repeat
            e%=int(rnd(m%))+1
        until ((mod(e%-1,24)+1)<24) and ((mod(e%+23,24)+1)<24) and(cc%(e%)=0) and (cc%(e%+24)=0)
        for y%=0 to 1
            cc%(e%+y%*24)=-3-f%
        next y%
        vue_v(e%+10,2,-14)
      end_if
  next f%
  m%=312 : rem Placement des sous-marins ennemis de taille 1
  for f%=1 to 4
      repeat
        e%=int(rnd(m%))+1
      until cc%(e%)=0
      cc%(e%)=-6-f%
      vue_h(e%+10,1,-14)
  next f%
end_sub

sub pan() : rem Effet d`un tir de missile sur une des cases
  dim_local b% , c% , i% , j% , r% , k% , z%(10) , q$ , t$ , ypan%
  if jt%=1
      k%=number_click
  else
      k%=hh%+10
  end_if
  r%=cc%(k%-10)
  if r%=0 : rem Cas où il n`y a rien à cet endroit pour le joueur et l`ordi
      color k%,255,0,0
      pause 100
      color k%,250,220,250
      pause 100
      color k%,255,0,0
      pause 100
      font_color k%,160,90,250
      color k%,150,0,150
      if jt%=1
        c%=int(rnd(2))
        if c%=0
            caption k%,chr$(244)
            hint k%,"Poissons morts flottant en milieu irradié"
        else
            caption k%,chr$(223)
            hint k%,"débrits ou cadavres flottant en milieu irradié"
            color 400,255,0,0
            pause 100
            color 400,150,180,0
            caption 410,"Oups, vous avez"+chr$(13)+"fait exploser un"+chr$(13)+nc$(int(rnd(32))+1)
            midi_instrument 91
            midi_play 107,10
            midi_instrument 127
        end_if
      else
        caption k%,chr$(244)
        hint k%,"Poissons morts flottant en milieu irradié"
      end_if
      cc%(k%-10)=-13
  end_if
  if jt%=-1 : rem Cas où il y a un submersible en vue
      if r%=14 : rem C`est l`ordinateur qui joue
        color k%,255,0,0
        pause 100
        color k%,250,220,250
        pause 100
        color k%,255,0,0
        pause 100
        font_color k%,255,0,0
        color k%,150,0,150
        caption k%,chr$(119)
        hint k%,"Masse métallique détectée à proximité"
        cc%(k%-10)=16
      end_if
      if r%=0 : rem Utilise son super sonar hypersensible de dernier cri
        if nj%=2
            if k%>35 and k%<298
              for i%=1 to 4
                  if (cc%(k%-10+ca%(i%))=14)
                    cc%(k%-10+ca%(i%))=16
                  end_if
                  if (cc%(k%-10-ca%(i%))=14)
                    cc%(k%-10-ca%(i%))=16
                  end_if
              next i%
            end_if
        end_if
        menage()
      end_if
  else
      if abs(r%)=14 : rem C`est le joueur humain qui joue
        color k%,255,0,0
        pause 100
        color k%,250,220,250
        pause 100
        color k%,255,0,0
        pause 100
        font_color k%,255,0,0
        color k%,150,0,150
        caption k%,chr$(119)
        hint k%,"Masse métallique détectée à proximité"
        if r%=14
            cc%(k%-10)=16
        end_if
      end_if
  end_if
  if abs(r%)>0 and abs(r%)<11 : rem Cas où un sous-marin est touché, ami ou pas
      boum(k%)
      caption k%,pd$(int(rnd(8))+1)
      cc%(k%-10)=-12
      for i%=1 to 312
        if cc%(i%)=r%
            boum(i%+10)
            cc%(i%)=-12
        end_if
      next i%
      if (tt%>0) and (r%>0) : rem Supprime les 16 périmés
        menage()
      end_if
  end_if
  b%=0
  if i%<>313 : rem Bruit du tir de missile
      midi_play 60,6
      pause 200
  end_if
  if (abs(cc%(k%-10))>12) and (abs(cc%(k%-10))<17) : rem Couleur irradiée
      color k%,250,220,250
  end_if
  if jt%=1 and r%>0 and r%<11 : rem L`amiral est très mécontent
      caption 328,cf$(6)+chr$(13)+cf$(7)
      pause 800
      midi_instrument 94
      midi_play 66,11
      pause 50
      midi_play 59,11
      pause 3000
      midi_instrument 96
      midi_play 60,10
      midi_instrument 127
  end_if
  q$="Bilan actuel :"+chr$(13) : rem Fait le bilan des submersibles restant
  q$=q$+"Flotte ennemie :"+chr$(13)
  for j%=1 to 312
      for i%=1 to 10
        if cc%(j%)=0-i%
            z%(i%)=1
        end_if
      next i%
  next j%
  for i%=1 to 10
      if z%(i%)=1
        t$=t$+str$(or%(i%))
      end_if
  next i%
  t$=reverse$(t$)
  c1%=len(t$)
  q$=q$+t$+"="+str$(c1%)+chr$(13) : rem Affiche le résultat
  q$=q$+"Votre flotte :"+chr$(13)
  for i%=1 to 10
      z%(i%)=0
  next i%
  t$=""
  for j%=1 to 312
      for i%=1 to 10
        if cc%(j%)=i%
            z%(i%)=z%(i%)+1
        end_if
      next i%
  next j%
  for j%=1 to 9
      for i%=1 to 9
        if z%(i%)>z%(i%+1)
            b%=z%(i%)
            z%(i%)=z%(i%+1)
            z%(i%+1)=b%
        end_if
      next i%
  next j%
    for i%=1 to 10
      if z%(i%)>0
          t$=t$+str$(z%(i%))
      end_if
  next i%
  c2%=len(t$)
  q$=q$+t$+"="+str$(c2%)+chr$(13)+chr$(13) : rem Affiche le résultat
  if c1%=0 or c2%=0
      for i%=1 to 312
        off_click i%+10
      next i%
      fin()
      exit_sub
  end_if : rem Passe au suivant
  if jt%=-1
      caption 328,q$+"A votre tour de jouer"+chr$(13)+"Cliquez sur une case"
      color 327,0,255,255
      color 328,0,255,255
  else
      caption 328,q$+"C'est au tour"+chr$(13)+"de l'ennemi"
      color 327,255,255,0
      color 328,255,255,0
  end_if
  jt%=0-jt%
end_sub

sub quitter() : rem Quitter le jeu
  dim_local a% , a$ , i$
  i$=chr$(13)
  a$="Dites donc, c'est un peu facile de se débiner"+i$
  a$=a$+"après avoir mis la planète dans un tel état..."+i$
  a$=a$+"Attendez, vous voulez vraiment partir ?"
  a%=message_confirmation_yes_no(a$)
  if a%=1
      file_delete "Batnavoramic.bmp"
      midi_off
      terminate
  end_if
end_sub

sub rejouer() : rem Le joueur demande à faire une nouvelle partie
  dim_local i%
  inactive 350
  c1%=0
  c2%=0
  hh%=0
  tt%=0
  os%=0
  nm%=1
  for i%=1 to 312
      cc%(i%)=0
      caption i%+10,chr$(223)
      color i%+10,70,190,250
      font_color i%+10,70,170,250
      show i%+10
      hint_hide i%+10
  next i%
  color 4,220,170,0
  color 5,200,170,0
  choix()
  herbe()
  color 327,0,255,255
  color 328,0,255,255
  caption 328,cj$(1)
  active 340
  beep
end_sub

sens: : rem Placer le sous marin ami sur la carte
  ici()
return

sub sens2() : rem Tourner le sous-marin ami avant de le placer sur la carte
  os%=os%+1
  if os%>4
      os%=1
  end_if
  select os%
      case 1
        3d_position 1,-0.3,0,0 : rem Submersible dirigé vers la droite
        3d_z_rotate 2,90
        3d_z_rotate 3,270
        3d_position 3,0.38,0,0
        3d_position 4,-0.25,0,0.13
      case 2
        3d_position 1,0,0.3,0 : rem Submersible dirigé vers le bas
        3d_z_rotate 2,0
        3d_z_rotate 3,180
        3d_position 3,0,-0.38,0
        3d_position 4,0,0.25,0.13
      case 3
        3d_position 1,0.3,0,0 : rem Submersible dirigé vers la gauche
        3d_z_rotate 2,90
        3d_z_rotate 3,90
        3d_position 3,-0.38,0,0
        3d_position 4,0.25,0,0.13
      case 4
        3d_position 1,0,-0.3,0 : rem Submersible dirigé vers le haut
        3d_z_rotate 2,0
        3d_z_rotate 3,0
        3d_position 3,0,0.38,0
        3d_position 4,0,-0.25,0.13
  end_select
  caption 328,ns$(oa%(nm%))+chr$(13)+cj$(2)+chr$(13)+chr$(13)+str$(oa%(nm%))
end_sub

sub sens3() : rem Choix de la taille du dessin du submersible ami
  select oa%(nm%)
      case 1
        width 325,25
        height 325,10
        file_load 325,"Batnavoramic.bmp"
        os%=os%-1
        sens2()
      case 2
        width 325,55
        height 325,21
        file_load 325,"Batnavoramic.bmp"
        os%=os%-1
        sens2()
      case 3
        width 325,80
        height 325,30
        file_load 325,"Batnavoramic.bmp"
        os%=os%-1
        sens2()
      case 4
        width 325,105
        height 325,40
        file_load 325,"Batnavoramic.bmp"
        os%=os%-1
        sens2()
  end_select
end_sub

sub vue_h(t%,d%,c%) : rem Détermination des cases en vue potentielles horizontales
  dim_local w%(14) , v% , q%
  for v%=1 to d%+2
      w%(v%)=t%+v%-26
      w%(v%+d%+2)=t%+v%+22
  next v%
  w%(13)=t%-1
  w%(14)=t%+d%
  for v%=1 to 14
      if mod(t%-10,24)=1
        w%(1)=0
        w%(d%+3)=0
        w%(13)=0
      end_if
      if mod(t%+d%-11,24)=0
        w%(d%+2)=0
        w%(d%*2+4)=0
        w%(14)=0
      end_if
      if w%(v%)>10 and w%(v%)<323
        if cc%(w%(v%)-10)=0
            cc%(w%(v%)-10)=c%
        end_if
      end_if
  next v%
end_sub

sub vue_v(t%,d%,c%) : rem Détermination des cases en vue potentielles verticales
  dim_local w%(14) , v% , h%
  for v%=1 to d%+2
      w%(v%)=t%+v%*24-49
      w%(v%+d%+2)=t%+v%*24-47
  next v%
  w%(13)=t%-24
  w%(14)=t%+d%*24
  for v%=1 to 14
      if mod(t%-10,24)=1
        for h%=1 to d%+2
            w%(h%)=0
        next h%
      end_if
      if mod(t%-10,24)=0
        for h%=d%+3 to d%*2+4
            w%(h%)=0
        next h%
      end_if
      if w%(v%)>10 and w%(v%)<323
        if cc%(w%(v%)-10)=0
            cc%(w%(v%)-10)=c%
        end_if
      end_if
  next v%
end_sub
Basketball geek alien Laughing bounce
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Marc

Marc


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

Bataille navale sous-marine Empty
MessageSujet: Re: Bataille navale sous-marine   Bataille navale sous-marine EmptyVen 13 Jan 2017 - 22:53

Extra !
Bravo jjn4 ! cheers
Revenir en haut Aller en bas
Francis-mr




Nombre de messages : 186
Date d'inscription : 26/11/2012

Bataille navale sous-marine Empty
MessageSujet: Re: Bataille navale sous-marine   Bataille navale sous-marine EmptySam 14 Jan 2017 - 11:49

Et dire que certain doute qu'il y-a de l'eau sur Mars drunken
Bravo, excellent jeu.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Bataille navale sous-marine Empty
MessageSujet: re   Bataille navale sous-marine EmptySam 14 Jan 2017 - 12:46

cheers Excellent JJN4 ! 

Mon absence aura été plus courte que je ne le pensais.
J' en ai donc profité pour jouer un peu avec ce programme
et comme à ton habitude tu nous a fait un excellent jeu et sans fichiers annexes.
Maintenant, quelques un de ces fichiers pourrait améliorer le graphisme.
Revenir en haut Aller en bas
Jicehel

Jicehel


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

Bataille navale sous-marine Empty
MessageSujet: Re: Bataille navale sous-marine   Bataille navale sous-marine EmptySam 14 Jan 2017 - 12:57

Bravo, bravo. Je peux essayer de donner un exercice difficile pour un cerveau martien. Pourrais tu essayer d'appliquer les méthodes de ton jeu pour programmer la version terrienne de la bataille navale également (c'est je crois l'un des grands classiques qui n'a pas encore eu sa version Panormic)
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

Bataille navale sous-marine Empty
MessageSujet: Re: Bataille navale sous-marine   Bataille navale sous-marine EmptySam 14 Jan 2017 - 13:02

Je l'ai essayé, vite fait, hier et je n'ai pas réagi car je n'ai pas tout compris.
Il faut dire que je me prends la tête avec Puissance 4 en 2D....

Mais, vu les réactions, je vais devoir m'y atteler. Very Happy

A+
Revenir en haut Aller en bas
papydall

papydall


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

Bataille navale sous-marine Empty
MessageSujet: Re: Bataille navale sous-marine   Bataille navale sous-marine EmptySam 14 Jan 2017 - 13:29

Bravo JJN4, le Martien.
C’est un bon code et un bon jeu qui  m’a appris que je ne suis pas un fin stratège !
J’ai perdu aux trois essais et je vais en rester là sous peine d’être traduit en cour Martienne No alien No
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
jjn4

jjn4


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

Bataille navale sous-marine Empty
MessageSujet: +++   Bataille navale sous-marine EmptySam 14 Jan 2017 - 15:27

Merci, merci pour vos compliments... Embarassed
Merci aussi pour vos suggestions.
C'est vrai que je pourrais aussi faire une bataille navale
plus classique et au graphisme sophistiqué,
mais, si le côté classique reste toujours très bien,
je crains que ça ne devienne un peu trop rapidement ennuyeux
et j'aurais tendance à penser qu'un peu d'originalité
soit nécessaire pour mettre un peu de piquant dans le quotidien...

Ceci dit, puisqu'on parle de bataille navale ayant déjà eu sa version
panoramique et de variantes originales, je rappelle que j'avais déjà
publié une BATAILLE TERRESTRE en fin juillet 2010
(dans la même rubrique : Les jeux faits avec Panoramic),
pour les passionnés de batailles « navales» sous toutes ses formes...

Ceci dit, ça fait un moment que j'étais sur ce jeu que je voulais super
parce qu'une bonne vieille bataille navale, c'est quand même relaxant
sans être stressant (le soir, quand on est bien fatigué...),
donc je vais peut-être me reposer, maintenant...?
Mais bon, toutes vos suggestions vont peut-être me donner des idées...
Que diriez-vous d'une bataille martienne...?
A suivre...

Citation :
...être traduit en cour Martienne
Hum, hum, je sens qu'on a été tenté de détruire ses propres vaisseaux...
C'est du joli !   Laughing

Psst : Vous avez remarqué que l'ennemi doit comprendre des fans
de la vieille chanson Yellow submarine ?
Laughing  Laughing  Laughing  alien  Laughing  Laughing  Laughing
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Froggy One

Froggy One


Nombre de messages : 598
Date d'inscription : 06/01/2012

Bataille navale sous-marine Empty
MessageSujet: Re:   Bataille navale sous-marine EmptyMar 17 Jan 2017 - 17:23

Merci infiniment pour ce jeu original ! Je me suis beaucoup amusé !!!
Revenir en haut Aller en bas
http://gaeldwest.wordpress.com
jjn4

jjn4


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

Bataille navale sous-marine Empty
MessageSujet: +++   Bataille navale sous-marine EmptyMer 18 Jan 2017 - 19:15

Ravi d'avoir pu te permettre de t'amuser.
Et attendez, j'en concocte un autre de derrière les fagots...
scratch alien Laughing
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
papydall

papydall


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

Bataille navale sous-marine Empty
MessageSujet: Re: Bataille navale sous-marine   Bataille navale sous-marine EmptyJeu 19 Jan 2017 - 0:19

Le Martien déchaîné ! alien
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Bataille navale sous-marine Empty
MessageSujet: Re: Bataille navale sous-marine   Bataille navale sous-marine Empty

Revenir en haut Aller en bas
 
Bataille navale sous-marine
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Récapitulatif ludothèque panoramic jjn4
» Bataille-navale
» Bataille navale SM
» Un programme plante sous l'IDE, mais marche sous l'éditeur
» Bataille spatiale

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: