[TUTO] Hello IntyBASIC
+5
upsilandre
Putois Blagueur
drfloyd
F.L
Shaoth
9 participants
Page 3 sur 3
Page 3 sur 3 • 1, 2, 3
Re: [TUTO] Hello IntyBASIC
Ahah merci !!
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.
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 !
J'ai pas mal d'idées en tête en tout cas.
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.
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.
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 !
J'ai pas mal d'idées en tête en tout cas.
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.
Invité- Invité
Re: [TUTO] Hello IntyBASIC
Sympa, ça fonctionne bien.
Les sprites et animations sont soignés, mais j'en attendais pas moins. :3
Juste une remarque: l'ennemi de couleur noire est impossible à semer au bout d'un moment.
Je suis content que tu aies envie d'aller encore plus loin.
Les sprites et animations sont soignés, mais j'en attendais pas moins. :3
Juste une remarque: l'ennemi de couleur noire est impossible à semer au bout d'un moment.
Je suis content que tu aies envie d'aller encore plus loin.
Invité- Invité
Re: [TUTO] Hello IntyBASIC
Oui et c'est un peu grâce à toi !
Tu es mon FL de l'Intellivision.
Je vais revoir le gameplay et Gamedesign de toute façon.
C'était histoire de présenter un truc avec un but. ^^
Tu es mon FL de l'Intellivision.
Je vais revoir le gameplay et Gamedesign de toute façon.
C'était histoire de présenter un truc avec un but. ^^
Invité- Invité
Re: [TUTO] Hello IntyBASIC
Ah que coucou !
Voici un petit update de Get Papi ! ( déjà la v1.1 )
Un petit peu de piment dans le Gameplay :
Les robots dès qu'ils se touchent se réinitialisent ( Vitesse initiale et mode Chasse OFF ). Donc le joueur doit faire en sorte que les Robots croisent leur chemin.
En attendant de trouver comment gérer les TILE/Collision, c'est un peu plus sympa.
De plus, j'ai ajouté un bruit de pas pour les Sprites et augmenter le temps.
- Code:
REM ====================================
REM ==== GET PAPI !! ====
REM ==== V1.1 ====
REM ==== (c) 2018 STUDIO VETEA ====
REM ====================================
INCLUDE "constants.bas"
REM INCLUDE "title.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 LVL(5) 'DIF IA sur la durée
DIM #TEMP(5) 'Tempo DIF IA
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)=15
LVL(i)=0
next
Direction=1 '0 HAUT, 1 BAS, 2 DROITE, 3 GAUCHE
VitessePapi=3
TempoPapi=0
VitessePapiMax=4
#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(5,0)) color CS_WHITE, "TIME :"
print at (SCREENPOS(12,0)) color CS_WHITE, <3>temps
'Boucle principale
while 1
'Gestion temps
gosub gestionTime
'Affichage Sprite
gosub AffSprite
'Gestion Collision Sprites
gosub GestionCollision
wait
wend
'Gestion Collision Sprites
GestionCollision: PROCEDURE
if FRAME then
'Detection de Papi COL0 avec les 4 autres Sprites Ennemis après une FRAME
IF COL0 AND HIT_SPRITE4+HIT_SPRITE5+HIT_SPRITE6+HIT_SPRITE7 THEN gosub CollisionSPRITE
'Detection entre IA/Ralentissement de l'IA.
if COL4 and HIT_SPRITE5+HIT_SPRITE6+HIT_SPRITE7 then
TempoIA_MAX(1)=15
INT(1)=0
LVL(1)=0
#TEMP(1)=0
end if
if COL5 and HIT_SPRITE4+HIT_SPRITE6+HIT_SPRITE7 then
TempoIA_MAX(2)=15
INT(2)=0
LVL(2)=0
#TEMP(2)=0
end if
if COL6 and HIT_SPRITE4+HIT_SPRITE5+HIT_SPRITE7 then
TempoIA_MAX(3)=15
INT(3)=0
LVL(3)=0
#TEMP(3)=0
end if
if COL7 and HIT_SPRITE4+HIT_SPRITE5+HIT_SPRITE6 then
TempoIA_MAX(4)=15
INT(4)=0
LVL(4)=0
#TEMP(4)=0
end if
end if
return
end
'Gestion du temps
GestionTime: PROCEDURE
FR=FR+1
if FR=96 then
#temps=#temps+1:FR=0
end if
print at (SCREENPOS(13,0)) color CS_WHITE, <4>#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>VitessePapiMax 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
SOUND 1,15,15
SOUND 1,,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
SOUND 1,15,15
SOUND 1,,0
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
SOUND 1,15,15
SOUND 1,,0
#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
SOUND 1,15,15
SOUND 1,,0
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
#TEMP(I)=#TEMP(I)+1
if #TEMP(i)>30000 then #TEMP(i)=30000
'Au fur et a mesure que le temps passe, les choses se corsent ... ^^
LVL(i)=#TEMP(I)/128
if LVL(i)>64 then LVL(i)=64
T_IA=TempoIA_MAX(i)-LVL(i)
if T_IA<4 then T_IA=3
INT(i)=INT(i)+(LVL(i)*2)
'Gestion Sprite
if TempoIA(i)>T_IA then
'Son
SOUND 2,500,15
SOUND 2,,0
'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 "********"
Viendra après des bonus pour tirer, augmenter la vitesse ... Et certainement des petites arènes.
GET PAPI !!
Lien pour la version Avancée ( écran Intellivision ):
https://cdn.discordapp.com/attachments/508588885169668096/508613945028771842/Get_Papi_V1.1.zip
Invité- Invité
Re: [TUTO] Hello IntyBASIC
Quand on regarde le fichier constants.bas, on peut voir que les constantes prédéfinies correspondent à des nombres qu'on peut utiliser pour éviter certaines redondances dans le code et alléger la rom.
Je sais pas si c'est un super exemple mais ça peut te donner une idée de comment ça marche.
Au lieu de ça:
- Code:
'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
On peut écrire ça:
- Code:
ChoixSprite: Procedure
if TempoAnimation(i)<4 then
#SPR = #SPR +(TempoAnimation(i)*8)
else
#SPR = #SPR +(2*8)
end if
End
'Déplacement IA
if sens(i)=0 then
y1(i)=y1(i)-1
#SPR=SPR09
gosub ChoixSprite
#miroir1=0
elseif sens(i)=1 then
y1(i)=y1(i)+1
#SPR=SPR06
gosub ChoixSprite
#miroir1=0
elseif sens(i)=2 then
x1(i)=x1(i)+1
#SPR=SPR03
gosub ChoixSprite
#miroir1=0
elseif sens(i)=3 then
x1(i)=x1(i)-1
#SPR=SPR03
gosub ChoixSprite
#miroir1=FLIPX
end if
Invité- Invité
Re: [TUTO] Hello IntyBASIC
Merci ! Toujours utile de connaitre ces astuces.
Ou récupère t'on la ROM du jeu par contre ?
Et quelle est la taille limite d'une ROM ?
Ou récupère t'on la ROM du jeu par contre ?
Et quelle est la taille limite d'une ROM ?
Invité- Invité
Re: [TUTO] Hello IntyBASIC
La rom est dans le dossier bin situé dans le dossier de ton projet. Basiquement, tu peux faire une rom de 8 Kilodecles qui affiche en fait une taille de 16 Ko sur un PC.
En ajoutant une ligne ou deux d'assembleur dans ce style, tu peux théoriquement monter jusqu'à 42K, soit 84 Ko affichés sur ton PC. (Le SDK fournit un exemple très utile nommé 42k, trouvable dans le dossier Contributions)
Après, je crois que ça complique les choses si tu souhaites que ton jeu sorte sur une vraie cartouche.
Si tu souhaites faire un jeu encore plus gros, c'est possible avec le page flipping. Mais je sais pas comment ça fonctionne (et j'espère ne jamais en avoir besoin).
- Code:
asm ORG $A000
En ajoutant une ligne ou deux d'assembleur dans ce style, tu peux théoriquement monter jusqu'à 42K, soit 84 Ko affichés sur ton PC. (Le SDK fournit un exemple très utile nommé 42k, trouvable dans le dossier Contributions)
Après, je crois que ça complique les choses si tu souhaites que ton jeu sorte sur une vraie cartouche.
Si tu souhaites faire un jeu encore plus gros, c'est possible avec le page flipping. Mais je sais pas comment ça fonctionne (et j'espère ne jamais en avoir besoin).
Invité- Invité
Re: [TUTO] Hello IntyBASIC
il y a eu des cartouches de 4ko a 24ko je crois
la RAM je sais plus exactement, c'est pas autour de 1,5Ko ?
la RAM je sais plus exactement, c'est pas autour de 1,5Ko ?
_______________________________________________________
Re: [TUTO] Hello IntyBASIC
Attention, il faut mesurer en Kiledecles, sinon Upsilandre va se fâcher.
Apparemment, la rom du homebrew Sydney Hunter fait 83K, soit le double des 42K possibles basiquement.
(lu dans les commentaires de cette vidéo: https://www.youtube.com/watch?v=Z8PJolFGX7I )
Apparemment, la rom du homebrew Sydney Hunter fait 83K, soit le double des 42K possibles basiquement.
(lu dans les commentaires de cette vidéo: https://www.youtube.com/watch?v=Z8PJolFGX7I )
Invité- Invité
Re: [TUTO] Hello IntyBASIC
Les choses avancent !!
La Mattel, c'est pas de la Barbie !!
Par contre, j'ai un soucis quand des TILES sont trop proche (8 px), ça bloque ...
J'ai totalement revu la manière de gérer les collisions. Ici, on touche un peu à de l'assembleur/Basic via les routines internes de la console.
Ainsi ma routine de collision :
- Code:
'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,10,TilesDecor
WAIT
'Constantes
CONST MUR_H=$0800+13*8 'Adresse Ecran $0800 + Couleur. Ici NOIR = 0 + Position GRAM * 8 ( TILE 8x8)
CONST MUR_B=$0800+14*8
CONST MUR_D=$0800+15*8
CONST MUR_G=$0800+16*8
CONST SOL = $0804+17*8
CONST MUR = $0800+18*8
CONST SOL1= $0804+19*8
'Constante Collision Objets
CONST COL_MURH=BG13
CONST COL_MURB=BG14
CONST COL_MURD=BG15
CONST COL_MURG=BG16
CONST COL_MUR= BG18
Test_Collision: PROCEDURE
'Offset Coordonnée
if UNIT=0 then #offset = x/8+y/8*20 else #offset = xIA/8+yIA/8*20
COLI=0
'Test au 4 coins des objets.
#c = PEEK($01FF+#offset)
#c1 = PEEK($0200+#offset)
#c2 = PEEK($01EC+#offset)
#c3 = PEEK($01EB+#offset)
'Test avec les éléments du tableau.
if (#c=COL_MURH or #c1=COL_MURH or #c2=COL_MURH or #c3=COL_MURH) and #c<>0 then COLI=1:return
if (#c=COL_MURB or #c1=COL_MURB or #c2=COL_MURB or #c3=COL_MURB) then COLI=1:return
if (#c=COL_MURB or #c1=COL_MURD or #c2=COL_MURD or #c3=COL_MURD) then COLI=1:return
if (#c=COL_MURG or #c1=COL_MURG or #c2=COL_MURG or #c3=COL_MURG) then COLI=1:return
if (#c=COL_MUR or #c1=COL_MUR or #c2=COL_MUR or #c3=COL_MUR) then COLI=1
end
Bon j'ai différent type de TILE, et on peut donc en fonction de certain TILE, programmer des effets : Blocage, etc ..
Invité- Invité
Re: [TUTO] Hello IntyBASIC
Super, tu en es déjà à gérer les collisions sprites/tiles. Pour ma part, j'en ai un peu chié avant de trouver une solution qui fonctionne. ^^
En plus, pour mon jeu, je fais du case-par-case-au-tour-par-tour donc c'est plus simple...
Je serais pas foutu de te dire ce qui va pas dans ton code. Mais ça m'étonnerait pas que tu trouves rapidement.
PS: a priori, il vaut mieux privilégier XOR à OR sur Intellivision.
En plus, pour mon jeu, je fais du case-par-case-au-tour-par-tour donc c'est plus simple...
Je serais pas foutu de te dire ce qui va pas dans ton code. Mais ça m'étonnerait pas que tu trouves rapidement.
PS: a priori, il vaut mieux privilégier XOR à OR sur Intellivision.
Invité- Invité
Re: [TUTO] Hello IntyBASIC
Merci Ithus ! :)
Ces collisions m'ont bien fait suer ... Pas si évident en effet.
La j'ai trouvé la solution, mais il reste toutefois un problème si les TILES sont espacés de 8px ... Mais je vais finir par trouver !!
Pour les OR, je ne savais pas ... Du coup on peut faire un NOT XOR ?
Ces collisions m'ont bien fait suer ... Pas si évident en effet.
La j'ai trouvé la solution, mais il reste toutefois un problème si les TILES sont espacés de 8px ... Mais je vais finir par trouver !!
Pour les OR, je ne savais pas ... Du coup on peut faire un NOT XOR ?
Invité- Invité
Re: [TUTO] Hello IntyBASIC
Maintenant tu vas m'épater sur intellivision Vetea !
Pour cette histoire de or manquant sur le cpu de cette console, je ne pense pas que ça soit un problème pour faire des ou dans les tests de condition du basic ou d'un langage évolué.
C'est plus gênant pour faire un or bit à bit entre deux registres en asm, par contre...
Pour cette histoire de or manquant sur le cpu de cette console, je ne pense pas que ça soit un problème pour faire des ou dans les tests de condition du basic ou d'un langage évolué.
C'est plus gênant pour faire un or bit à bit entre deux registres en asm, par contre...
nemokantio- Patient contaminé
- Nombre de messages : 345
Age : 48
Localisation : Delgastan
Date d'inscription : 23/01/2013
Re: [TUTO] Hello IntyBASIC
C'est ce que je pensais aussi, mais visiblement le compilateur travaille "à l'ancienne" : il évalue les expressions en 0 (FAUX) ou -1 (VRAI) puis utilise les opérateurs bit à bit pour les combiner !
code généré pour un AND :
code généré pour un XOR :
Pour le OR il utilise la propriété A OR B = (A AND NOT B) XOR B :
code généré pour un OR :
code généré pour un AND :
- Code:
; if (v1=6) and (v2=7) then v3=1
MVI V1,R0 ; R0=V1
CMPI #6,R0 ; compare R0 et 6
MVII #-1,R0 ; R0=-1
BEQ T1 ; si la comparaison est vraie (çàd si V1=6) GOTO T1
INCR R0 ; R0=R0+1 (donc R0=0)
T1: MVI V2,R1 ; R1=V2
CMPI #7,R1 ; compare R1 et 7
MVII #-1,R1 ; R1=-1
BEQ T2 ; si la comparaison est vraie (çàd si V2=7) GOTO T2
INCR R1 ; R1=R1+1 (donc R1=0)
T2: ANDR R1,R0 ; R0=R0 AND R1
BEQ T3 ; si le résultat du AND est nul GOTO T3
MVII #1,R0 ; R0=1
MVO R0,V3 ; V3=R0 (donc V3=1)
T3:
code généré pour un XOR :
- Code:
; if (v1=6) xor (v2=7) then v3=2
MVI V1,R0 ; R0=V1
CMPI #6,R0 ; compare R0 et 6
MVII #-1,R0 ; R0=-1
BEQ T1 ; si la comparaison est vraie (çàd si V1=6) GOTO T1
INCR R0 ; R0=R0+1 (donc R0=0)
T1: MVI V2,R1 ; R1=V2
CMPI #7,R1 ; compare R1 et 7
MVII #-1,R1 ; R1=-1
BEQ T2 ; si la comparaison est vraie (çàd si V2=7) GOTO T2
INCR R1 ; R1=R1+1 (donc R1=0)
T2: XORR R1,R0 ; R0=R0 XOR R1
BEQ T3 ; si le résultat du XOR est nul GOTO T3
MVII #2,R0 ; R0=2
MVO R0,V3 ; V3=R0 (donc V3=2)
T3:
Pour le OR il utilise la propriété A OR B = (A AND NOT B) XOR B :
code généré pour un OR :
- Code:
; if (v1=6) or (v2=7) then v3=3
MVI V1,R0 ; R0=V1
CMPI #6,R0 ; compare R0 et 6
MVII #-1,R0 ; R0=-1
BEQ T1 ; si la comparaison est vraie (çàd si V1=6) GOTO T1
INCR R0 ; R0=R0+1 (donc R0=0)
T1: MVI V2,R1 ; R1=V2
CMPI #7,R1 ; compare R1 et 7
MVII #-1,R1 ; R1=-1
BEQ T2 ; si la comparaison est vraie (çàd si V2=7) GOTO T2
INCR R1 ; R1=R1+1 (donc R1=0)
T2: COMR R1 ; R1=NOT R1
ANDR R1,R0 ; R0=R0 AND R1
COMR R1 ; R1=NOT R1
XORR R1,R0 ; R0=R0 XOR R1
BEQ T3 ; si le résultat du XOR est nul GOTO T3
MVII #3,R0 ; R0=3
MVO R0,V3 ; V3=R0 (donc V3=3)
T3:
vingazole- Infirmier
- Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 04/01/2012
Re: [TUTO] Hello IntyBASIC
Oula oui je vois.
Du coup la pénalité est de 3 instructions en plus que si il y avait un OR.
(17 contre 14 pour un test avec and ou xor)
C'est peut être pas si grave non ?
A la limite, ils codent leurs jeux sans s'en soucier, puis ils peuvent essayer une alternative aux tests avec le or et voir si il y a un gain.
Merci pour la très bonne explication Maître Vingazole.
:)
Du coup la pénalité est de 3 instructions en plus que si il y avait un OR.
(17 contre 14 pour un test avec and ou xor)
C'est peut être pas si grave non ?
A la limite, ils codent leurs jeux sans s'en soucier, puis ils peuvent essayer une alternative aux tests avec le or et voir si il y a un gain.
Merci pour la très bonne explication Maître Vingazole.
:)
nemokantio- Patient contaminé
- Nombre de messages : 345
Age : 48
Localisation : Delgastan
Date d'inscription : 23/01/2013
Re: [TUTO] Hello IntyBASIC
Oui, c'est ce que je me disais aussi !nemokantio a écrit:C'est peut être pas si grave non ?
vingazole- Infirmier
- Nombre de messages : 4522
Age : 50
Localisation : Midian
Date d'inscription : 04/01/2012
Re: [TUTO] Hello IntyBASIC
salut
j'ai pas bien compris un peu plus haut il etait dit que intybasic (ou l'intellivision) ne gerait pas les OR et qu'il fallait utiliser XOR ...?
et pourtant j'ai fait ce petit test et ça marche nickel :
ou alors vous parliez d'autre chose, il y a quelque chose que je n'ai pas compris ?
car pour moi XOR c'est lui :
merci d'avance
@+
j'ai pas bien compris un peu plus haut il etait dit que intybasic (ou l'intellivision) ne gerait pas les OR et qu'il fallait utiliser XOR ...?
et pourtant j'ai fait ce petit test et ça marche nickel :
- Code:
INCLUDE "constants.bas"
x=1
y=2
InfiniteLoop:
if x = 1 or y= 0 then
PRINT AT (SCREENPOS(1, 5)) COLOR CS_WHITE, "bien !"
ELSE
PRINT AT (SCREENPOS(1, 5)) COLOR CS_WHITE, "pas bien !"
END IF
GOTO InfiniteLoop
ou alors vous parliez d'autre chose, il y a quelque chose que je n'ai pas compris ?
car pour moi XOR c'est lui :
merci d'avance
@+
Re: [TUTO] Hello IntyBASIC
Le OR est émulé par le compilateur car le CPU ne l'a pas, le XOR oui en natif.
Donc, si c'est émulé, c'est plus lent.
Donc, si c'est émulé, c'est plus lent.
Invité- Invité
Re: [TUTO] Hello IntyBASIC
Merci pour ta réponse, mais ça ralentit "beaucoup" ?
Du genre un programme avec plusieures centaines de OR c'est pas bon ?
Par curiosité j'ai retiré le dernier wait (celui de la boucle) de l'exemple avec le sprite et du coup il se deplace à la vitesse de l'eclair ! Ca veut dire qu'il y a quand meme de la marge, non ?
Du genre un programme avec plusieures centaines de OR c'est pas bon ?
Par curiosité j'ai retiré le dernier wait (celui de la boucle) de l'exemple avec le sprite et du coup il se deplace à la vitesse de l'eclair ! Ca veut dire qu'il y a quand meme de la marge, non ?
Re: [TUTO] Hello IntyBASIC
le "Wait" c'est comme un "VSync", attendre le rafraichissement de l'écran avant la prochaine frame, donc il faut toujours la laisser, sinon ça poserait pas mal de problèmes.
Dans ton cas, un "OR" aura aucune incidence, mais dans la cadre d'un code avec pas mal de calculs, de traitements, c'est vraiment pas conseillé. Après, faut faire des tests !
Dans ton cas, un "OR" aura aucune incidence, mais dans la cadre d'un code avec pas mal de calculs, de traitements, c'est vraiment pas conseillé. Après, faut faire des tests !
Invité- Invité
Re: [TUTO] Hello IntyBASIC
Quand J'en aurais fini avec barbarian sur jaguar puis snes, j'ai idée de faire un bomb jack avec intybasic, ça pourrait etre sympa et "pas trop" compliqué à faire. Mais c'est pas pour demain ! On verra ça !
Re: [TUTO] Hello IntyBASIC
Tu as en projet Barbarian sur SNES?
La classe! :)
La classe! :)
drludos- Patient contaminé
- Nombre de messages : 247
Age : 44
Localisation : 34
Date d'inscription : 12/10/2017
Re: [TUTO] Hello IntyBASIC
Oui enfin moi j'aide c'est tout, les 95% du boulot c'est ******* qui le fait car la snes est pas facile à dompter, mais le resultat va etre top, le jeu est bien avancé mais c'est le temps libre qui manque hélas
Et sinon, bomb jack sur intellivision, bonne idée ? Faisable ?
Et sinon, bomb jack sur intellivision, bonne idée ? Faisable ?
Re: [TUTO] Hello IntyBASIC
De ce que j'en ai vu Bomb Jack a l'air tout à fait faisable, si tu acceptes de faire quelques concessions. :p
Invité- Invité
Re: [TUTO] Hello IntyBASIC
Tout à fait faisable oui !
En remplaçant les bombes par des "CARD" ou TILE. Par contre, exit le fond avec décor ... Hormis si tes bombes n'empiètent pas dessus, mais on pourrait réfléchir à une routine qui remplacerait la Bombe par le TILE de fond.
Bref ... Oui, c'est un projet tout à fait réalisable, perpétuant le savoir faire du Omebrou à la française.
EDIT : Et à ce propos, nous t'attendons toujours dans nos locaux. Tu es le cheval de bataille du Omebrou français, celui qui a donné l'envie, dont moi, à se lancer dans le développement sur le matériel d'époque ... Tu serai notre invité d'honneur mon ami.
En remplaçant les bombes par des "CARD" ou TILE. Par contre, exit le fond avec décor ... Hormis si tes bombes n'empiètent pas dessus, mais on pourrait réfléchir à une routine qui remplacerait la Bombe par le TILE de fond.
Bref ... Oui, c'est un projet tout à fait réalisable, perpétuant le savoir faire du Omebrou à la française.
EDIT : Et à ce propos, nous t'attendons toujours dans nos locaux. Tu es le cheval de bataille du Omebrou français, celui qui a donné l'envie, dont moi, à se lancer dans le développement sur le matériel d'époque ... Tu serai notre invité d'honneur mon ami.
Invité- Invité
Re: [TUTO] Hello IntyBASIC
Je suis content que l'idée de bomb jack vous plaise !
Bonne idée pour les card qui remplaceraient le fond !
Enfin pour commencer je vais faire sans aucun decor.
Ca me touche que tu dise que c'est moi qui vous ai donné envie de vous lancer dans le omebrou ! pourtant je n'ai fait que dire que "le basic c'est fan-tastique" la-la-la:MDR:
Les locaux c'est le discord c'est ça ? Faudra que je vienne y faire un tour mais depuis qq temps, je vais de moins en moins sur le net, a cause de problemes persos (pas tres graves), je ne joue meme plus, je me suis meme desinscrit de facedebouc, alors le peu de temps libre que j'ai je le passe à finir les remakes sur jaguar. Heureusement j'en vois bientot le bout !
Mais promis un jour j'y passerais un de ces quatres !
A+
Bonne idée pour les card qui remplaceraient le fond !
Enfin pour commencer je vais faire sans aucun decor.
Ca me touche que tu dise que c'est moi qui vous ai donné envie de vous lancer dans le omebrou ! pourtant je n'ai fait que dire que "le basic c'est fan-tastique" la-la-la:MDR:
Les locaux c'est le discord c'est ça ? Faudra que je vienne y faire un tour mais depuis qq temps, je vais de moins en moins sur le net, a cause de problemes persos (pas tres graves), je ne joue meme plus, je me suis meme desinscrit de facedebouc, alors le peu de temps libre que j'ai je le passe à finir les remakes sur jaguar. Heureusement j'en vois bientot le bout !
Mais promis un jour j'y passerais un de ces quatres !
A+
Re: [TUTO] Hello IntyBASIC
Tu y seras le bienvenue.
J'espère qu'il n'y a rien de grave, auquel cas, tu sais ou je me joindre.
Et je confirme, c'est vraiment grâce à toi, avec QB64 et ensuite BEX que tu as ravivé la flamme de ma créativité, avec tout ce que j'ai pu faire depuis.
J'espère qu'il n'y a rien de grave, auquel cas, tu sais ou je me joindre.
Et je confirme, c'est vraiment grâce à toi, avec QB64 et ensuite BEX que tu as ravivé la flamme de ma créativité, avec tout ce que j'ai pu faire depuis.
Invité- Invité
Page 3 sur 3 • 1, 2, 3
Sujets similaires
» [TUTO] [IntyBASIC] Les tiles
» [TUTO] [IntyBASIC] Afficher et déplacer un sprite
» TUTO RGB sur PC Engine Coregrafx , TUTO RGB AMP pour PCE TNK2 etc...
» IntyBASIC, le topic officiel
» Tuto assembleur sur MSX
» [TUTO] [IntyBASIC] Afficher et déplacer un sprite
» TUTO RGB sur PC Engine Coregrafx , TUTO RGB AMP pour PCE TNK2 etc...
» IntyBASIC, le topic officiel
» Tuto assembleur sur MSX
Page 3 sur 3
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum