Cerca articoli...
Mini gallery
  • Eventi/brusaporto 2013
  • Meetings/2010-francomputer
  • Hardware/bounce`n`pounce Package
  • Eventi/brusaporto 2014
  • Eventi/viretro2014
  • Eventi/brusaporto 2014
  • Eventi/titreff2011
  • Hardware/flashrom99
  • Eventi/brusaporto 2014
  • Eventi/brusaporto 2010
Articoli piu' letti
Storico articoli
Mailing list
Nome
Email
Iscrizione
Cancellazione
YouTube Channel
Facebook
Sprite Routine per Extended BASIC - le Coincidenze

Sprite Routine per Extended BASIC - le Coincidenze


Tutti i possessori del modulo TI EXTENDED BASIC avranno notato che parecchie pagine del manuale di istruzioni sono dedicate agli SPRITES ma, ciò nonostante, la tecnica di manipolazione di queste figure non è molto chiara. Ezio Montini, ci spiega una tecnica di programmazione molto utile per gestire le coincidenze tra Sprites (pubblicata sulla rivista italiana TI99Newsoft a settembre del 1984).

Gli SPRITES sono in grado di svolgere determinate funzioni di movimento e animazione senza interferire minimamente con l'esecuzione di un programma, tuttavia si possono controllare per mezzo di apposite istruzioni BASIC.
Ad esempio:

  • CALL PATTERN - ne modifica la forma;
  • CALL MAGNIFY - la dimensione;
  • CALL MOTION - la velocità;
  • CALL LOCATE - la posizione;
  • CALL POSITION - controlla la posizione;
  • CALL COINC - controlla la posizione tra due o più figure;
  • CALL DISTANCE - per la distanza tra uno SPRITE e un punto del video, oppure tra due figure.

Molte tecniche sono state ideate, una di queste consiste nel riempire il programma BASIC dell'istruzione CALL COINC.
Questa tecnica comporta un grosso appesantimento del programma, riducendone la velocità di esecuzione.

Questo che invece si andrà a vedere, è un metodo diverso (se volete, più sofisticato) che vi permetterà di simulare tale istruzione.
Esso si basa su cicli temporizzatori ottenuti utilizzando le CALL SOUND.

100 CALL CLEAR :: CALL SCREEN(2) :: CALL CHAR(46,"0000001818") :: CALL SPRITE(#2,94,16,180,1,0,5)
110 FOR N=0 TO 25 :: RANDOMIZE :: CALL PEEK(-31808,Y,X) :: CALL SPRITE(#3,65+N,16,Y/2+1,X+1) :: CALL SOUND(-60,660,8)
120 CALL POSITION(#3,Y,X,#2,R,C) :: CALL SPRITE(#1,46,16,R,C,(Y-R)*.49,(X-C)*.49) :: CALL SOUND(476,-3,14)
130 CALL SOUND(120,110,6) :: CALL DELSPRITE(#1) :: CALL PATTERN(#3,35) :: CALL SOUND(100,220,6) :: NEXT N :: GOTO 110

Questo piccolo programmino di esempio, riesce a dimostrare perfettamente l'efficienza del nostro sistema di simulazione.
Iniziamo col dire che la CALL PEEK eseguita alla riga numero 110 serve per ottenere dei numeri casuali, essa è stata utilizzata solamente per comodità di programmazione.

Tutto il programma è basato sulle CALL SOUND delle righe 120 e 130, modificando la durata delle note, si otterrà un anticipo o un ritardo nella coincidenza, con appropriati valori questa routine può essere adattata a qualunque programma.
L'esempio riportato, vuole fornire anche un utile algoritmo di ricerca basato sulla formula:

(punto di partenza meno punto di arrivo) *.49

otterrete come risultato una determinata velocità di riga e di colonna che consentirà allo SPRITE di colpirvi inesorabilmente.

La riga 100 oltre che definire il colore dello schermo, genera uno SPRITE ASCII (94) che scorrerà nella parte bassa dello schermo con velocità orizzontale di 5.

Le righe successive a quella si occuperanno di far apparire, e in seguito colpire, dei bersagli messi casualmente sul video.

Animazione GIF dimostrativa

Presente nella sezione download, trovate il file .ZIP con i files sia della versione per cassetta che per Floppy Disk. Nel listato originale c'erano dei Bug che sono stati risolti.

Questo software è stato pubblicato sulla rivista Italiana TI99Newsoft

 

 

TI99NewSoft numero 1 - Settembre 1984

 

 

Codice Newsoft_N1_Dev1
Dettagli Joystick Manuale Digitale
Lingua Italian Anno 1984
Tipo Development
Categoria Software
Livello rarità C (Common Everyone has it; most people have several duplicates)
Costruttore Ezio Montini
Commenti questo esempio era stato pubblicato sulla rivista italiana TI99NewSoft
Formato Cassette Tape / Floppy Disk
Linguaggio sviluppo Extended BASIC
Sviluppatore Ezio Montini
Distributore o Editore Newsoft snc
Sistema TI-99/4 - TI-99/4A
Voto UTENTI star ratingstar ratingstar ratingstar ratingstar rating (n/d) VOTO TI99IUC star ratingstar ratingstar ratingstar ratingstar rating (0.00)
Valutazione
Valore acquisto 0.00 Valore odierno 0.00
Galleria aste n/d
Note
Sfoglia on-line
Download   (Ita)-(DevDemo)-(Sprite alternate Coinc Routine)-(1984)-(XB)-(by Ezio Montini)-(from TI99NewSoft).zip (7.47 KBytes)
Siti approfondimento n/d
Articoli correlati Slalom Gigante - (by Ezio Montini)
Close Encounters of the Simon Kind - (by G. Mineo)
Galaxy II - (by M. Squintani)
Star-Corps Getaway


Google Translate

Don't understand Italian? Choose your language!

Materiale TI99?

Vuoi aiutarmi preservare la storia del TI-99 ?

Se possiedi Materiale Italiano e non che riguarda il TI-99 e che vorresti condividere nella nostra Community... contattami e potermo inserirlo nel nostro Database Globale

Donazione

Se desideri sostenere questo sito puoi inviare una donazione.

Hot Links

TI-99 RELEATED

RETROCOMPUTING altro...

Copyright © 2009-2024 by TI99 I.U.C. - Tutti i diritti riservati - All rights reserved - Loghi e marchi sono di proprieta' dei rispettivi proprietari.
E' vietata la riproduzione integrale o parziale di contenuti o documenti previa autorizzazione.
Copyright   |    Privacy