2010-07-07 6 views
5

je besoin d'un moyen de trouver si le caractère ('<') a frappé un mur (pixel noir graphique)Help: ZX81 BASIC "Peek" fonction

-Sur un jeu ZX81.

Je cherchais un autre jeu ... qui utilise le code

if peek(peek 16398 +256*peek 16399) = code "**blackpixel graphic**" then ... 

Ce qui semble fonctionner pour eux ...

Est-ce bon code? Je ne suis pas vraiment au courant des adresses et de la mémoire et d'autres choses.

S'il vous plaît aidez-moi ...

-Si vous une meilleure façon. S'il vous plaît répondre :)

Merci,

+5

Aucune aide de ma part; J'ai rincé cette information de ma mémoire il y a environ 20 ans. :-) –

+0

xD: P Ouais je veux connaître les bases de l'informatique pré-moderne :) -Fondation des fondations ... – ZX81

+1

"Je veux connaître les bases de l'informatique pré-moderne" Alors essayez ZX-Spectrum à la place. Beaucoup plus de plaisir + une bonne raison d'apprendre un peu d'assemblage Z80. vous pourriez essayer de faire un autre foreur (http://en.wikipedia.org/wiki/Driller_ (video_game)), de conduire dur (http://en.wikipedia.org/wiki/Hard_driving) ou un autre Elite (http://en.wikipedia.org/wiki/Elite_(video_game)) sur spectre. Avec l'affichage de texte seulement vous serez coincé avec faire des indésirables (http://en.wikipedia.org/wiki/Roguelike) au mieux. – SigTerm

Répondre

0

Cela dépend de ce que l'adresse de mémoire est, mais peek signifie généralement « Quelle est la valeur dans cet emplacement mémoire? »

This semble qu'il devrait y avoir une bonne lecture dans ce sujet particulier.

1

peek lit l'octet à un emplacement de mémoire. Selon The System Variables of the Sinclair ZX81, l'emplacement de mémoire 16398 et 16399 forment une valeur 16bit contenant le courant "Adresse de la position d'impression dans le fichier d'affichage".

Ainsi, peek 16398 + 256*peek 16399 combine les deux valeurs en une adresse de 16 bits et peek cette adresse obtient (éventuellement) le pixel/caractère (?) À cette position.

+0

Ouais j'ai regardé ça. Pas d'aide à un débutant cependant.=/ – ZX81

1

Les adresses 16398 et 16399 sont deux octets qui forment l'emplacement du curseur. (Voir http://web.ukonline.co.uk/sinclair.zx81/chap28.html). En d'autres termes,

peek 16398 + 256*peek 16399 

vous donne l'adresse mémoire du caractère sur l'écran où ira l'impression suivante. Ce qui apparemment peut être changé avec PRINT AT.

peek(peek 16398 + 256*peek 16399) 

trouve le code pour tout caractère présent à cet emplacement. Le reste, vous devriez être capable de comprendre. Maintenant, la question principale est: votre jeu utilise-t-il le curseur de la même manière? Sinon, vous devez utiliser une solution différente.

+0

Hmmm ok donc si j'imprime un graphique pixel noir à 10,10 (ou n'importe quelle position) 'peek (coup d'oeil 16398 + 256 * peek 16399)' trouvera le code pour un pixel noir graphique? – ZX81

+0

Non, il trouvera le code correspondant au graphique affiché à la position actuelle du curseur. – Artelius

+0

Position du curseur? Huh? : P Je n'ai jamais su que ZX81 avait des souris ou des curseurs? – ZX81