[zxspectrum] Re: R: Re: R: Re: R: Re: Un Ritorno nei Retrocomputers

  • From: Paolo Ferraris <pieffe8@xxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Sun, 24 Jan 2010 13:42:56 -0800

On 1/23/2010 4:12 AM, andrea gasparrini wrote:

Ciao Enrico,


Allora se posso determinare la posizione dei caratteri con il comando

SCREEN$, per fare le collisioni, il gioco è fatto?


Sconsiglio l'uso di SCREEN$ soprattutto per giochi per due ragioni:
1) Il comando e` lento: deve infatti cercare quale bitmap coincide con il contenuto della memoria video. In altre parole, l'algoritmo prima verifica se c'e` uno spazio (ASCII 32), il punto (ASCII 33)* e cosi` via. Ogni singolo controllo e` anche costoso: fino ad 8 letture e confronti. 2) Se non sbaglio il match e` solo con i caratteri ASCII standard (32->127) e quindi non funziona con i caratteri UDG definiti dall'utente.

Ripeto lo stesso suggerimento dato in una email precedente: ogni volta che si inserisce un carattere conviene anche inserirne il valore del carattere in un array di interi 32x24, per "simulare" una modalita` testo a cui Andrea e` familiare.


(* per Cesare: ti do` un'altra possibilita` di beccarmi in fallo dato che vado a memoria e non l'ho verificato. :) )


-p


Other related posts: