[TUTO] Hello IntyBASIC

Page 2 sur 3 Précédent  1, 2, 3  Suivant

Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par StudioVetea le Ven 2 Nov 2018 - 21:02



Bon ben je gère Papi et 3 autres ennemis avec une IA très basique.
C'est rigolo, et en fait assez simple à prendre en main.
Les Samples sont super utiles, ainsi que les données indiquées sur constants.bas.

Manque plus qu'à faire un Background un peu plus détaillé, gestion des obstacles, IA un peu plus complexe.

rambo

StudioVetea
Patient contaminé

Nombre de messages : 741
Date d'inscription : 10/09/2018

http://www.rolango.fr

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par F.L le Ven 2 Nov 2018 - 21:59

Ça y est , il est reparti ! Vas-y papi !  Razz
avatar
F.L
Docteur *
Docteur *

Masculin Nombre de messages : 3096
Age : 43
Localisation : hérault
Date d'inscription : 11/06/2012

http://fl.basic.free.fr

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par StudioVetea le Ven 2 Nov 2018 - 23:52

Coucou,

Voici ma modeste contribution !



Code:
   REM
   REM Example MOBs (sprites)
   REM Demo for IntyBASIC
   REM by Oscar Toledo G. http://nanochess.org
   REM Jan/27/2014
   REM Jul/12/2015. Added IntyBASIC logo (DZ-Jay) and spaceship now visible (hidden before)
   REM Jul/13/2015. Enhanced spaceship graphics.
   REM

   REM Include useful predefined constants
   INCLUDE "constants.bas"
   MODE SCREEN_CS, CS_GREEN, GREEN, GREEN,GREEN
   
   'Déclaration Sprites
   WAIT
   DEFINE DEF00,20,Sprites
   WAIT
   
   'Variables
   DIM X1(3)
   DIM Y1(3)
   DIM DX1(3)
   DIM DY1(3)
   DIM Sens(3)
   DIM Chemin(3)
   DIM CheminMAX(3)
   DIM LX(19)
   DIM LY(11)

   'Position Sprites
   for i=1 to 3
      X1(i)=random(100)+8
      Y1(i)=random(60)+8
      Sens(i)=random(4)
      CheminMAX(i)=random(75)
   next
   Direction=0 '0 BAS, 1 HAUT, 2 DROITE, 3 GAUCHE
   TempoAnimation=0
   X=70
   Y=50
   
   'Init Tableau BG
   for i=0 to 19
      for j=0 to 11
      LX(i)=0
      LY(j)=0
      next
   next
   
   'Background
   restore Map
   for i=0 to 239
      read value
      if value=0 then
         print at (SCREENPOS(Ax,Ay)) color CS_DARKGREEN, "\269"
      else
         print at (SCREENPOS(Ax,Ay)) color CS_GREY, "\273"
         LX(Ax)=1
         LY(Ay)=1
      end if
      Ax=Ax+1
      if Ax>19 then
         Ay=Ay+1
         Ax=0
      end if
   next

   'Boucle principale
loop:
   'Affichage Sprite
   gosub AffSprite
   
   wait
 goto loop


 AffSprite: PROCEDURE
   'Papi Commando !
   'Commande
   Direction=1
   
   IF CONT1.UP THEN
      Y=Y-1
      Direction=0
      DX=(X/8)-1
      DY=(Y/8)-1
      If DX<0 then DX=0
      if LX(DX)=1 and LY(DY)=1 then GO=1 else GO=0
      if GO=1 then Y=Y+1
   end if
   IF CONT1.DOWN THEN
      Y=Y+1
      Direction=1
      DX=(X/8)-1
      DY=(Y/8)-1
      if LX(DX)=1 and LY(DY)=1 then GO=1 else GO=0
      if GO=1 then Y=Y-1
   end if
   IF CONT1.LEFT THEN
      X=X-1
      Direction=3
      DX=(X/8)-1
      DY=(Y/8)-1
      if LX(DX+1)=1 and LY(DY)=1 then GO=1 else GO=0
      if GO=1 then X=X+1
   end if
   IF CONT1.RIGHT THEN
      X=X+1
      Direction=2
      DX=(X/8)-1
      DY=(Y/8)-1
      if LX(DX-1)=1 and LY(DY)=1 then GO=1 else GO=0
      if GO=1 then X=X-1
   end if
   
   'Limite
   if Y<8 then Y=8
   if Y>96 then Y=96
   if X>160 then X=160
   if X<8 then X=8

   'Gauche
   if Direction=2 then
      SPRITE 1,X+VISIBLE,Y+ZOOMY2,SPR01+SPR_RED
      SPRITE 2,X+VISIBLE,Y+ZOOMY2,SPR02+SPR_PINK
      SPRITE 0,X+VISIBLE,Y+ZOOMY2,SPR00+SPR_WHITE
      SPRITE 3,X+VISIBLE,Y+ZOOMY2,SPR03+SPR_BLACK   
      SPRITE 4,X+VISIBLE,Y+ZOOMY2,SPR04+SPR_DARKGREEN
   end if
   'Droite
   if Direction=3 then
      SPRITE 1,X+VISIBLE,Y+ZOOMY2+FLIPX,SPR01+SPR_RED
      SPRITE 2,X+VISIBLE,Y+ZOOMY2+FLIPX,SPR02+SPR_PINK
      SPRITE 0,X+VISIBLE,Y+ZOOMY2+FLIPX,SPR00+SPR_WHITE
      SPRITE 3,X+VISIBLE,Y+ZOOMY2+FLIPX,SPR03+SPR_BLACK   
      SPRITE 4,X+VISIBLE,Y+ZOOMY2+FLIPX,SPR04+SPR_DARKGREEN
   end if
   'HAUT
   if Direction=1 then
      SPRITE 1,X+VISIBLE,Y+ZOOMY2,SPR10+SPR_RED
      SPRITE 0,X+VISIBLE,Y+ZOOMY2,SPR11+SPR_WHITE
      SPRITE 2,X+VISIBLE,Y+ZOOMY2,SPR09+SPR_PINK
      SPRITE 3,X+VISIBLE,Y+ZOOMY2,SPR12+SPR_BLACK
      SPRITE 4,X+VISIBLE,Y+ZOOMY2,SPR04+SPR_DARKGREEN
   end if
   'BAS
   if Direction=0 then
      SPRITE 1,X+VISIBLE,Y+ZOOMY2,SPR06+SPR_RED
      SPRITE 0,X+VISIBLE,Y+ZOOMY2,SPR07+SPR_WHITE
      SPRITE 2,X+VISIBLE,Y+ZOOMY2,SPR05+SPR_PINK
      SPRITE 3,X+VISIBLE,Y+ZOOMY2,SPR08+SPR_BLACK
      SPRITE 4,X+VISIBLE,Y+ZOOMY2,SPR04+SPR_DARKGREEN
   end if
         
   for i=1 to 3
      'Limite
      if x1(i)<8 then sens(i)=2
      if x1(i)>160 then sens(i)=3
      if y1(i)<9 then sens(i)=1
      if y1(i)>96 then sens(i)=0
      
      'Gestion IA/Chemin
      Chemin(i)=Chemin(i)+1
      if Chemin(i)>CheminMAX(i) then
         sens(i)=random(4)
         Chemin(i)=0
      end if
      
      'Direction/Gestion Obstacle
      if sens(i)=0 then
         y1(i)=y1(i)-1
         DX1(i)=(X1(i)/8)-1
         DY1(i)=(Y1(i)/8)-1
         a=DX1(i)
         b=DY1(i)
         if LX(a)=1 and LY(a)=1 then GO=1 else GO=0
         if go=1 then sens(i)=1:goto suite
      end if
      if sens(i)=1 then
         y1(i)=y1(i)+1
         DX1(i)=(X1(i)/8)-1
         DY1(i)=(Y1(i)/8)-1
         a=DX1(i)
         b=DY1(i)
         if LX(a)=1 and LY(a)=1 then GO=1 else GO=0
         if go=1 then sens(i)=0:goto suite
      end if
      if sens(i)=2 then
         x1(i)=x1(i)+1
         DX1(i)=(X1(i)/8)-1
         DY1(i)=(Y1(i)/8)-1
         a=DX1(i)
         b=DY1(i)
         if LX(a)=1 and LY(a)=1 then GO=1 else GO=0
         if go=1 then sens(i)=3:goto suite
      end if
      if sens(i)=3 then
         x1(i)=x1(i)-1
         DX1(i)=(X1(i)/8)-1
         DY1(i)=(Y1(i)/8)-1
         a=DX1(i)
         b=DY1(i)
         if LX(a)=1 and LY(a)=1 then GO=1 else GO=0
         if go=1 then sens(i)=2:goto suite
      end if
      'Affichage Ennemi
Suite:
      if i=1 then
         if sens(i)=1 then SPRITE 5,x1(i)+VISIBLE,y1(i)+ZOOMY2,SPR14+SPR_BLACK
         if sens(i)=0 then SPRITE 5,x1(i)+VISIBLE,y1(i)+ZOOMY2,SPR15+SPR_BLACK
         if sens(i)=2 then SPRITE 5,x1(i)+VISIBLE,y1(i)+ZOOMY2,SPR16+SPR_BLACK
         if sens(i)=3 then SPRITE 5,x1(i)+VISIBLE,y1(i)+ZOOMY2+FLIPX,SPR16+SPR_BLACK
      end if
      if i=2 then
         if sens(i)=1 then SPRITE 6,x1(i)+VISIBLE,y1(i)+ZOOMY2,SPR14+SPR_RED
         if sens(i)=0 then SPRITE 6,x1(i)+VISIBLE,y1(i)+ZOOMY2,SPR15+SPR_RED
         if sens(i)=2 then SPRITE 6,x1(i)+VISIBLE,y1(i)+ZOOMY2,SPR16+SPR_RED
         if sens(i)=3 then SPRITE 6,x1(i)+VISIBLE,y1(i)+ZOOMY2+FLIPX,SPR16+SPR_RED
      end if
      if i=3 then
         if sens(i)=1 then SPRITE 7,x1(i)+VISIBLE,y1(i)+ZOOMY2,SPR14+SPR_YELLOW
         if sens(i)=0 then SPRITE 7,x1(i)+VISIBLE,y1(i)+ZOOMY2,SPR15+SPR_YELLOW
         if sens(i)=2 then SPRITE 7,x1(i)+VISIBLE,y1(i)+ZOOMY2,SPR16+SPR_YELLOW
         if sens(i)=3 then SPRITE 7,x1(i)+VISIBLE,y1(i)+ZOOMY2+FLIPX,SPR16+SPR_YELLOW
      end if
   next
   END
   
Map:
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

Sprites:
   REM DROITE ET GAUCHE ( FLIP )
    REM Calque BLANC 00
   BITMAP ".*....*."
   BITMAP "...*.*.."
   BITMAP ".*......"
   BITMAP ".**...*."
   BITMAP "..****.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   
    REM Calque ROUGE 01
   BITMAP "........"
   BITMAP "***.*.*."
   BITMAP "*......."
   BITMAP "....*..."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   
    REM Calque ROSE 02
   BITMAP "..****.."
   BITMAP "........"
   BITMAP "..*.*.*."
   BITMAP "...*.*.."
   BITMAP "........"
   BITMAP ".**..**."
   BITMAP ".*....*."
   BITMAP "........"

    REM Calque NOIR 03
   BITMAP "........"
   BITMAP "........"
   BITMAP "...*.*.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "...**..."
   BITMAP "..*..*.."

    REM Calque VERT FONCE 04
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "...**..."
   BITMAP "........"
   BITMAP "........"   
   
   REM BAS
   REM Calque ROSE 05
   BITMAP "..****.."
   BITMAP "........"
   BITMAP "..****.."
   BITMAP "..****.."
   BITMAP "........"
   BITMAP ".**..**."
   BITMAP ".*....*."
   BITMAP "........"
   
   REM Calque ROUGE 06
   BITMAP "........"
   BITMAP "*******."
   BITMAP "*......."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   
    REM Calque BLANC 07
   BITMAP ".*....*."
   BITMAP "........"
   BITMAP ".*....*."
   BITMAP ".**...*."
   BITMAP "..****.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   
   REM Calque NOIR 08
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "...**..."
   BITMAP "..*..*.."
   
   REM HAUT
   REM Calque ROSE 09
   BITMAP "..****.."
   BITMAP "........"
   BITMAP "...**..."
   BITMAP "..*..*.."
   BITMAP "........"
   BITMAP ".**..**."
   BITMAP ".*....*."
   BITMAP "........"
   
   REM Calque ROUGE 10
   BITMAP "........"
   BITMAP "**.**.*."
   BITMAP "*......."
   BITMAP "...**..."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   
    REM Calque BLANC 11
   BITMAP ".*....*."
   BITMAP "..*..*.."
   BITMAP ".*....*."
   BITMAP ".*....*."
   BITMAP "..****.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   
   REM Calque NOIR 12
   BITMAP "........"
   BITMAP "........"
   BITMAP "..*..*.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "...**..."
   BITMAP "..*..*.."
   
   REM Tile Terrain
   REM Terrain Calque Vert 1 13 (269)
   BITMAP "********"
   BITMAP "***.****"
   BITMAP "********"
   BITMAP "********"
   BITMAP "**.*****"
   BITMAP "********"
   BITMAP "*****.**"
   BITMAP "********"
   
   REM Sprite Ennemis BAS
   REM Terrain Calque NOIR 14 (270)
   BITMAP "..****.."
   BITMAP ".*....*."
   BITMAP ".**..**."
   BITMAP ".******."
   BITMAP "..****.."
   BITMAP ".*.**.*."
   BITMAP "..****.."
   BITMAP ".**..**."
   
   REM Sprite Ennemis HAUT
   REM Terrain Calque NOIR 15
   BITMAP "..****.."
   BITMAP ".******."
   BITMAP ".******."
   BITMAP ".******."
   BITMAP "..****.."
   BITMAP ".*.**.*."
   BITMAP "..****.."
   BITMAP ".**..**."
   
   REM Sprite Ennemi DROITE
   REM Terrain Calque Noir 16
   BITMAP "..####.."
   BITMAP ".####.#."
   BITMAP ".####.#."
   BITMAP ".######."
   BITMAP "..####.."
   BITMAP "...####."
   BITMAP "...###.."
   BITMAP "..#..##."
   
   REM Rocher
   REM Terrain GRIS 17 (273)
   BITMAP "..####.."
   BITMAP ".####.#."
   BITMAP ".#####.#"
   BITMAP "######.#"
   BITMAP "######.#"
   BITMAP "########"
   BITMAP "########"
   BITMAP "########"
   BITMAP "########"
   
   REM Terrain 1 GRIS 18 (274)
   

Bon y a des trucs intéressants :
1/ Gestion d'une MAP via des DATA.
2/ Pathfinding "évolué" de 3 IA.
3/ Changement d'état des sprites en fonction de leur déplacement.

Les trucs à corriger :
Hitbox avec les obstacles BG, ici pas au point .. J'ai remarqué que les tableaux ont quelques soucis ... Peut être ceci explique cela ?
Optimiser le code.

A ajouter :
Les animations des sprites pendant le déplacement.
Les tirs.

A vous de jouer avec ce petit listing.
N'empêche que ça reste fluide malgré les petits calculs du code ... Intéressant !
avatar
StudioVetea
Patient contaminé

Masculin Nombre de messages : 741
Age : 47
Localisation : Hérault
Date d'inscription : 10/09/2018

http://www.rolango.fr

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par drfloyd le Ven 2 Nov 2018 - 23:54

ce qui ets vraiment sympa c'est que tu as du resultat immédiat

Quelqu'un qui a 2 ou 3 jours libres a 100% et qui maitrise INTY il peut arriver a pondre un vrai jeu fini et digne de l'epoque en une 30aine d'heure maxi de boulot....

En assembleur il faudrait plus de temps  Mr. Green

_______________________________________________________

Mes objets en vente :
http://www.gamopat-forum.com/t98267-la-caverne-du-doc-poilu#2765310
Mon profil Gamopat Advisor :
http://www.gamopat-forum.com/t94659-dr-floyd-advisor





avatar
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 141308
Age : 49
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par drfloyd le Ven 2 Nov 2018 - 23:59

l'affichage de la map via des SCREENPOS(x,y) j'avais cru remarquer que c'etait bien plus lent que le PRINT AT 0-239, non ?

_______________________________________________________

Mes objets en vente :
http://www.gamopat-forum.com/t98267-la-caverne-du-doc-poilu#2765310
Mon profil Gamopat Advisor :
http://www.gamopat-forum.com/t94659-dr-floyd-advisor





avatar
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 141308
Age : 49
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par StudioVetea le Sam 3 Nov 2018 - 0:01

C'est hors boucle principale donc pas grave. Wink
avatar
StudioVetea
Patient contaminé

Masculin Nombre de messages : 741
Age : 47
Localisation : Hérault
Date d'inscription : 10/09/2018

http://www.rolango.fr

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par drfloyd le Sam 3 Nov 2018 - 0:07

oui heureusement

Et la modif des tiles via la GRAM ca marche finalement ? J'ai pas essayé.

_______________________________________________________

Mes objets en vente :
http://www.gamopat-forum.com/t98267-la-caverne-du-doc-poilu#2765310
Mon profil Gamopat Advisor :
http://www.gamopat-forum.com/t94659-dr-floyd-advisor





avatar
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 141308
Age : 49
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par StudioVetea le Sam 3 Nov 2018 - 0:11

Pas tenté pour le moment.
Le seul truc qui m'a bloqué, c'est la hitbox Sprite/MAP.
J'ai essayé un truc dans mon code, mais ca foire, y a des décalages. 
J'attends les conseils du grand Manitou Ithus. Wink
avatar
StudioVetea
Patient contaminé

Masculin Nombre de messages : 741
Age : 47
Localisation : Hérault
Date d'inscription : 10/09/2018

http://www.rolango.fr

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par drfloyd le Sam 3 Nov 2018 - 0:21

ca m'interesse aussi la hitbox sprite vs Tile

parce que ma methode pourrie de verifier le x/8 et y/8 du sprite rapport à la position d'un tile, c'est lourd....  MDR

_______________________________________________________

Mes objets en vente :
http://www.gamopat-forum.com/t98267-la-caverne-du-doc-poilu#2765310
Mon profil Gamopat Advisor :
http://www.gamopat-forum.com/t94659-dr-floyd-advisor





avatar
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 141308
Age : 49
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par drfloyd le Sam 3 Nov 2018 - 11:27

Je valide définitivement le fait que je bosse sur SUPER REGATES ARCADE

Sortie boite courant 2019

Work in progress (après 2h de dév)



puis après peut etre sur l'adaptation d'un jeu connu....

_______________________________________________________

Mes objets en vente :
http://www.gamopat-forum.com/t98267-la-caverne-du-doc-poilu#2765310
Mon profil Gamopat Advisor :
http://www.gamopat-forum.com/t94659-dr-floyd-advisor





avatar
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 141308
Age : 49
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par Ithus le Sam 3 Nov 2018 - 11:31

Je t'avoue que j'ai un peu de mal avec le fait de ne pas déclarer les variables.
En début de code, on peut ajouter une ligne:
Code:
OPTION EXPLICIT ON
Cela oblige ensuite à tout déclarer. ^^

Il y a pas de constante GREEN il me semble. (à remplacer par CS_GREEN)
On ne peut pas charger plus de 16 sprites/tiles ni plus de deux sets par frame. Je ferais quelque chose comme ça:
Code:

DEFINE DEF00, 1, SpritePapiVertFonce
DEFINE DEF01, 4, SpritesPapiBas
WAIT
DEFINE DEF05, 3, SpritesEnnemis
DEFINE DEF08, 2, TilesDecor
WAIT

Ensuite, pour afficher Papi:

Code:
'Charge les bons sprites de Papi en GRAM

 #miroir=0

'BAS
IF Direction=0 THEN
DEFINE DEF01, 4, SpritesPapiBas

'HAUT
ELSEIF Direction=1 THEN  
DEFINE DEF01, 4, SpritesPapiHaut

'Gauche
ELSEIF Direction=2 THEN
DEFINE DEF01, 4, SpritesPapiGauche

'Droite
ELSE
#miroir=FLIPX
DEFINE DEF01, 4, SpritesPapiGauche

END IF

'Affiche les sprites de Papi
SPRITE 0,X+VISIBLE,Y+ZOOMY2+#miroir,SPR00+SPR_WHITE
SPRITE 1,X+VISIBLE,Y+ZOOMY2+#miroir,SPR01+SPR_RED
SPRITE 2,X+VISIBLE,Y+ZOOMY2+#miroir,SPR02+SPR_PINK
SPRITE 3,X+VISIBLE,Y+ZOOMY2+#miroir,SPR03+SPR_BLACK  
SPRITE 4,X+VISIBLE,Y+ZOOMY2+#miroir,SPR04+SPR_DARKGREEN

Et tout à la fin, les sprites/tiles:

Code:
SpritePapiVertFonce:
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
  BITMAP "...**..."
  BITMAP "........"
  BITMAP "........"


SpritesPapiGauche:
  'Calque BLANC 00
  BITMAP ".*....*."
  BITMAP "...*.*.."
  BITMAP ".*......"
  BITMAP ".**...*."
  BITMAP "..****.."
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
 
  'Calque ROUGE 01
  BITMAP "........"
  BITMAP "***.*.*."
  BITMAP "*......."
  BITMAP "....*..."
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
 
  'Calque ROSE 02
  BITMAP "..****.."
  BITMAP "........"
  BITMAP "..*.*.*."
  BITMAP "...*.*.."
  BITMAP "........"
  BITMAP ".**..**."
  BITMAP ".*....*."
  BITMAP "........"

  'Calque NOIR 03
  BITMAP "........"
  BITMAP "........"
  BITMAP "...*.*.."
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
  BITMAP "...**..."
  BITMAP "..*..*.."

 
SpritesPapiBas:  
  'Calque ROSE 05
  BITMAP "..****.."
  BITMAP "........"
  BITMAP "..****.."
  BITMAP "..****.."
  BITMAP "........"
  BITMAP ".**..**."
  BITMAP ".*....*."
  BITMAP "........"
 
  'Calque ROUGE 06
  BITMAP "........"
  BITMAP "*******."
  BITMAP "*......."
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
 
  'Calque BLANC 07
  BITMAP ".*....*."
  BITMAP "........"
  BITMAP ".*....*."
  BITMAP ".**...*."
  BITMAP "..****.."
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
 
  'Calque NOIR 08
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
  BITMAP "...**..."
  BITMAP "..*..*.."
 
SpritesPapiHaut:  
  'Calque ROSE 09
  BITMAP "..****.."
  BITMAP "........"
  BITMAP "...**..."
  BITMAP "..*..*.."
  BITMAP "........"
  BITMAP ".**..**."
  BITMAP ".*....*."
  BITMAP "........"
 
  'Calque ROUGE 10
  BITMAP "........"
  BITMAP "**.**.*."
  BITMAP "*......."
  BITMAP "...**..."
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
 
  'Calque BLANC 11
  BITMAP ".*....*."
  BITMAP "..*..*.."
  BITMAP ".*....*."
  BITMAP ".*....*."
  BITMAP "..****.."
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
 
  'Calque NOIR 12
  BITMAP "........"
  BITMAP "........"
  BITMAP "..*..*.."
  BITMAP "........"
  BITMAP "........"
  BITMAP "........"
  BITMAP "...**..."
  BITMAP "..*..*.."
 


SpritesEnnemis:
   'Sprite Ennemis BAS
  BITMAP "..****.."
  BITMAP ".*....*."
  BITMAP ".**..**."
  BITMAP ".******."
  BITMAP "..****.."
  BITMAP ".*.**.*."
  BITMAP "..****.."
  BITMAP ".**..**."
 
  'Sprite Ennemis HAUT
  BITMAP "..****.."
  BITMAP ".******."
  BITMAP ".******."
  BITMAP ".******."
  BITMAP "..****.."
  BITMAP ".*.**.*."
  BITMAP "..****.."
  BITMAP ".**..**."
 
  'Sprite Ennemi DROITE
  BITMAP "..####.."
  BITMAP ".####.#."
  BITMAP ".####.#."
  BITMAP ".######."
  BITMAP "..####.."
  BITMAP "...####."
  BITMAP "...###.."
  BITMAP "..#..##."

 
TilesDecor:  
  'Tile Terrain
  'Terrain Calque Vert 1 13 (272)
  BITMAP "********"
  BITMAP "***.****"
  BITMAP "********"
  BITMAP "********"
  BITMAP "**.*****"
  BITMAP "********"
  BITMAP "*****.**"
  BITMAP "********"
 
  ' Rocher
  ' Terrain GRIS 17 (273)
  BITMAP "..####.."
  BITMAP ".####.#."
  BITMAP ".#####.#"
  BITMAP "######.#"
  BITMAP "######.#"
  BITMAP "########"
  BITMAP "########"
  BITMAP "########"
  BITMAP "########"
 
C'est surtout pour que le code soit moins long. Je sais pas si c'est mieux ou pas. J'ai encore plein de lacunes en ce qui concerne l'IntyBASIC.

Dans mon projet, pour les collisions avec les tiles, j'utilise un PEEK, style:
Code:
#Mcard = PEEK($200 + testX + testY) AND $FF8
if #Mcard=numeroDeMaTile*8 THEN GOTO faitUnTruc
J'ai pas testé si ça marche avec ta démo; j'ai tendance à me faire des noeuds au cerveau quand je pense aux tests de collisions. Il faudrait que j'essaye de faire un petit jeu d'action pour voir tout ça.
Après, l'Intellivision propose un test de collisions hard, simple à utiliser via IntyBASIC, mais je l'ai jamais essayé parce qu'il y a une histoire de retard d'une frame...

PS: super Doc. Very Happy
avatar
Ithus
Patient contaminé

Masculin Nombre de messages : 242
Age : 33
Localisation : Loin
Date d'inscription : 26/10/2009

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par drfloyd le Sam 3 Nov 2018 - 11:47

enfin je rigole un peu... mais si j'estime que mon jeu est fun et viable, et que certains réclament une cartouche, oui pourquoi pas Wink j'ai encore une grosse marge de progression sur le potentiel de ce jeu.

Mais bon là je tourne sous Inty avec des connaissances hyper reduites !!! Merci pour tes tutos !

_______________________________________________________

Mes objets en vente :
http://www.gamopat-forum.com/t98267-la-caverne-du-doc-poilu#2765310
Mon profil Gamopat Advisor :
http://www.gamopat-forum.com/t94659-dr-floyd-advisor





avatar
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 141308
Age : 49
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par StudioVetea le Sam 3 Nov 2018 - 11:53

Bravo Doc !
Merci pour les indications Ithus.
J'ai laissé tombé pour le moment, mon portable me fait chier du fait que la compilation plante une fois sur deux ...
Pour la collision, il existe une solution HARD :
If COL0 and HIT_BACKGROUND then ...
COL0 concerne le premier sprite et HIT_Background les tiles affichés. Donc même des Tiles de décor. Pour cela que les fonds etaient vide ... Wink
On peut même faire de la detection Tile+Sprite avec cette méthode. 
La méthode est décrite dans l'exemple Game2.bas


Il y a pas mal de fonction pré programmée comme FRAME HIT .. faut faire gaffe de ne pas nommer des variables avec les même nom.


Après y a de quoi s'amuser et ce intybasic semble véloce. 
avatar
StudioVetea
Patient contaminé

Masculin Nombre de messages : 741
Age : 47
Localisation : Hérault
Date d'inscription : 10/09/2018

http://www.rolango.fr

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par StudioVetea le Sam 3 Nov 2018 - 12:00

Lien très utile :


[size=32]https://books.google.fr/books?id=_VFnDwAAQBAJ&pg=PA58&lpg=PA58&dq=col0+intybasic&source=bl&ots=rlP-lClr91&sig=35GPpeeHzjCripOLVyt4O5sQLlw&hl=fr&sa=X&ved=2ahUKEwiB56vRiLjeAhUI2BoKHbshA7IQ6AEwAXoECAkQAQ#v=onepage&q=col0%20intybasic&f=false[/size]
avatar
StudioVetea
Patient contaminé

Masculin Nombre de messages : 741
Age : 47
Localisation : Hérault
Date d'inscription : 10/09/2018

http://www.rolango.fr

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par Ithus le Sam 3 Nov 2018 - 12:08

Ce sont les premières pages du livre qu'a publié récemment Oscar Tolédo, le créateur d'IntyBASIC. Very Happy

http://nanochess.org/intybasic.html#book
avatar
Ithus
Patient contaminé

Masculin Nombre de messages : 242
Age : 33
Localisation : Loin
Date d'inscription : 26/10/2009

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par drfloyd le Sam 3 Nov 2018 - 12:32

@StudioVetea a écrit:

Après y a de quoi s'amuser et ce intybasic semble véloce. 

Oui, compilé en ASM on obtient franchement des resultats egaux en vélocité aux jeux de 1979-1983

_______________________________________________________

Mes objets en vente :
http://www.gamopat-forum.com/t98267-la-caverne-du-doc-poilu#2765310
Mon profil Gamopat Advisor :
http://www.gamopat-forum.com/t94659-dr-floyd-advisor





avatar
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 141308
Age : 49
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par drfloyd le Sam 3 Nov 2018 - 16:19

Le test de collusion de ithus via PEEK semble buggé ? Non ?

Vetea tu peux reexpliquer ton test de collision Sprite / Tile ?

_______________________________________________________

Mes objets en vente :
http://www.gamopat-forum.com/t98267-la-caverne-du-doc-poilu#2765310
Mon profil Gamopat Advisor :
http://www.gamopat-forum.com/t94659-dr-floyd-advisor





avatar
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 141308
Age : 49
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par StudioVetea le Sam 3 Nov 2018 - 16:34

Je suis au salon de l 'auto de Marseille avec mon père. Wink
avatar
StudioVetea
Patient contaminé

Masculin Nombre de messages : 741
Age : 47
Localisation : Hérault
Date d'inscription : 10/09/2018

http://www.rolango.fr

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par Ithus le Sam 3 Nov 2018 - 17:33

C'est fort possible que je me sois trompé quelque part.
avatar
Ithus
Patient contaminé

Masculin Nombre de messages : 242
Age : 33
Localisation : Loin
Date d'inscription : 26/10/2009

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par StudioVetea le Sam 3 Nov 2018 - 17:41

Coucou !

Voici mon code de gestion de Sprites remaniés grace aux conseils de Ithus.

Code:
   REM Demo Sprites / Pahfinding / Gestion déplacement.
   
   INCLUDE "constants.bas"
   MODE SCREEN_CS, CS_GREEN, GREEN, GREEN,GREEN
   
   'Déclaration Sprites/TILE
   WAIT
   DEFINE DEF00,1,SpritePapiVertFonce
   wait
   DEFINE DEF01,4,SpritePapiBas
   WAIT
   DEFINE DEF05,3,SpritesEnnemis
   wait
   DEFINE DEF08,2,TilesDecor
   WAIT
   
   'Variables
   DIM X1(3)
   DIM Y1(3)
   DIM DX1(3)
   DIM DY1(3)
   DIM Sens(3)
   DIM Chemin(3)
   DIM CheminMAX(3)
   DIM LX(19)
   DIM LY(11)

   'Position Sprites
   for i=1 to 3
      X1(i)=random(100)+8
      Y1(i)=random(60)+8
      Sens(i)=random(4)
      CheminMAX(i)=random(75)
   next
   Direction=0 '0 BAS, 1 HAUT, 2 DROITE, 3 GAUCHE
   TempoAnimation=0
   X=64
   Y=48
   
   'Init Tableau BG
   for i=0 to 19
      for j=0 to 11
      LX(i)=0
      LY(j)=0
      next
   next
   
   'Boucle principale
   while 1
      'Affichage Sprite
      gosub AffSprite
      wait
   wend


 AffSprite: PROCEDURE
   Direction=0
   'Papi Commando !
   ' Commandes
   DEFINE DEF00, 4, SpritePapiHaut
   IF CONT1.UP THEN
      Y=Y-1
      Direction=0
      DEFINE DEF00, 4, SpritePapiBas
      #miroir=0
   end if
   IF CONT1.DOWN THEN
      Y=Y+1
      Direction=1
      DEFINE DEF00, 4, SpritePapiHaut
      #miroir=0
   end if
   IF CONT1.LEFT THEN
      X=X-1
      Direction=3
      #miroir=FLIPX
      DEFINE DEF00, 4, SpritePapiDroite
   end if
   IF CONT1.RIGHT THEN
      X=X+1
      Direction=2
      DEFINE DEF00, 4, SpritePapiDroite
      #miroir=0
   end if
   
   'Affiche les sprites de Papi
   SPRITE 0,X+VISIBLE,Y+ZOOMY2+#miroir,SPR00+SPR_WHITE
   SPRITE 1,X+VISIBLE,Y+ZOOMY2+#miroir,SPR01+SPR_RED
   SPRITE 2,X+VISIBLE,Y+ZOOMY2+#miroir,SPR02+SPR_PINK
   SPRITE 3,X+VISIBLE,Y+ZOOMY2+#miroir,SPR03+SPR_BLACK 
   SPRITE 4,X+VISIBLE,Y+ZOOMY2+#miroir,SPR04+SPR_DARKGREEN
   
   'Limite
   if Y<8 then Y=8
   if Y>96 then Y=96
   if X>160 then X=160
   if X<8 then X=8
   
   'Sprites Ennemis
   for i=1 to 3
      'Limite Tableau
      if x1(i)<8 then sens(i)=2
      if x1(i)>160 then sens(i)=3
      if y1(i)<9 then sens(i)=1
      if y1(i)>96 then sens(i)=0
      
      'Gestion IA/Chemin - Pathfinding
      Chemin(i)=Chemin(i)+1
      if Chemin(i)>CheminMAX(i) then
         sens(i)=random(4)
         Chemin(i)=0
      end if
      
      'Déplacement IA
      if sens(i)=0 then y1(i)=y1(i)-1:#SPR=SPR06:#miroir1=0
      if sens(i)=1 then y1(i)=y1(i)+1:#SPR=SPR05:#miroir1=0
      if sens(i)=2 then x1(i)=x1(i)+1:#SPR=SPR07:#miroir1=0
      if sens(i)=3 then x1(i)=x1(i)-1:#SPR=SPR07:#Miroir1=FLIPX
      
      'Couleur Sprites
      if i=1 then #Color=SPR_BLACK
      if i=2 then #Color=SPR_YELLOW
      if i=3 then #Color=SPR_RED
      
      'Affichage ennemis
      SPRITE 4+i,x1(i)+VISIBLE,y1(i)+ZOOMY2+#miroir1,#SPR+#Color
      
   next
   return
   
   END

Sprites:
SpritePapiDroite:
    REM Calque BLANC 00
   BITMAP ".*....*."
   BITMAP "...*.*.."
   BITMAP ".*......"
   BITMAP ".**...*."
   BITMAP "..****.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   
    REM Calque ROUGE 01
   BITMAP "........"
   BITMAP "***.*.*."
   BITMAP "*......."
   BITMAP "....*..."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   
    REM Calque ROSE 02
   BITMAP "..****.."
   BITMAP "........"
   BITMAP "..*.*.*."
   BITMAP "...*.*.."
   BITMAP "........"
   BITMAP ".**..**."
   BITMAP ".*....*."
   BITMAP "........"

    REM Calque NOIR 03
   BITMAP "........"
   BITMAP "........"
   BITMAP "...*.*.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "...**..."
   BITMAP "..*..*.."

SpritePapiVertFonce:
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "...**..."
   BITMAP "........"
   BITMAP "........"   
   
SpritePapiBas:
    REM Calque BLANC 07
   BITMAP ".*....*."
   BITMAP "........"
   BITMAP ".*....*."
   BITMAP ".*....*."
   BITMAP "..****.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   
   REM Calque ROUGE 06
   BITMAP "........"
   BITMAP "*******."
   BITMAP "*......."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   
   REM Calque ROSE 05
   BITMAP "..****.."
   BITMAP "........"
   BITMAP "..****.."
   BITMAP "..****.."
   BITMAP "........"
   BITMAP ".**..**."
   BITMAP ".*....*."
   BITMAP "........"
   
   REM Calque NOIR 08
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "...**..."
   BITMAP "..*..*.."
   
SpritePapiHaut:
    REM Calque BLANC 11
   BITMAP ".*....*."
   BITMAP "..*..*.."
   BITMAP ".*....*."
   BITMAP ".*....*."
   BITMAP "..****.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   
   REM Calque ROUGE 10
   BITMAP "........"
   BITMAP "**.**.*."
   BITMAP "*......."
   BITMAP "...**..."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   
   REM Calque ROSE 09
   BITMAP "..****.."
   BITMAP "........"
   BITMAP "...**..."
   BITMAP "..*..*.."
   BITMAP "........"
   BITMAP ".**..**."
   BITMAP ".*....*."
   BITMAP "........"
   
   REM Calque NOIR 12
   BITMAP "........"
   BITMAP "........"
   BITMAP "..*..*.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "...**..."
   BITMAP "..*..*.."
   
SpritesEnnemis:
   REM Sprite Ennemis BAS
   REM Terrain Calque NOIR 14 (270)
   BITMAP "..****.."
   BITMAP ".*....*."
   BITMAP ".**..**."
   BITMAP ".******."
   BITMAP "..****.."
   BITMAP ".*.**.*."
   BITMAP "..****.."
   BITMAP ".**..**."
   
   REM Sprite Ennemis HAUT
   REM Terrain Calque NOIR 15
   BITMAP "..****.."
   BITMAP ".******."
   BITMAP ".******."
   BITMAP ".******."
   BITMAP "..****.."
   BITMAP ".*.**.*."
   BITMAP "..****.."
   BITMAP ".**..**."
   
   REM Sprite Ennemi DROITE
   REM Terrain Calque Noir 16
   BITMAP "..####.."
   BITMAP ".####.#."
   BITMAP ".####.#."
   BITMAP ".######."
   BITMAP "..####.."
   BITMAP "...####."
   BITMAP "...###.."
   BITMAP "..#..##."

TilesDecor:
   REM Rocher
   REM Terrain GRIS 17 (273)
   BITMAP "..####.."
   BITMAP ".####.#."
   BITMAP ".#####.#"
   BITMAP "######.#"
   BITMAP "######.#"
   BITMAP "########"
   BITMAP "########"
   BITMAP "########"
   BITMAP "########"
   
   REM Gazon/BG
   REM Terrain Calque Vert 1 13 (269)
   BITMAP "********"
   BITMAP "***.****"
   BITMAP "********"
   BITMAP "********"
   BITMAP "**.*****"
   BITMAP "********"
   BITMAP "*****.**"
   BITMAP "********"
   

Le Listing s'est bien raccourci ! Wink
Avec le suffixe "#" on peut définir hors fonction des macros dans les fonctions clés comme SPRITE pour régler la couleur, le FLIP, etc ...

Me reste à gérer l'animation des Sprites.
Ensuite l'affichage d'un tableau.
Et la gestion obstacle/Sprite.
avatar
StudioVetea
Patient contaminé

Masculin Nombre de messages : 741
Age : 47
Localisation : Hérault
Date d'inscription : 10/09/2018

http://www.rolango.fr

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par StudioVetea le Sam 3 Nov 2018 - 20:07

Je viens de terminer les animations de mes petits personnages. Wink




Le pixel art minimaliste en 8x8 est assez particulier à appréhender !! Very Happy
avatar
StudioVetea
Patient contaminé

Masculin Nombre de messages : 741
Age : 47
Localisation : Hérault
Date d'inscription : 10/09/2018

http://www.rolango.fr

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par upsilandre le Sam 3 Nov 2018 - 20:20

L'intellivision a le systeme hardware de collision de sprite le plus poussé de toutes les consoles mais c'est pas forcement adapté a toute les situations.
avatar
upsilandre
Guéri miraculeux

Masculin Nombre de messages : 2924
Age : 43
Localisation : val de marne 94
Date d'inscription : 31/05/2015

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par Ithus le Sam 3 Nov 2018 - 21:50

@StudioVetea a écrit:Le pixel art minimaliste en 8x8 est assez particulier à appréhender !! Very Happy
Tu t'en sors bien. Very Happy
Je sais pas si c'est une bonne idée d'utiliser la moitié des sprites pour afficher Papi, mais il a une bonne bouille.

Et ta démo a l'air de bien tourner, c'est cool.
avatar
Ithus
Patient contaminé

Masculin Nombre de messages : 242
Age : 33
Localisation : Loin
Date d'inscription : 26/10/2009

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par StudioVetea le Sam 3 Nov 2018 - 21:51

Oui j'ai pu voir sur le bouquin que le créateur du SDK l'a intégré avec les fonctions COL0->COL7 qui renvoient des bits de collisions, couplés avec HIT_BACKGROUND pour les TILES.
Je pense qu'un fond "BITMAP" en guise de décor couplé avec des TILES à gérer en collision nécessite une gestion en soft ... A voir. Wink

Sinon j'ai terminé d'intégrer la gestion d'animation de l'IA avec des vitesses differentes, c'est rigolo.
Me manque la gestion de Papi que j'ai réduit à 4 sprites ( 4 couleurs ), me laissant la gestion d'un projectile. Wink
avatar
StudioVetea
Patient contaminé

Masculin Nombre de messages : 741
Age : 47
Localisation : Hérault
Date d'inscription : 10/09/2018

http://www.rolango.fr

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par drfloyd le Sam 3 Nov 2018 - 23:23

Faut descendre à 3 sprites maxi pour Papy, ca te laissera plus de liberté.

Mais c'est toi qui le sent.

Sinon y a pas de fonction qui reinitialise une serie de chiffres aléatoires  (pour avoir toujours la meme série) ? J'ai pas trouvé.

_______________________________________________________

Mes objets en vente :
http://www.gamopat-forum.com/t98267-la-caverne-du-doc-poilu#2765310
Mon profil Gamopat Advisor :
http://www.gamopat-forum.com/t94659-dr-floyd-advisor





avatar
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 141308
Age : 49
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par StudioVetea le Dim 4 Nov 2018 - 0:25

RAND % Nombre marche pas mal. Wink

Sinon je suis en train de finaliser mon tout premier jeu sur Intellivision.  Mr. Green
Un jeu ou il faut survivre un maximum de temps ...



Les unités sont toutes animées, et l'IA est vicieuse car certaine vont suivre PAPI. Wink
Je finalise ça, peut être que je vais diffuser dans la soirée. Very Happy
avatar
StudioVetea
Patient contaminé

Masculin Nombre de messages : 741
Age : 47
Localisation : Hérault
Date d'inscription : 10/09/2018

http://www.rolango.fr

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par StudioVetea le Dim 4 Nov 2018 - 1:03



                    GET PAPI !! V1.0

Voici donc mon tout premier jeu Intellivision !!
Je suis ému ...  Mr. Green

Dans ce petit jeu, vous devrez survivre le plus longtemps possible face à des Robots de Garde C++, les terribles C3P-128 ( une version améliorée du C3P-64 ).
Au fur et à mesure du chrono, les choses se corsent ... Wink

Techniquement, il y a pas mal de choses sympas :
- Animation des sprites.
- Pathfinding "intelligent".
- Gestion temps.
- Gestion collision Sprites.
- Sons.

Vous trouverez le code ci dessous commentée. Wink
Bon jeu !

Code:
   REM ====================================
   REM ====        GET PAPI !!        ====
   REM ====          V1.0            ====
   REM ====  (c) 2018 STUDIO VETEA    ====
   REM ====================================

   INCLUDE "constants.bas"
   'Fond Vert
   MODE SCREEN_CS, CS_GREEN, GREEN, GREEN,GREEN
   
   'Déclaration Sprites/TILE
   WAIT
   DEFINE DEF00,4,SpritePapiDROITE_0
   WAIT
   DEFINE DEF04,3,SpriteIADroite
   WAIT
   DEFINE DEF07,3,SpriteIABAS
   WAIT
   DEFINE DEF10,3,SpriteIAHAUT
   wait
   DEFINE 13,2,TilesDecor
   WAIT
   
   'Variables
   DIM X1(5)            'POSX IA
   DIM Y1(5)            'POSY IA
   DIM INT(5)            'INT IA
   DIM Sens(5)            'DIRECTION IA
   DIM Chemin(5)         'DISTANCE PARCOURUE IA
   DIM CheminMAX(5)      'DISTANCE MAX IA
   DIM TempoAnimation(5)   'TEMPO ANIMATION IA
   DIM TempoIA(5)         'VITESSE IA
   DIM TempoIA_MAX(5)      'VITESSE MAXI IA

Debut:
   CLS
   'Position/Config Sprites
   for i=1 to 4
      X1(i)=random(100)+8
      Y1(i)=random(60)+8
      if y1(i)<15 then y1(i)=16
      Sens(i)=RAND % 4
      CheminMAX(i)=RAND % 75
      TempoIA(i)=0
      INT(i)=RAND % 50
      TempoIA_MAX(i)=(i*5)+1
   next
   Direction=1 '0 HAUT, 1 BAS, 2 DROITE, 3 GAUCHE
   VitessePapi=3
   TempoPapi=0
   Temps=0
   X=64
   Y=48
   Ax=0
   Ay=1
   'Background
   restore Map
   for i=0 to 239
      read value
      if value=0 then
         print at (SCREENPOS(Ax,Ay)) color CS_DARKGREEN, "\270"
      else
         '#ADR=$080A
         '#backtab(i)=#ADR+8*8
      end if
      Ax=Ax+1
      if Ax>19 then
         Ay=Ay+1
         Ax=0
      end if
   next
   
   'Affichage du Temps
   print at (SCREENPOS(6,0)) color CS_WHITE, "TIME :"
   print at (SCREENPOS(13,0)) color CS_WHITE, <3>temps

   'Boucle principale
   while 1
      'Gestion temps
      gosub gestionTime
      'Affichage Sprite
      gosub AffSprite
      'Detection de Papi COL0 avec les 4 autres Sprites Ennemis après une FRAME
      IF (COL0 and FRAME) AND HIT_SPRITE4+HIT_SPRITE5+HIT_SPRITE6+HIT_SPRITE7 THEN gosub CollisionSPRITE
      wait
   wend
   
'Gestion du temps
GestionTime: PROCEDURE
   FR=FR+1
   if FR=60 then
      temps=temps+1:FR=0
   end if
   print at (SCREENPOS(13,0)) color CS_WHITE, <3>temps
   return
   end
   
'Procedure de Collision Sprite
CollisionSPRITE: PROCEDURE
   FOR color = 0 TO 31
   WAIT
   SPRITE 0,X+HIT+VISIBLE,Y+ZOOMY2,SPR00+(color AND SPR_WHITE)
   SPRITE 1,X+HIT+VISIBLE,Y+ZOOMY2,SPR01+(color AND SPR_RED)
   SPRITE 2,X+HIT+VISIBLE,Y+ZOOMY2,SPR02+(color AND SPR_PINK)
   SPRITE 3,X+HIT+VISIBLE,Y+ZOOMY2,SPR03+(color AND SPR_BLACK)
   
   SOUND 0,(color and 7)*32+32,15
   SOUND 1,(color and 7)*36+32,15
   SOUND 2,(color and 7)*40+32,15
   NEXT
   SOUND 0,,0
   SOUND 1,,0
   SOUND 2,,0

   FOR loop = 0 to 100
   WAIT
   NEXT
   
   'INIT Sprite
   SPRITE 0,0,0
   SPRITE 1,0,0
   SPRITE 2,0,0
   SPRITE 3,0,0
   SPRITE 4,0,0
   SPRITE 5,0,0
   SPRITE 6,0,0
   SPRITE 7,0,0
   
   goto debut
   return
   end

'Procedure de Gestion de Sprite
 AffSprite: PROCEDURE
   'Gestion Vitesse/Active sur si PAD Actif.
   if CONT then VitessePapi=VitessePapi+1
   
   'Animation quand PAD inactif
   if CONT=0 then
      #Miroir=0
      if Direction=0 then DEFINE DEF00, 4, SpritePapiHAUT_1
      if Direction=1 then DEFINE DEF00, 4, SpritePapiBAS_1
      if Direction=2 then DEFINE DEF00, 4, SpritePapiDROITE_1
      if Direction=3 then DEFINE DEF00, 4, SpritePapiDROITE_1:#miroir=FLIPX
   end if
   
   'On peut fixer la vitesse de Papi dans la condition.
   if VitessePapi>4 then
      VitessePapi=0
      TempoPapi=TempoPapi+1
      if TempoPapi>4 then TempoPapi=0
      
      'Papi Commando !
      'Commandes
      'PAD Actif !
      IF CONT1.UP THEN
         Y=Y-1
         Direction=0
         if TempoPapi=1 then DEFINE DEF00, 4, SpritePapiHAUT_0
         if TempoPapi=2 then DEFINE DEF00, 4, SpritePapiHAUT_1
         if TempoPapi=3 then DEFINE DEF00, 4, SpritePapiHAUT_2
         if TempoPapi=4 then DEFINE DEF00, 4, SpritePapiHAUT_1
         #miroir=0
      end if
      IF CONT1.DOWN THEN
         Y=Y+1
         Direction=1
         if TempoPapi=1 then DEFINE DEF00, 4, SpritePapiBAS_0
         if TempoPapi=2 then DEFINE DEF00, 4, SpritePapiBAS_1
         if TempoPapi=3 then DEFINE DEF00, 4, SpritePapiBAS_2
         if TempoPapi=4 then DEFINE DEF00, 4, SpritePapiBAS_1
         #miroir=0
      end if
      IF CONT1.LEFT THEN
         X=X-1
         Direction=3
         #miroir=FLIPX
         if TempoPapi=1 then DEFINE DEF00, 4, SpritePapiDROITE_0
         if TempoPapi=2 then DEFINE DEF00, 4, SpritePapiDROITE_1
         if TempoPapi=3 then DEFINE DEF00, 4, SpritePapiDROITE_2
         if TempoPapi=4 then DEFINE DEF00, 4, SpritePapiDROITE_1
      end if
      IF CONT1.RIGHT THEN
         X=X+1
         Direction=2
         if TempoPapi=1 then DEFINE DEF00, 4, SpritePapiDROITE_0
         if TempoPapi=2 then DEFINE DEF00, 4, SpritePapiDROITE_1
         if TempoPapi=3 then DEFINE DEF00, 4, SpritePapiDROITE_2
         if TempoPapi=4 then DEFINE DEF00, 4, SpritePapiDROITE_1
         #miroir=0
      end if
   end if
   
   'Affiche les sprites de Papi
   SPRITE 0,X+VISIBLE+HIT,Y+ZOOMY2+#miroir,SPR00+SPR_WHITE
   SPRITE 1,X+VISIBLE+HIT,Y+ZOOMY2+#miroir,SPR01+SPR_RED
   SPRITE 2,X+VISIBLE+HIT,Y+ZOOMY2+#miroir,SPR02+SPR_PINK
   SPRITE 3,X+VISIBLE+HIT,Y+ZOOMY2+#miroir,SPR03+SPR_BLACK
   
   'Limite
   if Y<16 then Y=16
   if Y>96 then Y=96
   if X>160 then X=160
   if X<8 then X=8
   
   'Sprites Ennemis
   for i=1 to 4
      'Limite Tableau
      if x1(i)<8 then sens(i)=2
      if x1(i)>160 then sens(i)=3
      if y1(i)<16 then sens(i)=1
      if y1(i)>96 then sens(i)=0
      
      'Tempo
      TempoIA(i)=TempoIA(i)+1
      
      'Au fur et a mesure que le temps passe, les choses se corsent ... ^^
      DIF=temps/16
      T_IA=TempoIA_MAX(i)-DIF
      if T_IA<2 then T_IA=2
      INT(i)=INT(i)-(DIF*2)
      
      'Gestion Sprite
      if TempoIA(i)>T_IA then
         'Tempo Animation
         TempoAnimation(i)=TempoAnimation(i)+1
         if TempoAnimation(i)>4 then TempoAnimation(i)=1
         TempoIA(i)=0
         
         'Gestion IA/Chemin - Pathfinding
         ' Unités Connes
         if Int(i)<25 then
            Chemin(i)=Chemin(i)+1
            if Chemin(i)>CheminMAX(i) then
               sens(i)=random(4)
               Chemin(i)=0
            end if
         else
            'Les unités Intelligentes suivent Papi
            'Calcul de distance
            a=x-x1(i)
            b=y-y1(i)
            'Algo de Pathfinding
            if a>b and b<=8 then
               if x1(i)<x then sens(i)=2 else sens(i)=3
            end if
            if a<=b and b>8 then
               if y1(i)<y then sens(i)=1 else sens(i)=0
            end if
            if y1(i)<y and a<8 then sens(i)=1
            if y1(i)>y and a<8 then sens(i)=0
         end if
         
         'Déplacement IA
         if sens(i)=0 then
            y1(i)=y1(i)-1
            if TempoAnimation(i)=1 then #SPR=SPR10
            if TempoAnimation(i)=2 then #SPR=SPR11
            if TempoAnimation(i)=3 then #SPR=SPR12
            if TempoAnimation(i)=4 then #SPR=SPR11
            #miroir1=0
         end if
         if sens(i)=1 then
            y1(i)=y1(i)+1
            if TempoAnimation(i)=1 then #SPR=SPR07
            if TempoAnimation(i)=2 then #SPR=SPR08
            if TempoAnimation(i)=3 then #SPR=SPR09
            if TempoAnimation(i)=4 then #SPR=SPR08
            #miroir1=0
         end if
         if sens(i)=2 then
            x1(i)=x1(i)+1
            if TempoAnimation(i)=1 then #SPR=SPR04
            if TempoAnimation(i)=2 then #SPR=SPR05
            if TempoAnimation(i)=3 then #SPR=SPR06
            if TempoAnimation(i)=4 then #SPR=SPR05
            #miroir1=0
         end if
         if sens(i)=3 then
            x1(i)=x1(i)-1
            if TempoAnimation(i)=1 then #SPR=SPR04
            if TempoAnimation(i)=2 then #SPR=SPR05
            if TempoAnimation(i)=3 then #SPR=SPR06
            if TempoAnimation(i)=4 then #SPR=SPR05
            #miroir1=FLIPX
         end if

         'Couleur Sprites
         if i=1 then #Color=SPR_BLACK
         if i=2 then #Color=SPR_YELLOW
         if i=3 then #Color=SPR_RED
         if i=4 then #Color=SPR_PINK
         
         'Affichage ennemis
         SPRITE 3+i,x1(i)+VISIBLE+HIT,y1(i)+ZOOMY2+#miroir1,#SPR+#Color
      end if
      
   next
   return

   END
   
Map:
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   Data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

   
'Sprite Papi
SpritePapiHaut_0:
   'WHITE
   BITMAP ".#....#."
   BITMAP "........"
   BITMAP ".#....#."
   BITMAP "..#..#.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   'RED
   BITMAP "........"
   BITMAP "#######."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   'PINK
   BITMAP "..####.."
   BITMAP "........"
   BITMAP "..####.."
   BITMAP "...##..."
   BITMAP "..#....."
   BITMAP ".#...#.."
   BITMAP "......#."
   BITMAP "........"
   'BLACK
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "...###.."
   BITMAP "..###..."
   BITMAP ".##.##.."
   BITMAP ".....##."
   
SpritePapiHaut_1:
   'WHITE
   BITMAP "........"
   BITMAP ".#....#."
   BITMAP "........"
   BITMAP ".#....#."
   BITMAP "..#..#.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   'RED
   BITMAP "........"
   BITMAP "........"
   BITMAP ".######."
   BITMAP "#......."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   'PINK
   BITMAP "........"
   BITMAP "..####.."
   BITMAP "........"
   BITMAP "..####.."
   BITMAP "...##..."
   BITMAP "..#..#.."
   BITMAP ".#....#."
   BITMAP "........"
   'BLACK
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "...##..."
   BITMAP "..####.."
   BITMAP "..####.."
   
SpritePapiHaut_2:
   'WHITE
   BITMAP ".#....#."
   BITMAP "........"
   BITMAP ".#....#."
   BITMAP "..#..#.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   'RED
   BITMAP "........"
   BITMAP "#######."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   'PINK
   BITMAP "..####.."
   BITMAP "........"
   BITMAP "..####.."
   BITMAP "...##..."
   BITMAP ".....#.."
   BITMAP "...#..#."
   BITMAP "..#....."
   BITMAP "........"
   'BLACK
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "..###..."
   BITMAP "...###.."
   BITMAP "..##.##."
   BITMAP ".##....."
   
SpritePapiBAS_0:
   'WHITE
   BITMAP ".#....#."
   BITMAP "..#..#.."
   BITMAP ".#....#."
   BITMAP ".#.##.#."
   BITMAP "..####.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   'RED
   BITMAP "........"
   BITMAP "##.##.#."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   'PINK
   BITMAP "..####.."
   BITMAP "........"
   BITMAP "...##..."
   BITMAP "..#..#.."
   BITMAP "........"
   BITMAP ".#......"
   BITMAP "......#."
   BITMAP "........"
   'BLACK
   BITMAP "........"
   BITMAP "........"
   BITMAP "..#..#.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "..####.."
   BITMAP ".##.##.."
   BITMAP ".....##."
   
SpritePapiBAS_1:
   'WHITE
   BITMAP "........"
   BITMAP ".#....#."
   BITMAP "..#..#.."
   BITMAP ".#....#."
   BITMAP ".#.##.#."
   BITMAP "..####.."
   BITMAP "........"
   BITMAP "........"
   'RED
   BITMAP "........"
   BITMAP "........"
   BITMAP ".#.##.#."
   BITMAP "#......."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   'PINK
   BITMAP "........"
   BITMAP "..####.."
   BITMAP "........"
   BITMAP "...##..."
   BITMAP "..#..#.."
   BITMAP "........"
   BITMAP ".#....#."
   BITMAP "........"
   'BLACK
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "..#..#.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "..####.."
   BITMAP "..####.."
   
SpritePapiBAS_2:
   'WHITE
   BITMAP ".#....#."
   BITMAP "..#..#.."
   BITMAP ".#....#."
   BITMAP ".#.##.#."
   BITMAP "..####.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   'RED
   BITMAP "........"
   BITMAP "##.##.#."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   'PINK
   BITMAP "..####.."
   BITMAP "........"
   BITMAP "...##..."
   BITMAP "..#..#.."
   BITMAP "........"
   BITMAP "......#."
   BITMAP ".#......"
   BITMAP "........"
   'BLACK
   BITMAP "........"
   BITMAP "........"
   BITMAP "..#..#.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "..####.."
   BITMAP "..##.##."
   BITMAP ".##....."

SpritePapiDROITE_0:
   'WHITE
   BITMAP ".#......"
   BITMAP "..##.##."
   BITMAP ".#......"
   BITMAP ".##.#.#."
   BITMAP "..####.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   'RED
   BITMAP "........"
   BITMAP "##..#..."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   'PINK
   BITMAP "..#####."
   BITMAP "........"
   BITMAP "..#.#.#."
   BITMAP "...#.#.."
   BITMAP "........"
   BITMAP ".##...#."
   BITMAP ".#......"
   BITMAP "........"
   'BLACK
   BITMAP "........"
   BITMAP "........"
   BITMAP "...#.#.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "...###.."
   BITMAP "..####.."
   BITMAP "..#..##."
   
SpritePapiDROITE_1:
   'WHITE
   BITMAP "........"
   BITMAP ".#......"
   BITMAP "..##.##."
   BITMAP ".#......"
   BITMAP ".##.#.#."
   BITMAP "..####.."
   BITMAP "........"
   BITMAP "........"
   'RED
   BITMAP "........"
   BITMAP "........"
   BITMAP ".#..#..."
   BITMAP "#......."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   'PINK
   BITMAP "........"
   BITMAP "..#####."
   BITMAP "........"
   BITMAP "..#.#.#."
   BITMAP "...#.#.."
   BITMAP "........"
   BITMAP "..#...#."
   BITMAP "........"
   'BLACK
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "...#.#.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "...###.."
   BITMAP "..####.."
   
SpritePapiDROITE_2:
   'WHITE
   BITMAP ".#......"
   BITMAP "..##.##."
   BITMAP ".#......"
   BITMAP ".##.#.#."
   BITMAP "..####.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   'RED
   BITMAP "........"
   BITMAP "##..#..."
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   BITMAP "........"
   'PINK
   BITMAP "..#####."
   BITMAP "........"
   BITMAP "..#.#.#."
   BITMAP "...#.#.."
   BITMAP "........"
   BITMAP "...#...."
   BITMAP ".#..#..."
   BITMAP "........"
   'BLACK
   BITMAP "........"
   BITMAP "........"
   BITMAP "...#.#.."
   BITMAP "........"
   BITMAP "........"
   BITMAP "..#.##.."
   BITMAP "..##.##."
   BITMAP ".#...#.."

'Sprite IA   
SpriteIAHAUT:
   BITMAP "..####.."
   BITMAP ".######."
   BITMAP ".######."
   BITMAP "..####.."
   BITMAP ".#####.."
   BITMAP "..#####."
   BITMAP ".##.##.."
   BITMAP ".....##."
   
   BITMAP "........"
   BITMAP "..####.."
   BITMAP ".######."
   BITMAP ".######."
   BITMAP "..####.."
   BITMAP ".######."
   BITMAP "..####.."
   BITMAP ".##..##."

   BITMAP "..####.."
   BITMAP ".######."
   BITMAP ".######."
   BITMAP "..####.."
   BITMAP "..#####."
   BITMAP ".#####.."
   BITMAP "..##.##."
   BITMAP ".##....."
   
SpriteIABAS:
   BITMAP "..####.."
   BITMAP ".######."
   BITMAP ".#.##.#."
   BITMAP "..####.."
   BITMAP ".#####.."
   BITMAP "..#####."
   BITMAP ".##.##.."
   BITMAP ".....##."
   
   BITMAP "........"
   BITMAP "..####.."
   BITMAP ".######."
   BITMAP ".#.##.#."
   BITMAP "..####.."
   BITMAP ".######."
   BITMAP "..####.."
   BITMAP ".##..##."
   
   BITMAP "..####.."
   BITMAP ".######."
   BITMAP ".#.##.#."
   BITMAP "..####.."
   BITMAP "..#####."
   BITMAP ".#####.."
   BITMAP "..##.##."
   BITMAP ".##....."
   
SpriteIADroite:
   BITMAP "..####.."
   BITMAP ".####.#."
   BITMAP ".###.##."
   BITMAP "..####.."
   BITMAP "...####."
   BITMAP "...###.."
   BITMAP "..##.##."
   BITMAP "..#....."

   BITMAP "........"
   BITMAP "..####.."
   BITMAP ".####.#."
   BITMAP ".###.##."
   BITMAP "..####.."
   BITMAP "...##..."
   BITMAP "...##..."
   BITMAP "...###.."

   BITMAP "..####.."
   BITMAP ".####.#."
   BITMAP ".###.##."
   BITMAP "..####.."
   BITMAP "...##..."
   BITMAP "..####.."
   BITMAP "...#.##."
   BITMAP "..#....."

TilesDecor:
   REM Rocher
   REM Terrain GRIS 17 (273)
   BITMAP "..####.."
   BITMAP ".####.#."
   BITMAP ".#####.#"
   BITMAP "######.#"
   BITMAP "######.#"
   BITMAP "########"
   BITMAP "########"
   BITMAP "########"
   BITMAP "########"
   
   REM Gazon/BG
   REM Terrain Calque Vert 1 13 (269)
   BITMAP "********"
   BITMAP "***.****"
   BITMAP "********"
   BITMAP "********"
   BITMAP "**.*****"
   BITMAP "********"
   BITMAP "*****.**"
   BITMAP "********"
   
avatar
StudioVetea
Patient contaminé

Masculin Nombre de messages : 741
Age : 47
Localisation : Hérault
Date d'inscription : 10/09/2018

http://www.rolango.fr

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par F.L le Dim 4 Nov 2018 - 8:16

Bravo l'ami ! Papi a dompté une nouvelle machine  Razz
avatar
F.L
Docteur *
Docteur *

Masculin Nombre de messages : 3096
Age : 43
Localisation : hérault
Date d'inscription : 11/06/2012

http://fl.basic.free.fr

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par vincent2105 le Dim 4 Nov 2018 - 8:22

Papi returbine !  cheers
avatar
vincent2105
Patient incurable

Masculin Nombre de messages : 1221
Age : 38
Localisation : 82
Date d'inscription : 17/12/2013

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par drfloyd le Dim 4 Nov 2018 - 8:30

il y a 48h tu ne connaissais pas le langage. Bravo !

En 1 semaine, a temsp plein, tu te fais un vrai jeu commercial avec ce langage hyper puissant !

_______________________________________________________

Mes objets en vente :
http://www.gamopat-forum.com/t98267-la-caverne-du-doc-poilu#2765310
Mon profil Gamopat Advisor :
http://www.gamopat-forum.com/t94659-dr-floyd-advisor





avatar
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

Masculin Nombre de messages : 141308
Age : 49
Localisation : Dpt 62
Date d'inscription : 05/12/2004

http://www.gamopat.com

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par StudioVetea le Dim 4 Nov 2018 - 8:50

Ahah merci !! Very Happy
Oui il est sympa cet Intybasic, j'y retrouve un peu du BEX en lui.
Il me manque à maîtriser ces collisions BG/Sprite de manière à bien gérer les déplacements et proposer de véritables tableaux, voire plus tard des MAP avec scrolling. Wink
Ce qui est bien avec ces contraintes d'un autre âge, c'est de se creuser la tête pour trouver le Gameplay accrocheur ... On est bien loin de RDR2 !  Mr. Green
J'ai pas mal d'idées en tête en tout cas. Wink
Ceci met mes projets MD en pause, mais c'était déjà un peu le cas ... mais je surfais entre du C et du Basic ( voire du C# en // ).
La clairement, on est en face d'un SDK qui permet direct de tirer le max de cette console atypique. 
Mais elle semble en avoir dans le ventre.
avatar
StudioVetea
Patient contaminé

Masculin Nombre de messages : 741
Age : 47
Localisation : Hérault
Date d'inscription : 10/09/2018

http://www.rolango.fr

Revenir en haut Aller en bas

Re: [TUTO] Hello IntyBASIC

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 2 sur 3 Précédent  1, 2, 3  Suivant

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum