GAMOPAT
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

LE 10LIGNOPAT 2021

+13
Cormano
YannAros
grostonton
Jacques Atari
goux.m
Matari
Anarwax
freed
youki
Copper
F.L
Xorion
drfloyd
17 participants

Page 6 sur 34 Précédent  1 ... 5, 6, 7 ... 20 ... 34  Suivant

Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par freed Mer 8 Déc 2021 - 11:24

YannAros a écrit:J'ai pas trouvé un émulateur en ligne, par contre j'utilise Caprice qui ne nécessite pas d'installation sous Windows et qui permet de copier le contenu du clipboard avec une simple clic droit.
https://www.cpc-power.com/cpcarchives/index.php?page=articles&num=445  


Moi j'utilise celui-là mais pas de copier-coller non plus et je sais pas si on peut charger des .bas Confused
http://crocods.org/web/

[EDIT]: ah bah si, il sait charger un fichier .bas donc c'est bon pour les 10 lignes on dirait Very Happy

LE 10LIGNOPAT 2021 - Page 6 Amstra10

freed
Patient incurable

Nombre de messages : 1596
Date d'inscription : 03/02/2021

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par rocky007 Mer 8 Déc 2021 - 12:29

bon je fais du zélé, mais l'idée de Mr Atari était chouette... j'espère que tu ne me réclameras pas des royalties...

AMIGA FORMAT - TI99 BASIC ETENDU

Synopsis ( Basé sur des faits réels ) :

Vous vous êtes lancé dans un business de formatage de disquettes. Pour cela, rien de tel que 24 Amiga. Mais attention, il faut retirer la disquette avant le dépassement de 90 secteurs, sinon l'Amiga fait un GURU MEDITATION !

Certains Amiga sont plus lent que d'autres, surement un compression en tâche de fond...il vous faudra être vigilent !

Contrôle : Joystick / spacebar pour changer la disquette.

PS : ça tenait en 8 lignes, je me suis permis un écran titre bonus :)





decro-045
decro-044

Code:


1 CALL CHAR(128,"5FDFDFDFDFDFC0FFFFE0E0E0E0E0E07FFAFBFBFBFBFB03FFFF07E7E7E7E707FE"):: CALL MAGNIFY(4):: CALL CLEAR:: CALL SCREEN(2):: FOR I=1 TO 10::CALL COLOR(I,8,2)::NEXT I
2 FOR I=1 to 28 :: CALL SPRITE(#I,128,INT(RND*13)+2,50,50,INT(RND*100)-100,INT(RND*100)-100):: NEXT I :: DISPLAY AT(11,9) : "AMIGA  FORMAT "::DISPLAY AT(12,10) : "PRESS ENTER"
10 ACCEPT AT(1,1):A$::CALL DELSPRITE(ALL) ::DIM NB(24),NP(24), PX(24),PY(24):: FOR X=0 TO 3 :: FOR Y=0 TO 5 :: PX(A)=1+(X*8) :: PY(A)=2+(Y*4) :: A=A+1 :: NEXT Y :: NEXT X :: I=-1
11 CALL CHAR(128,"3F40C0C0C0C0C0C0403F6AD5AAD57F00FC0203030303030302FCAA55AB55FE00")::CALL CHAR(65,"103070FFFF703010FFFFFFFFFFFFFFFF")::CALL CLEAR
30 FOR X=16 TO 246 STEP 64 :: FOR Y=4 TO 192 STEP 32 :: NB(S)=INT(RND*50)::  NP(S)=INT(RND*10)+1 ::S=S+1 ::  CALL SPRITE(#S,128,4,Y,X):: NEXT Y :: NEXT X:: CALL COLOR(5,7,2)
33 IF I=23 THEN I=0 ELSE I=I+1 ::IF NB(I)<>99 THEN IF NB(I)>90 THEN DISPLAY AT( PY(I),PX(I)) SIZE(4) :" BB":: NB(I)=99 :: G=G+1 ELSE DISPLAY AT( PY(I),PX(I)) SIZE(3) :NB(I)  :: NB(I)=NB(I)+NP(I)   
35 CALL HCHAR(CY+4,CX+7,32) :: CALL JOYST(1,XX,YY) :: CX=CX+XX*2::CY=CY-YY :: IF CX<0 OR CX>24 THEN IF CX<0 THEN CX=24 ELSE CX=0 ELSE IF CY<0 OR CY>20 THEN IF CY<0 THEN CY=20 ELSE CY=0
36 CALL KEY(0,K,S):: IF K=32 THEN T=(CY/4)+((CX/8)*6) :: IF NB(T)<79 THEN NB(T)=99::G=G+1::DISPLAY AT( PY(T),PX(T)) SIZE(3) :" BB" ELSE IF NB(T)<99 THEN NB(T)=0::  DISPLAY AT( PY(T),PX(T)) SIZE(3) :NB(T)
38 IF K=32 AND NB(T)=99 THEN CALL SOUND(100,110,0) :: S=S-1 ELSE IF K=32 AND NB(T)=0 THEN CALL SOUND(100,800,0):: S=S+1
40 CALL HCHAR(INT(CY)+4,INT(CX)+7,65) ::  IF G=24 THEN CALL CLEAR :: PRINT "LOOSER ! BUY AN ATARI !!!  YOUR SCORE IS ":: PRINT S;" FORMATTED DISK"  :: END  ELSE 33



rocky007
rocky007
Interne
Interne

Masculin Nombre de messages : 8728
Age : 49
Date d'inscription : 29/01/2011

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par youki Mer 8 Déc 2021 - 12:48

Copper a écrit:J'ai toujours trouvé le langage BASIC frustrant sur l'Amstrad CPC (le seul 8 bits où je l'ai vraiment connu pendant 3 ans)... Certes ça permettait de coder des trucs rapidement en peu de ligne mais cette lenteur c'est vraiment épouvantable surtout avec des graphismes tout moches en 2 couleurs...

Tu n'a pas limité en 2 couleurs en BASIC sur CPC?.   Ca depend dans quel mode tu es et tu fais ce que tu veux.  Et en plus je trouve le BASIC du CPC plutot rapide.

Meme etant un afficionados du C64 , je reconnais que le programmer en BASIC sur CPC est plutot plaisant et le BASIC est tres efficace.
youki
youki
Docteur *
Docteur *

Masculin Nombre de messages : 12645
Age : 52
Date d'inscription : 01/08/2009

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par youki Mer 8 Déc 2021 - 12:53

rocky007 a écrit:bon je fais du zélé, mais l'idée de Mr Atari était chouette... j'espère que tu ne me réclameras pas des royalties...

AMIGA FORMAT  -  TI99 BASIC ETENDU

Synopsis  ( Basé sur des faits réels ) :

Vous vous êtes lancé dans un business de formatage de disquettes.  Pour cela, rien de tel que 24 Amiga.   Mais attention, il faut retirer la disquette avant le dépassement de 90 secteurs, sinon l'Amiga fait un GURU MEDITATION !

Certains Amiga sont plus lent  que d'autres, surement un compression en tâche de fond...il vous faudra être vigilent !

Contrôle : Joystick / spacebar pour changer la disquette.

PS : ça tenait en 8 lignes, je me suis permis un écran titre bonus :)





decro-045
decro-044

Code:


1 CALL CHAR(128,"5FDFDFDFDFDFC0FFFFE0E0E0E0E0E07FFAFBFBFBFBFB03FFFF07E7E7E7E707FE"):: CALL MAGNIFY(4):: CALL CLEAR:: CALL SCREEN(2):: FOR I=1 TO 10::CALL COLOR(I,8,2)::NEXT I
2 FOR I=1 to 28 :: CALL SPRITE(#I,128,INT(RND*13)+2,50,50,INT(RND*100)-100,INT(RND*100)-100):: NEXT I :: DISPLAY AT(11,9) : "AMIGA  FORMAT "::DISPLAY AT(12,10) : "PRESS ENTER"
10 ACCEPT AT(1,1):A$::CALL DELSPRITE(ALL) ::DIM NB(24),NP(24), PX(24),PY(24):: FOR X=0 TO 3 :: FOR Y=0 TO 5 :: PX(A)=1+(X*8) :: PY(A)=2+(Y*4) :: A=A+1 :: NEXT Y :: NEXT X :: I=-1
11 CALL CHAR(128,"3F40C0C0C0C0C0C0403F6AD5AAD57F00FC0203030303030302FCAA55AB55FE00")::CALL CHAR(65,"103070FFFF703010FFFFFFFFFFFFFFFF")::CALL CLEAR
30 FOR X=16 TO 246 STEP 64 :: FOR Y=4 TO 192 STEP 32 :: NB(S)=INT(RND*50)::  NP(S)=INT(RND*10)+1 ::S=S+1 ::  CALL SPRITE(#S,128,4,Y,X):: NEXT Y :: NEXT X:: CALL COLOR(5,7,2)
33 IF I=23 THEN I=0 ELSE I=I+1 ::IF NB(I)<>99 THEN IF NB(I)>90 THEN DISPLAY AT( PY(I),PX(I)) SIZE(4) :" BB":: NB(I)=99 :: G=G+1 ELSE DISPLAY AT( PY(I),PX(I)) SIZE(3) :NB(I)  :: NB(I)=NB(I)+NP(I)    
35 CALL HCHAR(CY+4,CX+7,32) :: CALL JOYST(1,XX,YY) :: CX=CX+XX*2::CY=CY-YY :: IF CX<0 OR CX>24 THEN IF CX<0 THEN CX=24 ELSE CX=0 ELSE IF CY<0 OR CY>20 THEN IF CY<0 THEN CY=20 ELSE CY=0
36 CALL KEY(0,K,S):: IF K=32 THEN T=(CY/4)+((CX/8)*6) :: IF NB(T)<79 THEN NB(T)=99::G=G+1::DISPLAY AT( PY(T),PX(T)) SIZE(3) :" BB" ELSE IF NB(T)<99 THEN NB(T)=0::  DISPLAY AT( PY(T),PX(T)) SIZE(3) :NB(T)
38 IF K=32 AND NB(T)=99 THEN CALL SOUND(100,110,0) :: S=S-1 ELSE IF K=32 AND NB(T)=0 THEN CALL SOUND(100,800,0):: S=S+1
40 CALL HCHAR(INT(CY)+4,INT(CX)+7,65) ::  IF G=24 THEN CALL CLEAR :: PRINT "LOOSER ! BUY AN ATARI !!!   YOUR SCORE IS ":: PRINT S;" FORMATTED DISK"  :: END  ELSE 33





Impressionnant !   Le Basic etendu du TI balaise!.     Il gere le deplacement des sprites sous interruption?
youki
youki
Docteur *
Docteur *

Masculin Nombre de messages : 12645
Age : 52
Date d'inscription : 01/08/2009

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par rocky007 Mer 8 Déc 2021 - 13:01

youki a écrit:
Impressionnant !   Le Basic etendu du TI balaise!.     Il gere le deplacement des sprites sous interruption?

oui, tu l’appelles simplement par CALL SPRITE ( numero du sprite, code char, couleur, pos x , pos y , vitesse x, vitesse y )

le problème est qu'avec la lenteur du BASIC, si tu veux détecter la collision de 2 sprites rapides sous interruption, il faut que ta boucle soit très rapide sinon tu risques de la louper.

rocky007
rocky007
Interne
Interne

Masculin Nombre de messages : 8728
Age : 49
Date d'inscription : 29/01/2011

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par Copper Mer 8 Déc 2021 - 13:06

drfloyd a écrit:
Les règles :

- N'importe quel ordinateur 8 bit (de préfèrence CPC, Spectrum, MSX, Thomson ou C64 pour tester plus facilement en réel ou sur ému)
- Itiliser le BASIC standard livré avec la machine
- 10 lignes maximum avec autant de caractères que chaque lignes puisse supporter
- PEEK et POKE autorisés (mais pas pour encoder une routine Assembleur bien sur)
Un thème en lien direct avec l'univers Gamopat ou le Doc LE 10LIGNOPAT 2021 - Page 6 Icon_mrgreen


Par contre c'est bien précisé qu'il faut Itiliser le BASIC standard livré avec la machine... Donc pas le BASIC étendu surtout s'il n'est pas livré avec la machine


Dernière édition par Copper le Mer 8 Déc 2021 - 13:09, édité 1 fois
Copper
Copper
Docteur *
Docteur *

Masculin Nombre de messages : 7401
Age : 47
Localisation : FRANCE
Date d'inscription : 02/11/2020

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par Jacques Atari Mer 8 Déc 2021 - 13:09

rocky007 a écrit:bon je fais du zélé, mais l'idée de Mr Atari était chouette... j'espère que tu ne me réclameras pas des royalties...
Nan t'inquiète. J'adore l'intro avec les disquettes. salut
Jacques Atari
Jacques Atari
Infirmier

Masculin Nombre de messages : 4833
Age : 51
Localisation : Chez moi
Date d'inscription : 31/08/2021

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par Copper Mer 8 Déc 2021 - 13:13

youki a écrit:Tu n'a pas limité en 2 couleurs en BASIC sur CPC?.   Ca depend dans quel mode tu es et tu fais ce que tu veux.  Et en plus je trouve le BASIC du CPC plutot rapide.

Meme etant un afficionados du C64 , je reconnais que le programmer en BASIC sur CPC est plutot plaisant et le BASIC est tres efficace.
Après si tu as une technique pour faire des sprites en 16 couleurs MODE 0 sous BASIC à la FRAME je suis preneur... Razz

Avec TAG on peut faire des choses plus colorées mais c'est bien trop lent par contre Razz


Dernière édition par Copper le Mer 8 Déc 2021 - 13:16, édité 1 fois
Copper
Copper
Docteur *
Docteur *

Masculin Nombre de messages : 7401
Age : 47
Localisation : FRANCE
Date d'inscription : 02/11/2020

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par Jacques Atari Mer 8 Déc 2021 - 13:15

Autre idée de jeu: un bonneteau. Parmi trois gobelets mélangés, le Doc doit choisir celui qui contient un jeu Atari car sous les deux autres, il y a Asterix de Microids...
Jacques Atari
Jacques Atari
Infirmier

Masculin Nombre de messages : 4833
Age : 51
Localisation : Chez moi
Date d'inscription : 31/08/2021

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par rocky007 Mer 8 Déc 2021 - 13:26

Copper a écrit:Par contre c'est bien précisé qu'il faut Itiliser le BASIC standard livré avec la machine... Donc pas le BASIC étendu surtout s'il n'est pas livré avec la machine


que ce soit compté pour le concours ou non, rien à foutre, je le fais juste par plaisir

bonne chance pour faire un jeu en 10 instructions sur TI BASIC SIMPLE.. parce que à part un jeu PILE ou FACE.. je vois pas trop.

cette règle est discriminatoire pour tous les BASIC qui n'acceptent pas les instructions multiples sur 1 ligne.
rocky007
rocky007
Interne
Interne

Masculin Nombre de messages : 8728
Age : 49
Date d'inscription : 29/01/2011

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par YannAros Mer 8 Déc 2021 - 13:31

La gestion de sprites par la machine ET son basic donne un gros avantage, surtout lorsqu'on est limité au basic et à 10 lignes.
YannAros
YannAros
Patient incurable

Masculin Nombre de messages : 1327
Age : 50
Localisation : Pas assez loin
Date d'inscription : 24/09/2020

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par freed Mer 8 Déc 2021 - 13:42

Il est sympa ce basic étendu du Ti !
freed
freed
Patient incurable

Autre / Ne pas divulguer Nombre de messages : 1596
Age : 102
Localisation : chezmoi
Date d'inscription : 03/02/2021

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par rocky007 Mer 8 Déc 2021 - 16:39

YannAros a écrit:La gestion de sprites par la machine ET son basic donne un gros avantage, surtout lorsqu'on est limité au basic et à 10 lignes.

je souligne que ces deux jeux peuvent fonctionner à l'identique sans sprites.
du reste le premier pourrait être bcp plus fun et fluide si j'avais optimisé pour les sprites..
rocky007
rocky007
Interne
Interne

Masculin Nombre de messages : 8728
Age : 49
Date d'inscription : 29/01/2011

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par drfloyd Mer 8 Déc 2021 - 19:25

rocky007 a écrit:
youki a écrit:
Impressionnant !   Le Basic etendu du TI balaise!.     Il gere le deplacement des sprites sous interruption?

oui, tu l’appelles simplement par CALL SPRITE ( numero du sprite, code char, couleur, pos x , pos y , vitesse x, vitesse y )

le problème est qu'avec la lenteur du BASIC, si tu veux détecter la collision de 2 sprites rapides sous interruption, il faut que ta boucle soit très rapide sinon tu risques de la louper.


Incroyable cette intro ! On se demande meme si l'Amiga pourrait faire aussi bien en basic !  Mr. Green


Oui le basic étendu du TI99 est surprenant, c'est le basic qui aurait du etre proposé avec la machine de base.
Vous allez me dire ce n'est pas le basic d'origine, mais bon pour le ti99, on peut considérer que si.

_______________________________________________________
LE 10LIGNOPAT 2021 - Page 6 Giphy10





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

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

http://www.gamopat.com

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par rocky007 Mer 8 Déc 2021 - 21:26

même dans Hebdogiciel, 99% des listings étaient Basic Etend.u. Cette cartouche était indispensable ( pour profiter des 32ko, des sprites, des appels assembleur, synthese vocale, etc..)
rocky007
rocky007
Interne
Interne

Masculin Nombre de messages : 8728
Age : 49
Date d'inscription : 29/01/2011

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par drfloyd Jeu 9 Déc 2021 - 8:08

99%, non disons la moitié. Quel basic de dingue... qui aurait etait intégré d'office dans le ti99-8

Il me semble meme qu'il etait plus rapide, meme avec les instruction de base, non ?

_______________________________________________________
LE 10LIGNOPAT 2021 - Page 6 Giphy10





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

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

http://www.gamopat.com

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par rocky007 Jeu 9 Déc 2021 - 11:46

drfloyd a écrit:99%, non disons la moitié. Quel basic de dingue... qui aurait etait intégré d'office dans le ti99-8

Il me semble meme qu'il etait plus rapide, meme avec les instruction de base, non ?

ah oui tu as raison , c'est vraiment les 30 derniers hebodgiciels qui ne sont que Basic Etendu. dans les autres c'estr 50/50.

sinon j'ai fait un petit test :

10 FOR I=1 TO 500
20 CALL CLEAR
30 A=I*2
40 NEXT I

Basic : 25,43 sec
Basic Etendu : 14,13 sec
rocky007
rocky007
Interne
Interne

Masculin Nombre de messages : 8728
Age : 49
Date d'inscription : 29/01/2011

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par Jacques Atari Jeu 9 Déc 2021 - 12:03

Tu devrais transformer l'intro en économiseur d'écran.
Jacques Atari
Jacques Atari
Infirmier

Masculin Nombre de messages : 4833
Age : 51
Localisation : Chez moi
Date d'inscription : 31/08/2021

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par drfloyd Jeu 9 Déc 2021 - 17:09

rocky007 a écrit:
drfloyd a écrit:99%, non disons la moitié. Quel basic de dingue... qui aurait etait intégré d'office dans le ti99-8

Il me semble meme qu'il etait plus rapide, meme avec les instruction de base, non ?

ah oui tu as raison , c'est vraiment les 30 derniers hebodgiciels qui ne sont que Basic Etendu. dans les autres c'estr 50/50.

sinon j'ai fait un petit test :

10 FOR I=1 TO 500
20 CALL CLEAR
30 A=I*2
40 NEXT I

Basic : 25,43 sec
Basic Etendu : 14,13 sec

Ah oui quand même !

C'est un autre monde entre les nouvelles fonctions et la vitesse

_______________________________________________________
LE 10LIGNOPAT 2021 - Page 6 Giphy10





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

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

http://www.gamopat.com

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par rocky007 Mar 14 Déc 2021 - 3:06

encore un jeu TI99...j'ai redécouvert ce EXTENDED BASIC sous un nouvel angle. Malgré la contrainte de sa lenteur, il y a néanmoins moyen de faire des jeux réactifs et relativement rapides. Le "moteur" du jeu tient en 3 lignes !

Pour fêter la fin de la F1, j'offre GRATUITEMENT un DLC ( sous forme d'une 11eme ligne ) qui ajoute la voiture de Verstrappen + 10 niveaux de difficulté supplémentaires

La vidéo est en mode flicker , la version 11 lignes.




La version 10 lignes

Code:

10 A$="D2FE9EFBFFBF5B4FF":: B$="66283A7E7E3A2866"&RPT$("0",48) ::  CALL MAGNIFY(4) ::CALL CLEAR::CALL COLOR(4,13,3,2,5,6,12,16,15) :: L=3:: X=16:: Y=1
20 D$=RPT$("3F",5)&RPT$("7F",3)::E$=RPT$("FE",4)&RPT$("FC",4) :: CALL SCREEN(15) ::CALL VCHAR(1,32,132,L):: CALL CHAR(63,A$,132,B$,128,D$&D$&E$&E$)::S=15
30 FOR I=2 TO 25:: DISPLAY AT(I-1,1) :RPT$(".",12)&"??"&RPT$("  | ",3)&"??":: IF I<14 THEN CALL SPRITE(#I,128,11,1,1) ELSE IF I<23 THEN CALL SPRITE(#I,132,INT(I-12),1,1,S/2,0)
40 CALL LOCATE(#I,Y,X) :: Y=Y+64:: IF X<128 AND Y<>97 AND Y<>193 THEN Y=Y-32 ELSE IF Y=193 THEN Y=1:: X=X+32:: IF X=112 THEN X=X+17
50 NEXT I:: FOR I=2 TO 13 STEP 8:: CALL MOTION(#I+1,S,0,#I,S,0,#I+3,S,0,#I+2,S,0)::NEXT I:: CALL MOTION(#17,-S,0,#18,-S,0,#19,-S,0,#6,-S,0,#7,-S,0)
60 SC=SC+PT::PT=100::CALL MOTION(#8,-S,0,#9,-S,0):: XX=1::YY=1::CALL SPRITE(#1,132,2,XX,YY) :: D=0:: IF L=0 THEN PRINT "BYE, YOUR SCORE:";SC ::END
70 IF JX<>0 OR JY<>0 THEN CALL POSITION(#1,YY,XX) ::XX=XX+(JX*4) :: YY=YY-(JY*4) :: IF XX>0 AND YY<192 AND YY>0 THEN CALL LOCATE(#1,YY,XX)::CALL SOUND(1,910,0) :: IF XX=225 THEN D=2
80 CALL COINC(ALL,A)  :: PT=PT-1 :: IF A=0 AND (XX=113 OR XX=1) THEN CALL MOTION(#1,0,0) ELSE IF (A=0 AND XX<113) THEN D=D+1
90 P=INT((XX-8)/32)+1 :: IF A=-1 AND P>3 THEN D=D+1 ELSE IF A=-1 AND P>0 AND P<4 THEN IF P=2 THEN MY=-S :: CALL MOTION(#1,MY,0)ELSE MY=S :: CALL MOTION(#1,MY,0)
100 CALL JOYST(1,JX,JY) :: IF D=0 THEN 70 ELSE IF D>0 AND D<3 THEN CALL HCHAR(L,32,32)::L=L-1::CALL SOUND(10,110,0)::GOTO 60 ELSE CALL SOUND(10,2000,0)::GOTO 60


La version avec DLC 11 lignes

Code:

10 A$="D2FE9EFBFFBF5B4FF":: B$="66283A7E7E3A2866"&RPT$("0",48) ::  CALL MAGNIFY(4) ::CALL CLEAR::CALL COLOR(4,13,3,2,5,6,12,16,15) :: L=3:: X=16:: Y=1
11 D$=RPT$("3F",5)&RPT$("7F",3)::E$=RPT$("FE",4)&RPT$("FC",4) :: CALL SCREEN(15) ::CALL VCHAR(1,32,132,L+1)::INPUT "LEVEL ( 1 - 10 ) ":T::S=15+T
12 F$="0061637E6467070707070767647E63610086C67E26E6E0E0E0E0E0E6267EC686" ::  CALL CHAR(63,A$,132,B$,128,D$&D$&E$&E$,112,F$)
20 FOR I=2 TO 25:: DISPLAY AT(I-1,1) :RPT$(".",12)&"??"&RPT$("  | ",3)&"??":: IF I<14 THEN CALL SPRITE(#I,128,11,1,1) ELSE IF I<23 THEN CALL SPRITE(#I,112,INT(I-12),1,1,S/2,0)
21 CALL LOCATE(#I,Y,X) :: Y=Y+64:: IF X<128 AND Y<>97 AND Y<>193 THEN Y=Y-32 ELSE IF Y=193 THEN Y=1:: X=X+32:: IF X=112 THEN X=X+17
22 NEXT I:: FOR I=2 TO 13 STEP 8:: CALL MOTION(#I+1,S,0,#I,S,0,#I+3,S,0,#I+2,S,0)::NEXT I:: CALL MOTION(#17,-S,0,#18,-S,0,#19,-S,0,#6,-S,0,#7,-S,0)
23 SC=SC+PT::PT=100::CALL MOTION(#8,-S,0,#9,-S,0):: XX=1::YY=1::CALL SPRITE(#1,132,2,XX,YY) :: D=0:: IF L=0 THEN PRINT "BYE, YOUR SCORE:";SC ::END
81 IF JX<>0 OR JY<>0 THEN CALL POSITION(#1,YY,XX) ::XX=XX+(JX*4) :: YY=YY-(JY*4) :: IF XX>0 AND YY<192 AND YY>0 THEN CALL LOCATE(#1,YY,XX)::CALL SOUND(1,910,0) :: IF XX=225 THEN D=2
84 CALL COINC(ALL,A)  :: PT=PT-1 :: IF A=0 AND (XX=113 OR XX=1) THEN CALL MOTION(#1,0,0) ELSE IF (A=0 AND XX<113) THEN D=D+1
85 P=INT((XX-8)/32)+1 :: IF A=-1 AND P>3 THEN D=D+1 ELSE IF A=-1 AND P>0 AND P<4 THEN IF P=2 THEN MY=-S :: CALL MOTION(#1,MY,0)ELSE MY=S :: CALL MOTION(#1,MY,0)
90 CALL JOYST(1,JX,JY) :: IF D=0 THEN 81 ELSE IF D>0 AND D<3 THEN CALL HCHAR(L,32,32)::L=L-1::CALL SOUND(10,110,0)::GOTO 23 ELSE CALL SOUND(10,2000,0)::GOTO 23

rocky007
rocky007
Interne
Interne

Masculin Nombre de messages : 8728
Age : 49
Date d'inscription : 29/01/2011

drfloyd offre 1 suppo à ce post!

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par drfloyd Mar 14 Déc 2021 - 8:13

Incroyable, c'est selon moi le meilleur jeu proposé jusqu'à présent, un vrai jeu complet. Et cette illusion de scrolling dans le fond, c'est énorme !!!!!!!!!! Ce basic est fou, finalement le pire basic du monde, en mode étendu, devient le plus puissant de l'époque.

Tu le trouve encore lent malgré tout ?

par contre il faut un titre original + scénario lié à Gamopat et au Doc... faut fonctionner ton imagination  Mr. Green Et là je pourrais le prendre en compte.

On va faire un classement par ordi, car il y a des déséquilibres entre ti99étendu/C64 et le reste.

_______________________________________________________
LE 10LIGNOPAT 2021 - Page 6 Giphy10





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

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

http://www.gamopat.com

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par drfloyd Mar 14 Déc 2021 - 8:16

Je propose : FROGOPAT
Le Doc a été transformé en grenouille par les rebelles pro-Amiga de l'hosto et viré de son établissement de l'autre coté de la route. Au Doc de prendre des risques pour retourner à l'hosto s'injecter un vaccin pour retrouver sa forme normale.

_______________________________________________________
LE 10LIGNOPAT 2021 - Page 6 Giphy10





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

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

http://www.gamopat.com

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par youki Mar 14 Déc 2021 - 8:49

rocky007 a écrit:encore un jeu TI99...j'ai redécouvert ce EXTENDED BASIC sous un nouvel angle. Malgré la contrainte de sa lenteur, il y a néanmoins moyen de faire des jeux réactifs et relativement rapides.  Le "moteur" du jeu tient en 3 lignes !

Pour fêter la fin de la F1, j'offre GRATUITEMENT un DLC (  sous forme d'une 11eme ligne ) qui ajoute la voiture de Verstrappen + 10 niveaux de difficulté supplémentaires

La vidéo est en mode flicker , la version 11 lignes.




La version 10 lignes

Code:

10 A$="D2FE9EFBFFBF5B4FF":: B$="66283A7E7E3A2866"&RPT$("0",48) ::  CALL MAGNIFY(4) ::CALL CLEAR::CALL COLOR(4,13,3,2,5,6,12,16,15) :: L=3:: X=16:: Y=1
20 D$=RPT$("3F",5)&RPT$("7F",3)::E$=RPT$("FE",4)&RPT$("FC",4) :: CALL SCREEN(15) ::CALL VCHAR(1,32,132,L):: CALL CHAR(63,A$,132,B$,128,D$&D$&E$&E$)::S=15
30 FOR I=2 TO 25:: DISPLAY AT(I-1,1) :RPT$(".",12)&"??"&RPT$("  | ",3)&"??":: IF I<14 THEN CALL SPRITE(#I,128,11,1,1) ELSE IF I<23 THEN CALL SPRITE(#I,132,INT(I-12),1,1,S/2,0)
40 CALL LOCATE(#I,Y,X) :: Y=Y+64:: IF X<128 AND Y<>97 AND Y<>193 THEN Y=Y-32 ELSE IF Y=193 THEN Y=1:: X=X+32:: IF X=112 THEN X=X+17
50 NEXT I:: FOR I=2 TO 13 STEP 8:: CALL MOTION(#I+1,S,0,#I,S,0,#I+3,S,0,#I+2,S,0)::NEXT I:: CALL MOTION(#17,-S,0,#18,-S,0,#19,-S,0,#6,-S,0,#7,-S,0)
60 SC=SC+PT::PT=100::CALL MOTION(#8,-S,0,#9,-S,0):: XX=1::YY=1::CALL SPRITE(#1,132,2,XX,YY) :: D=0:: IF L=0 THEN PRINT "BYE, YOUR SCORE:";SC ::END
70 IF JX<>0 OR JY<>0 THEN CALL POSITION(#1,YY,XX) ::XX=XX+(JX*4) :: YY=YY-(JY*4) :: IF XX>0 AND YY<192 AND YY>0 THEN CALL LOCATE(#1,YY,XX)::CALL SOUND(1,910,0) :: IF XX=225 THEN D=2
80 CALL COINC(ALL,A)  :: PT=PT-1 :: IF A=0 AND (XX=113 OR XX=1) THEN CALL MOTION(#1,0,0) ELSE IF (A=0 AND XX<113) THEN D=D+1
90 P=INT((XX-8)/32)+1 :: IF A=-1 AND P>3 THEN D=D+1 ELSE IF A=-1 AND P>0 AND P<4 THEN IF P=2 THEN MY=-S :: CALL MOTION(#1,MY,0)ELSE MY=S :: CALL MOTION(#1,MY,0)
100 CALL JOYST(1,JX,JY) :: IF D=0 THEN 70 ELSE IF D>0 AND D<3 THEN CALL HCHAR(L,32,32)::L=L-1::CALL SOUND(10,110,0)::GOTO 60 ELSE CALL SOUND(10,2000,0)::GOTO 60


La version avec DLC 11 lignes

Code:

10 A$="D2FE9EFBFFBF5B4FF":: B$="66283A7E7E3A2866"&RPT$("0",48) ::  CALL MAGNIFY(4) ::CALL CLEAR::CALL COLOR(4,13,3,2,5,6,12,16,15) :: L=3:: X=16:: Y=1
11 D$=RPT$("3F",5)&RPT$("7F",3)::E$=RPT$("FE",4)&RPT$("FC",4) :: CALL SCREEN(15) ::CALL VCHAR(1,32,132,L+1)::INPUT "LEVEL ( 1 - 10 ) ":T::S=15+T
12 F$="0061637E6467070707070767647E63610086C67E26E6E0E0E0E0E0E6267EC686" ::  CALL CHAR(63,A$,132,B$,128,D$&D$&E$&E$,112,F$)
20 FOR I=2 TO 25:: DISPLAY AT(I-1,1) :RPT$(".",12)&"??"&RPT$("  | ",3)&"??":: IF I<14 THEN CALL SPRITE(#I,128,11,1,1) ELSE IF I<23 THEN CALL SPRITE(#I,112,INT(I-12),1,1,S/2,0)
21 CALL LOCATE(#I,Y,X) :: Y=Y+64:: IF X<128 AND Y<>97 AND Y<>193 THEN Y=Y-32 ELSE IF Y=193 THEN Y=1:: X=X+32:: IF X=112 THEN X=X+17
22 NEXT I:: FOR I=2 TO 13 STEP 8:: CALL MOTION(#I+1,S,0,#I,S,0,#I+3,S,0,#I+2,S,0)::NEXT I:: CALL MOTION(#17,-S,0,#18,-S,0,#19,-S,0,#6,-S,0,#7,-S,0)
23 SC=SC+PT::PT=100::CALL MOTION(#8,-S,0,#9,-S,0):: XX=1::YY=1::CALL SPRITE(#1,132,2,XX,YY) :: D=0:: IF L=0 THEN PRINT "BYE, YOUR SCORE:";SC ::END
81 IF JX<>0 OR JY<>0 THEN CALL POSITION(#1,YY,XX) ::XX=XX+(JX*4) :: YY=YY-(JY*4) :: IF XX>0 AND YY<192 AND YY>0 THEN CALL LOCATE(#1,YY,XX)::CALL SOUND(1,910,0) :: IF XX=225 THEN D=2
84 CALL COINC(ALL,A)  :: PT=PT-1 :: IF A=0 AND (XX=113 OR XX=1) THEN CALL MOTION(#1,0,0) ELSE IF (A=0 AND XX<113) THEN D=D+1
85 P=INT((XX-8)/32)+1 :: IF A=-1 AND P>3 THEN D=D+1 ELSE IF A=-1 AND P>0 AND P<4 THEN IF P=2 THEN MY=-S :: CALL MOTION(#1,MY,0)ELSE MY=S :: CALL MOTION(#1,MY,0)
90 CALL JOYST(1,JX,JY) :: IF D=0 THEN 81 ELSE IF D>0 AND D<3 THEN CALL HCHAR(L,32,32)::L=L-1::CALL SOUND(10,110,0)::GOTO 23 ELSE CALL SOUND(10,2000,0)::GOTO 23


Vraiment cool!!!  .. par contre le PB , c'est que je suis en train de faire quasiment la meme chose sur une autre machine Sad  .
youki
youki
Docteur *
Docteur *

Masculin Nombre de messages : 12645
Age : 52
Date d'inscription : 01/08/2009

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par Anarwax Mar 14 Déc 2021 - 8:55

drfloyd a écrit:Je propose : FROGOPAT
Le Doc a été transformé en grenouille par les rebelles pro-Amiga de l'hosto et viré de son établissement de l'autre coté de la route. Au Doc de prendre des risques pour retourner à l'hosto s'injecter un vaccin pour retrouver sa forme normale.

ah oui pas mal ça Doc (t'as fumé ou tu as une imagination débordante ?)

en tout cas superbe réalisation !!! un frogger sympa !!
Anarwax
Anarwax
Docteur *
Docteur *

Masculin Nombre de messages : 18114
Age : 47
Localisation : Bretagne
Date d'inscription : 06/09/2012

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par youki Mar 14 Déc 2021 - 8:55

drfloyd a écrit:Je propose : FROGOPAT
Le Doc a été transformé en grenouille par les rebelles pro-Amiga de l'hosto et viré de son établissement de l'autre coté de la route. Au Doc de prendre des risques pour retourner à l'hosto s'injecter un vaccin pour retrouver sa forme normale.

Ca va, donne lui la solution au concours aussi...  tu n'as que le designer vainqueur direct!...  file lui son Amiga 600 directement.

Non seulement,  on modifie la regle pour lui par ce que Monsieur veut coder sur la machine préférée du Doc , alors monsieur a le droit de coder en Basic Etendu...

Et en plus quand il ne donne pas de scenario , c'est le Doc qui lui meme qui lui fournit!!   Evil or Very Mad Evil or Very Mad Evil or Very Mad Evil or Very Mad Evil or Very Mad Evil or Very Mad Evil or Very Mad Evil or Very Mad Evil or Very Mad

tiens faudrait faire une smiley comme ca lui ci , mais a la place de la console du met la tete du Doc... A MORT LES CONSOLES A MORT LES CONSOLES A MORT LES CONSOLES A MORT LES CONSOLES


MDR MDR MDR
youki
youki
Docteur *
Docteur *

Masculin Nombre de messages : 12645
Age : 52
Date d'inscription : 01/08/2009

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par Xorion Mar 14 Déc 2021 - 9:55

Incroyable ce Frogger en 11 lignes !
Mais les sprites c'est des sprites prédéfinis ?

Je viens de pécho un Ti99a4, pour le basic étendu, faut une cartouche ?
Xorion
Xorion
Infirmier

Masculin Nombre de messages : 3703
Age : 52
Localisation : Grand Est
Date d'inscription : 25/03/2021

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par drfloyd Mar 14 Déc 2021 - 9:59

Mr. Green C'est un concours par machine, d'autant que sur Ti Rocky utilise le basic étendu. Donc pas de soucis.

Si il y a une finale toutes machines confondues, je ne prendrai en compte sur Ti qu'un jeu en basic simple (et la le Ti n'a aucune chance LOL)

Désolé d'avec donné un coup de pouce scénaristique, mais c'est un talent naturel chez moi, Nolan aurait faire appel à moi pour corriger les erreurs de Interstellar d'ailleurs.

_______________________________________________________
LE 10LIGNOPAT 2021 - Page 6 Giphy10





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

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

http://www.gamopat.com

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par drfloyd Mar 14 Déc 2021 - 10:02

Irata64 a écrit:Incroyable ce Frogger en 11 lignes !
Mais les sprites c'est des sprites prédéfinis ?

Je viens de pécho un Ti99a4, pour le basic étendu, faut une cartouche ?


Ils les definit en 8x8 et les grossit avec CALL MAGNIFY, ca donne un truc tres tres surprenant !!!!! Un peu à la facon Intellivision. Il y a des jeux du commerce de 1980 sur Ti99 qui sont a peine aussi bien que le Frogger de Rocky en 10 lignes de basic !!!!!

Oui il te faut la géniale cartouche BASIC ETENDU... en basic SIMPLE n'essaye meme pas, c'est le basic le plus lent du monde (meme un ZX81 le défonce), avec tres peu de commandes.

_______________________________________________________
LE 10LIGNOPAT 2021 - Page 6 Giphy10





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

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

http://www.gamopat.com

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par rocky007 Mar 14 Déc 2021 - 11:19

merci à tous pour vos retours :)

drfloyd a écrit:Tu le trouve encore lent malgré tout ?

par contre il faut un titre original + scénario lié à Gamopat et au Doc... faut fonctionner ton imagination  Mr. Green Et là je pourrais le prendre en compte.

On va faire un classement par ordi, car il y a des déséquilibres entre ti99étendu/C64 et le reste.

haha merci pour le scenario c'est parfait. Sinon oui le BASIC est vraiment très lent. Lent à quel point, je ne sais pas, je n'ai que très peu codé sur d'autres BASIC donc je n'ai pas vraiment de point de comparaison. La seule chose qui sauve ce BASIC, ce sont les routines systèmes complexes et puissantes : sprites sous interruption, détection collisions, etc... ensuite, il faut articuler le jeu en fonction de cela et c'est là que cela se complique : le BASIC n'est pas assez rapide pour faire de nombreux tests de collisions ou bien de nombreux changements de direction de sprites, donc faut vraiment un jeu qui s'y prête. Dans le cas d'un frogger c'est parfait , puisque la boucle ne fais que tester le joystick, le déplacement de FROGGER et sa collision VS les autres. le moteur du jeu tient en 3 lignes seulement, ce qui le rend rapide et jouable.
Si j'avais eu 2 lignes de plus, j'aurais pu même y ajouter des samples :)

mais honnêtement, sans un émulateur ce jeu aurait pris des semaines à coder sur un vrai TI99 tellement j'ai dû faire des tests pour ajuster les paramètres.
par exemple, on ne peut pas compter sur un nombre de cycle stable:

10 CALL MOTION ( #1,10,0 ) :: CALL MOTION(#1,0,0)

cette ligne va donner une vitesse de 10 au sprite #1, puis immédiatement l'arrêter. Le temps que le seconde instruction s’exécute, le sprite va se déplacer de qq pixels. Malheureusement, ce sera parfois 3 pixels, parfois 4

autre truc qui m'a rendu fou :

10 CALL SPRITE ( #1, 128, 2, 1, 1 , 0 , 50, #1, 128, 2, 1, 33 , 0 , 50 )

cette ligne va aligner horizontalement 2 sprites avec une vitesse de 50 vers la droite.
jusque là, tout est ok...sauf que si on test la collision, ils se touchent car le le temps que le 2nd sprites soit définit, le premier a déjà avancé car le BASIC est mal codé.
il faut donc pouvoir compenser cela, soit en décalant la position du second sprites en fonction de la vitesse, soit définir en 1er celui qui est le plus à droite et qui partira donc en 1er. et comme expliqué ci dessus, vu que le nbr de cycle d'exécution n'est pas stable, ils n'est pas possible d'avoir un résultat parfait. c'est pourquoi les troncs dans frogger ne sont pas parfaitement collé, c'est juste impossible à faire. alors imaginez un jeu où les sprites peuvent changer de vitesse, de direction..c'est juste l'enfer rapidement.

mais à part cela, je trouve ce BASIC extraordinaire, tout est vraiment prévu pour expérimenter facilement tout ce que l'on veut, il y a tellement d'instructions, c'est dingue.

Simple exemple, en BASIC, on a le simple INPUT. Mais ici, en plus, on a le ACCEPT, dont les paramètres possibles sont : la position X,Y, le nombre de caractères maxi, le caractères acceptés, etc..:

ACCEPT AT (5,7) SIZE (1) BEEP VALIDATE(DIGIT,"YN") ERASE ALL : X$

Cette instruction va attendre l'entrée d'un seul caractère, chiffre ou bien Y/ N, à la position 5,7, avec un beep et en effaçant l'écran. imaginez combien de ligne pour faire cela sur un BASIC normal.

je trouve encore aujourd'hui que c'est vraiment un chouette "jouet" pour initier un enfant à la logique de programmation.





Dernière édition par rocky007 le Mar 14 Déc 2021 - 11:35, édité 6 fois
rocky007
rocky007
Interne
Interne

Masculin Nombre de messages : 8728
Age : 49
Date d'inscription : 29/01/2011

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par rocky007 Mar 14 Déc 2021 - 11:24

youki a écrit:Ca va, donne lui la solution au concours aussi...  tu n'as que le designer vainqueur direct!...  file lui son Amiga 600 directement.

hahahaha...dans un concours, ce n'est pas que la performance mais aussi le psychologique, la corruption passive.
en choisissant le TI, j'avais déjà le doc dans la poche c'est sûr MDR
par contre, si c'est pour gagner un Amiga 600, je déclare immédiatement forfait

youki a écrit:Vraiment cool!!! .. par contre le PB , c'est que je suis en train de faire quasiment la meme chose sur une autre machine Sad .

on peut s'arranger pour te céder une license.. MDR
rocky007
rocky007
Interne
Interne

Masculin Nombre de messages : 8728
Age : 49
Date d'inscription : 29/01/2011

Revenir en haut Aller en bas

LE 10LIGNOPAT 2021 - Page 6 Empty Re: LE 10LIGNOPAT 2021

Message par drfloyd Mar 14 Déc 2021 - 11:53

rocky007 a écrit:merci à tous pour vos retours :)

drfloyd a écrit:Tu le trouve encore lent malgré tout ?

par contre il faut un titre original + scénario lié à Gamopat et au Doc... faut fonctionner ton imagination  Mr. Green Et là je pourrais le prendre en compte.

On va faire un classement par ordi, car il y a des déséquilibres entre ti99étendu/C64 et le reste.

haha merci pour le scenario c'est parfait.  Sinon oui le BASIC est vraiment très lent.  Lent à quel point, je ne sais pas, je n'ai que très peu codé sur d'autres BASIC donc je n'ai pas vraiment de point de comparaison.  La seule chose qui sauve ce BASIC, ce sont les routines systèmes complexes et puissantes : sprites sous interruption, détection collisions, etc... ensuite, il faut articuler le jeu en fonction de cela et c'est là que cela se complique : le BASIC n'est pas assez rapide pour faire de nombreux tests de collisions ou bien de nombreux changements de direction de sprites, donc faut vraiment un jeu qui s'y prête.  Dans le cas d'un frogger c'est parfait , puisque la boucle ne fais que tester le joystick, le déplacement de FROGGER et sa collision VS les autres.  le moteur du jeu tient en 3 lignes seulement, ce qui le rend rapide et jouable.
Si j'avais eu 2 lignes de plus, j'aurais pu même y ajouter des samples :)

mais honnêtement, sans un émulateur ce jeu aurait pris des semaines à coder sur un vrai TI99 tellement j'ai dû faire des tests pour ajuster les paramètres.
par exemple, on ne peut pas compter sur un nombre de cycle stable:

10 CALL MOTION ( #1,10,0 ) :: CALL MOTION(#1,0,0)

cette ligne va donner une vitesse de 10 au sprite #1, puis immédiatement l'arrêter.  Le temps que le seconde instruction s’exécute, le sprite va se déplacer de qq pixels.  Malheureusement, ce sera parfois 3 pixels, parfois 4

autre truc qui m'a rendu fou :

10 CALL SPRITE ( #1, 128, 2, 1, 1 , 0 , 50, #1, 128, 2, 1, 33 , 0 , 50 )

cette ligne va aligner horizontalement  2 sprites avec une vitesse de 50 vers la droite.
jusque là, tout est ok...sauf que si on test la collision, ils se touchent car le le temps que le 2nd sprites soit définit, le premier a déjà avancé car le BASIC est mal codé.
il faut donc pouvoir compenser cela, soit en décalant la position du second sprites en fonction de la vitesse, soit définir en 1er celui qui est le plus à droite et qui partira donc en 1er.  et comme expliqué ci dessus, vu que le nbr de cycle d'exécution n'est pas stable, ils n'est pas possible d'avoir un résultat parfait.  c'est pourquoi les troncs dans frogger ne sont pas parfaitement collé, c'est juste impossible à faire.  alors imaginez un jeu où les sprites peuvent changer de vitesse, de direction..c'est juste l'enfer rapidement.

mais à part cela, je trouve ce BASIC extraordinaire, tout est vraiment prévu pour expérimenter facilement tout ce que l'on veut, il  y a tellement d'instructions, c'est dingue.

Simple exemple, en BASIC, on a le simple INPUT.  Mais ici, en plus, on a le ACCEPT, dont les paramètres possibles sont : la position X,Y, le nombre de caractères maxi, le caractères acceptés, etc..:

ACCEPT AT (5,7) SIZE (1) BEEP VALIDATE(DIGIT,"YN") ERASE ALL : X$  

Cette instruction va attendre l'entrée d'un seul caractère, chiffre ou bien Y/ N, à la position 5,7, avec un beep et en effaçant l'écran. imaginez combien de ligne pour faire cela sur un BASIC normal.

je trouve encore aujourd'hui que c'est vraiment un chouette "jouet" pour initier un enfant à la logique de programmation.





Lent alors qu'il tourne au moins 2x plus vite que l'original...  sur un ordi 16bit :) TI a vraiment déconné. Cependant ce basic étendu est malgré tout peut etre le langage le plus efficace de l'époque pour dév un jeu sans assembleur pour hebdogiciel, par exemple.

Sinon oui coder sous émulateur fait gagne run temps fou, je m'en compte en GFA.

Oui c'est dommage qu'on propose aux enfants aujourd'hui des conneries genre Scratch où tu n'apprend rien... C'est ca ou passer direct aux nullissimes Java ou Phyton... trop compliqués pour eux.

_______________________________________________________
LE 10LIGNOPAT 2021 - Page 6 Giphy10





drfloyd
drfloyd
DOYEN ET PROFESSEUR FOU DE L'HOPITAL

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

http://www.gamopat.com

Revenir en haut Aller en bas

Page 6 sur 34 Précédent  1 ... 5, 6, 7 ... 20 ... 34  Suivant

Revenir en haut

- Sujets similaires

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