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
» StratégoV8 et V9
par Minibug Aujourd'hui à 1:10

» Rotation d'une image d'un angle quelconque
par JL35 Hier à 23:02

» GRID_LOAD
par Jean Claude Hier à 21:04

» HVIEWER
par Yannick Hier à 20:31

» KGF_dll - nouvelles versions
par Klaus Mar 16 Jan 2018 - 21:28

» Déformation d'image en trapèze
par mindstorm Mar 16 Jan 2018 - 21:06

» Mah-Jong américain
par Jean Claude Lun 15 Jan 2018 - 19:37

» Problème avec Deepl
par Klaus Lun 15 Jan 2018 - 0:34

» Quelques nouvelles ...
par Jean Claude Ven 12 Jan 2018 - 22:40

» Renommer les instructions ITEM_... ?
par Jicehel Ven 12 Jan 2018 - 18:56

» Ludothèque Panoramic
par jjn4 Ven 12 Jan 2018 - 18:11

» sous-programmes et fonctions
par Jack Ven 12 Jan 2018 - 17:51

» Mah-Jong français
par Jean Claude Jeu 11 Jan 2018 - 22:15

» panoramic 0.9.28
par gigi75 Ven 5 Jan 2018 - 14:06

» Un jeu qui va vous énerver!
par Jean Claude Jeu 4 Jan 2018 - 22:05

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Janvier 2018
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
293031    
CalendrierCalendrier

Partagez | 
 

 Barbarian

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Jicehel

avatar

Nombre de messages : 5876
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Barbarian   Jeu 4 Avr 2013 - 1:57

Bon, j'ai commencé à en parler et j'ai bossé un peu dessus ce week-end et je viens de terminer les menu.
Je mets le source ici et je le rajoute sur mon Webdav

Attention, j'ai bien mis que je n'avais terminé que les menus. Je vais m'attaquer au jeu maintenant ...

Code:
' ********************************************************************
' * ----------------- --------------------------- ------------------ *
' * ---------------- --  Remake de "BARBARIAN"  -- ----------------- *
' * ----------------- --------------------------- ------------------ *                                                                *
' * ---------------- --  de Palace Software 1987 -- ---------------- *
' * ------------- --- --------------------------- --- -------------- *
' * ----------------  Made by Jicehel using Panoramic -------------- *
' * ------------- --- --------------------------- --- -------------- *
' * http://panoramic-language.pagesperso-orange.fr/French/index.html *
' * ------------- --- --------------------------- --- -------------- *
' ********************************************************************
dim esc,cesc : cesc=27 : ' * TOUCHE "ESC"  * ----------------------- *
dim tfg,ctfg : ctfg=37 : ' * FLÈCHE GAUCHE * ||||||||||||||||||||||| *
dim tfh,ctfh : ctfh=38 : ' * FLÈCHE HAUTE  * ||||||||||||||||||||||| *
dim tfd,ctfd : ctfd=39 : ' * FLÈCHE DROITE * ||||||||||||||||||||||| *
dim tfb,ctfb : ctfb=40 : ' * FLÈCHE BASSE  * ||||||||||||||||||||||| *
dim ztp,ztop : ztop=32 : ' *    BARRE    * ----------------------- *
' ********************************************************************

CAPTION 0,"Barbarian - Version Panoramic"

WIDTH 0,656:HEIGHT 0,520 : HIDE 0

DIM I%,X%,CPT%,LastSprite%,t%,POSITION%
DIM ASSIS%,MARCHE%,ATTENTE%,GENOU%
DIM OLD_SELECT,HANDLE%,res%
DIM D$ : D$ = "C:\Panoramic-Init\sources\Barbarian-jc\"
DIM musique%, sons%, scoreA, scoreB, langue$
DIM TimerActif

musique% = 1: sons%=1 : scoreA = 0 : scoreB = 0 : langue$ = "Français"

DIM P_SAUT%,P_DEBOUT%,P_ROULADE%,P_ASSIS%
P_SAUT%=1 : P_DEBOUT% = 2 : P_ROULADE% = 3 : P_ASSIS% = 4

LABEL t1,t2,ANIM1J,MENU2, CLIC_MENU, CLIC_OPTIONS, QUITTER, CLIC_RETOUR

FORM 3 : HIDE 3 : WIDTH 3,656:HEIGHT 3,520  :  HANDLE% =  HANDLE(3) : COLOR 3,0,0,0
DLL_ON D$+"KGF.dll" :  res% = DLL_call2("SetMinimizeMaximize",HANDLE%,0) : DLL_OFF

PICTURE 4 : PARENT 4,3 : WIDTH 4,640:HEIGHT 4,480 : FILE_LOAD 4,"gfx\level0.bmp"
SOUND 5
CONTAINER 7 : PARENT 7,3 : TOP 7,200 : LEFT 7,200 : COLOR 7,0,0,0 : HEIGHT 7,190 : WIDTH 7, 270
LIST 6 : PARENT 6,7 : TOP 6,-2 : LEFT 6,-2 : COLOR 6,0,0,0 : WIDTH 6, 280
INACTIVE 6


SCENE2D 1 : WIDTH 1,640:HEIGHT 1,480

FOR I% = 1 TO 11 : SPRITE I% : SPRITE_HIDE I% :  SPRITE_POSITION I%,20,300 : NEXT I%
I% = 1 : SPRITE_FILE_LOAD I%,"gfx\Assis1.bmp" : ASSIS% = I% : I% = I%+1
SPRITE_FILE_LOAD I%,"gfx\Assis2.bmp" : I% = I%+1
SPRITE_FILE_LOAD I%,"gfx\Marche1.bmp" : MARCHE%=I% : I% = I%+1
SPRITE_FILE_LOAD I%,"gfx\Marche2.bmp" : I% = I%+1
SPRITE_FILE_LOAD I%,"gfx\Marche3.bmp" : I% = I%+1
SPRITE_FILE_LOAD I%,"gfx\Attente1.bmp" : ATTENTE%=I% : I% = I%+1
SPRITE_FILE_LOAD I%,"gfx\Attente2.bmp" : I% = I%+1
SPRITE_FILE_LOAD I%,"gfx\Attente3.bmp" : I% = I%+1
SPRITE_FILE_LOAD I%,"gfx\Genou1.bmp" : GENOU% = I% : I% = I%+1
SPRITE_FILE_LOAD I%,"gfx\Genou2.bmp" : I% = I%+1
SPRITE_FILE_LOAD I%,"gfx\Genou3.bmp" : I% = I%+1

t% = 80 : TIMER 2: TIMER_INTERVAL 2,t% : TIMER_OFF 2
MENU()

END

SUB MENU()
  2D_TARGET_IS 3 : ON_CLOSE 3,QUITTER
  TimerActif = 1
  CLEAR 6 : FONT_SIZE 6,18 : FONT_COLOR 6,255,255,255 : FONT_NAME 6,"Arial Bold"
  HEIGHT 6,200 : HEIGHT 7,190
  IF langue$ = "Anglais"
    ITEM_ADD 6,"0 - DEMO"
    ITEM_ADD 6,"1 - 1 PLAYER"
    ITEM_ADD 6,"2 - 2 PLAYERS"
    ITEM_ADD 6,"3 - OPTIONS"
    ITEM_ADD 6,"4 - CONTROLS"
    ITEM_ADD 6,"5 - STORY"
    ITEM_ADD 6,"6 - QUIT"
    CAPTION 3,"BARBARIAN - Main Menu"
  ELSE
    ITEM_ADD 6,"0 - DEMO"
    ITEM_ADD 6,"1 - 1 JOUEUR"
    ITEM_ADD 6,"2 - 2 JOUEURS"
    ITEM_ADD 6,"3 - OPTIONS"
    ITEM_ADD 6,"4 - CONTROLES"
    ITEM_ADD 6,"5 - HISTOIRE"
    ITEM_ADD 6,"6 - QUITTER"
    CAPTION 3,"BARBARIAN - Menu Principal"
  END_IF
  OLD_SELECT=-1
  IF musique% = 1 THEN FILE_LOAD 5,"sons\barbarian.mp3" : Play 5
  ON_TIMER 2,MENU2 : TIMER_ON 2
  ON_CLICK 7,CLIC_MENU
  SHOW 3
END_SUB

MENU2:
  IF OLD_SELECT > -1 THEN 2D_PEN_COLOR 0,0,0 : 2D_FILL_COLOR 0,0,0 : 2D_RECTANGLE 181,201+27*OLD_SELECT,189,27*(OLD_SELECT+1)+199
  IF MOUSE_Y_POSITION(7) > 0 AND MOUSE_Y_POSITION(7) < 187 AND MOUSE_X_POSITION(7) > 0 AND MOUSE_X_POSITION(7) < 180
    OLD_SELECT = INT(MOUSE_Y_POSITION(7)/27)
    2D_PEN_COLOR 255,0,0 : 2D_FILL_COLOR 255,0,0 : 2D_RECTANGLE 181,201+27*OLD_SELECT,189,27*(OLD_SELECT+1)+199
  END_IF
RETURN

CLIC_MENU:
  TIMER_OFF 2
  IF OLD_SELECT = 3 THEN OPTIONS()
  IF OLD_SELECT = 4
    IF OLD_SELECT > -1
      2D_PEN_COLOR 0,0,0 : 2D_FILL_COLOR 0,0,0
      2D_RECTANGLE 181,201+27*OLD_SELECT,189,27*(OLD_SELECT+1)+199: CONTROLES()
    END_IF
  END_IF
  IF OLD_SELECT = 5
    IF OLD_SELECT > -1
      2D_PEN_COLOR 0,0,0 : 2D_FILL_COLOR 0,0,0
      2D_RECTANGLE 181,201+27*OLD_SELECT,189,27*(OLD_SELECT+1)+199 :HISTOIRE()
    END_IF
  END_IF
  IF OLD_SELECT = 6 THEN GOSUB QUITTER
  IF TimerActif = 1 THEN TIMER_ON 2
RETURN

SUB AFF_OPTIONS()
  CLEAR 6 :    CAPTION 3,"BARBARIAN - Options"
  IF langue$ = "Anglais"

    IF musique%=1
        ITEM_ADD 6,"0 - MUSIC IS ON"
    ELSE
        ITEM_ADD 6,"0 - MUSIC IS OFF"
    END_IF
    IF sons%=1
        ITEM_ADD 6,"1 - SOUND IS ON"
    ELSE
        ITEM_ADD 6,"1 - SOUND IS OFF"
    END_IF
    IF langue$="Anglais"
        ITEM_ADD 6,"2 - LANGAGE: ENGLISH"
    ELSE
        ITEM_ADD 6,"2 - LANGUE: FRANCAIS"
    END_IF
    ITEM_ADD 6,""
    ITEM_ADD 6,    "    MAIN MENU"
  ELSE
    IF musique%=1
        ITEM_ADD 6,"0 - MUSIQUE ACTIVE"
    ELSE
        ITEM_ADD 6,"0 - MUSIQUE INACTIVE"
    END_IF
    IF sons%=1
        ITEM_ADD 6,"1 - SONS ACTIFS"
    ELSE
        ITEM_ADD 6,"1 - SONS INACTIFS"
    END_IF
    IF langue$="Anglais"
        ITEM_ADD 6,"2 - LANGAGE: ENGLISH"
    ELSE
        ITEM_ADD 6,"2 - LANGUE: FRANCAIS"
    END_IF
    ITEM_ADD 6,""
    ITEM_ADD 6,    "    MENU PRINCIPAL"
  END_IF
END_SUB

SUB OPTIONS()
  AFF_OPTIONS()
  OLD_SELECT=-1
  ON_TIMER 2,MENU2 : TIMER_ON 2
  ON_CLICK 7,CLIC_OPTIONS
END_SUB

CLIC_OPTIONS:
  TIMER_OFF 2
  CAPTION 3,OLD_SELECT
  IF OLD_SELECT = 0
    musique%=1-musique%
    IF musique%=1
      IF OBJECT_EXISTS(5)=0 THEN SOUND 5
      FILE_LOAD 5,"sons\barbarian.mp3" : Play 5
    ELSE
      DELETE 5
    END_IF
  END_IF
  IF OLD_SELECT = 1 THEN sons%=1-sons%
  IF OLD_SELECT = 2
    IF langue$="Anglais" THEN langue$="Français" : ELSE : langue$="Anglais"
  END_IF
  IF OLD_SELECT = 4
      MENU()
  ELSE
      AFF_OPTIONS()
      TIMER_ON 2
  END_IF
RETURN


SUB CONTROLES()
  TIMER_OFF 2 :  TimerActif = 0 : HIDE 7 : HIDE 4
  PICTURE 8  : PARENT 8,3  : LEFT  8,40  : TOP  8,60  : WIDTH  8,260: HEIGHT  8,190
  PICTURE 9  : PARENT 9,3  : LEFT  9,340 : TOP  9,60  : WIDTH  9,260: HEIGHT  9,190
  PICTURE 10 : PARENT 10,3 : LEFT 10,160 : TOP 10,310 : WIDTH 10,322: HEIGHT 10,82
  IF langue$ = "Français"
  CAPTION 3,"BARBARIAN - Contrôles"
  FILE_LOAD 8 ,"gfx\DeplacementsF.bmp"
  FILE_LOAD 9 ,"gfx\AttaquesF.bmp"
  FILE_LOAD 10,"gfx\ControlesF.bmp"
  ELSE
  CAPTION 3,"BARBARIAN - Controls"
  FILE_LOAD 8 ,"gfx\DeplacementsE.bmp"
  FILE_LOAD 9 ,"gfx\AttaquesE.bmp"
  FILE_LOAD 10,"gfx\ControlesE.bmp"
  END_IF
  ON_CLICK 3,CLIC_RETOUR : ON_CLICK 8,CLIC_RETOUR
  ON_CLICK 9,CLIC_RETOUR : ON_CLICK 10,CLIC_RETOUR
RETURN

CLIC_RETOUR:
  OLD_SELECT=-1 : TimerActif = 1
  OFF_CLICK 8 : OFF_CLICK 9 : OFF_CLICK 10
  IF OBJECT_EXISTS(8)=1 THEN DELETE 8 : DELETE 9 : DELETE 10
  SHOW 4 : SHOW 7 : OFF_CLICK 3
  MENU()
RETURN

SUB HISTOIRE()
TIMER_OFF 2 : TimerActif = 0
HEIGHT 6,280 : HEIGHT 7,275
CLEAR 6:FONT_SIZE 6,9 : FONT_COLOR 6,255,255,255 : FONT_NAME 6,"Arial"
IF langue$ = "Français"
  CAPTION 3,"BARBARIAN - Histoire de Barbarian"
  ITEM_ADD 6,"Le sorcier diabolique Drax convoite la princesse"
  ITEM_ADD 6,"Marianna et a juré de jeter un sort terrible"
  ITEM_ADD 6,"sur les habitants de la ville de Jewelled, si"
  ITEM_ADD 6,"elle ne lui ait pas livrée."
  ITEM_ADD 6,"Cependant, il a accepté que si un champion"
  ITEM_ADD 6,"capable de vaincre ses 7 redoutables gardiens"
  ITEM_ADD 6,"était trouvé, il rende sa liberté à la princesse."
  ITEM_ADD 6,"Tout semble perdu et les champions sont vaincus"
  ITEM_ADD 6,"les uns après les autres.
  ITEM_ADD 6,"C'est alors que des plaines incultes et oubliées"
  ITEM_ADD 6,"du Nord, arrive un barbare inconnu."
  ITEM_ADD 6,"Un guerrier puissant, qui manie l'épée avec une"
  ITEM_ADD 6,"dextérité fatale."
  ITEM_ADD 6,"Pourra t'il vaincre les forces des ténèbres et"
  ITEM_ADD 6,"libérer la princesse ?"
  ITEM_ADD 6,"C'est à vous de le dire ..."
  ITEM_ADD 6,"                    "
  ITEM_ADD 6,"Cliquer pour revenir au menu principal"
ELSE
  CAPTION 3,"BARBARIAN - Story of Barbarian"
  ITEM_ADD 6,"The evil sorcerer Drax desires Princess"
  ITEM_ADD 6,"Marianna and has sworn to wreak an"
  ITEM_ADD 6,"unspeakable doom on the people of the"
  ITEM_ADD 6,"Jewelled City, unless she is delivred to him."
  ITEM_ADD 6,"However, he has agreed that if a champion able"
  ITEM_ADD 6,"to defeat his 7 demonic guardians can be found,"
  ITEM_ADD 6,"the princess will be allowed to go free."
  ITEM_ADD 6,"All seems lost as champion after champion is"
  ITEM_ADD 6,"defeated."
  ITEM_ADD 6,"Then, from the forgotten wastelands of the North,"
  ITEM_ADD 6,"comes an unknown barbarian. A mighty warrior,"
  ITEM_ADD 6,"wielding broadsword with deadly skill."
  ITEM_ADD 6,"Can he vanquish the forces of Darkness and free"
  ITEM_ADD 6,"the princess ?"
  ITEM_ADD 6,"Only you can say ..."
  ITEM_ADD 6,"                    "
  ITEM_ADD 6,"Click to return to main menu"
END_IF
ON_CLICK 7,CLIC_RETOUR
END_SUB

QUITTER:
  TIMER_OFF 2
  IF MESSAGE_CONFIRMATION_YES_NO ("Etes vous sûr de vouloir quitter Barbarian ?") = 1
      DELETE 5
      TERMINATE
  END_IF
  TIMER_ON 2
RETURN


SUB MODE1J()
  X% = 40 : CPT% = 0
  FILE_LOAD 1,"gfx\level1.bmp"
  ON_KEY_DOWN 0,t1 : ON_KEY_UP 0,t2 : ON_TIMER 2,ANIM1J : TIMER_ON 2
END_SUB

SUB Avance()
  IF LastSprite% > 0 THEN SPRITE_HIDE LastSprite%
  IF LastSprite% < MARCHE% OR LastSprite% > MARCHE%+1 THEN LastSprite% = MARCHE%+1
  SELECT LastSprite%
    CASE 4 : LastSprite% = MARCHE%
    CASE 3 : LastSprite% = MARCHE%+1
  END_SELECT
  SPRITE_POSITION LastSprite%, X%,300 : SPRITE_SHOW LastSprite% : X%=X%+20
  POSITION% = P_DEBOUT%
END_SUB

SUB Recule()
  IF LastSprite% > 0 THEN SPRITE_HIDE LastSprite%
  IF LastSprite% < MARCHE% OR LastSprite% > MARCHE%+1 THEN LastSprite% = MARCHE%+1
  SELECT LastSprite%
    CASE 4 : LastSprite% = MARCHE%
    CASE 3 : LastSprite% = MARCHE%+1
  END_SELECT
  SPRITE_POSITION LastSprite%, X%,300 : SPRITE_SHOW LastSprite% : X%=X%-20
  POSITION% = P_DEBOUT%
END_SUB

SUB Attend()
  IF LastSprite% > 0 THEN SPRITE_HIDE LastSprite%
  IF LastSprite% < ATTENTE% OR LastSprite% > ATTENTE%+2 THEN LastSprite% = ATTENTE%+2
  SELECT LastSprite%
    CASE 8 : LastSprite% = ATTENTE%
    CASE 6 : LastSprite% = ATTENTE%+1
    CASE 7 : LastSprite% = ATTENTE%+2
  END_SELECT
  SPRITE_POSITION LastSprite%, X%,300 : SPRITE_SHOW LastSprite%
END_SUB

SUB Assis()
  IF LastSprite% > 0 THEN SPRITE_HIDE LastSprite%
  IF LastSprite% < ASSIS% OR LastSprite% > ASSIS%+1
    LastSprite% = ASSIS% : SPRITE_POSITION ASSIS%, X%,320
  ELSE
    LastSprite% = ASSIS%+1 : SPRITE_POSITION LastSprite%, X%,340
    POSITION% = P_ASSIS%
  END_IF
  SPRITE_SHOW LastSprite%
END_SUB

SUB Debout()
  IF LastSprite% > 0 THEN SPRITE_HIDE LastSprite%
  IF LastSprite% < ASSIS% OR LastSprite% > ASSIS%+1 THEN LastSprite% = ASSIS%
  SELECT LastSprite%
    CASE 2 : LastSprite% = ASSIS% : SPRITE_POSITION LastSprite%, X%,320
    CASE 1 : LastSprite% = ASSIS%+1 : SPRITE_POSITION LastSprite%, X%,340
  END_SELECT
  SPRITE_SHOW LastSprite%
END_SUB

SUB Frappe_assis()
  IF LastSprite% > 0 THEN SPRITE_HIDE LastSprite%
  IF (LastSprite% < (GENOU% + 1) OR LastSprite% > (GENOU%+2)) THEN LastSprite% = GENOU%+2
  SELECT LastSprite%
    CASE 11 : LastSprite% = GENOU%+1
    CASE 10 : LastSprite% = GENOU%+2
  END_SELECT
  SPRITE_POSITION LastSprite%, X%,340 : SPRITE_SHOW LastSprite%
END_SUB

SUB Def_haut_assis()
  IF LastSprite% > 0 THEN SPRITE_HIDE LastSprite%
  IF LastSprite% < GENOU% OR LastSprite% > GENOU%+1 THEN LastSprite% = GENOUX%
  SELECT LastSprite%
    CASE 9  : LastSprite% = GENOU%
    CASE 10 : LastSprite% = GENOU%+1
  END_SELECT
  SPRITE_POSITION LastSprite%, X%,300 : SPRITE_SHOW LastSprite%
END_SUB


ANIM1J:
  TIMER_OFF 2
  CPT% = CPT% + 1
  IF esc=1 THEN TERMINATE
  IF tfg=1 THEN Recule()
  IF tfd=1 THEN Avance()
'  IF tfh=1 THEN
  IF tfb=1 AND POSITION% <> P_ASSIS% THEN Assis()
'  IF ztp=1 THEN
  TIMER_ON 2
RETURN

t1:
  if key_down_code=cesc then esc=1
  if key_down_code=ctfg then tfg=1
  if key_down_code=ctfh then tfh=1
  if key_down_code=ctfd then tfd=1
  if key_down_code=ctfb then tfb=1
  if key_down_code=ztop then ztp=1
return

t2:
  if key_down_code=cesc then esc=0
  if key_down_code=ctfg then tfg=0
  if key_down_code=ctfh then tfh=0
  if key_down_code=ctfd then tfd=0
  if key_down_code=ctfb then tfb=0
  if key_down_code=ztop then ztp=0
return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8011
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 4 Avr 2013 - 3:51

Genial !!!

Tu as tout de même un petit souci d'affichage avec tes plots rouge,
enfin surtout les noirs en dessous (sont ils vraiment utiles ?(les noirs) ).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 
Barbarian
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» THE BARBARIAN - (ou loulou pour les intimes)

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: