Plazma sayı 6, sayfa 62

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 62

Atari 800 XL/XE - Bölüm 2

sta $f8 BASLANGIC ADRESI - $0600 clc !to "oyuncu hareketi.xex",plain adc #$08 sta endOfBlock * — BASLANGIC ADRESI-6 ldy #$00 $££f£f, BASLANGIC ADRESI, BITIS ADRESI lda #$00 Dongul sta * — BASLANGIC ADRESI iny ;yarat#klar#n bellek adreslerini belirle bne Dongul lda $6a inc $£8 sec ldx $£8 sbec #$08 epx #ŞEf endOfBlock - *-I1 sta $6a bne Dongul sta $d407 ; PMBASE HI rts sta YaratikBellegitl lda #$00 ;oyuncunun bulundugu alani temizle

sta YaratikBellegi

;yaratık ve füzeleri aç

lda #$03 sta $d0ld ; GRACTL ;grafik ekrani ac ldy #$1f sty $022f ; DMACTL rengi lda #$aa sta $02c0 ; Oyuncu 0 rengi ;tüm yaratik bellegini temizle İsr YaratikBelleginiTemizle

adresini belirle lda YaratikBellegi sta $f5 lda YaratikBellegitl ele adc #$04 sta $f6

;kesme rutini ayarla ldy #<Rutin ldx #>Rutin lda #$07 jsr $e45c ; SETVBV jmp *

şana rutin Rütin temizle jsr OyuncuyuSil

;oyuncuyu yeni y koordinatinda olustur

jsr OyuncuyuOlustur şeski y pozisyonunu kaydet lda sta OyuncuYEski ;oyuncuyu yeni x koordinatina tasi lda OyuncuXx sta $d000 ; ;sinus tablosuna gore oyuncuya ;dairesel hareket yapt#r ldy SinusPozisyonu lda SinusTablosut64,y ele adc #$28 sta OyuncuXx lda SinusTablosu,y ele ade #$20 sta OyuncuYy ;sinus tablosu uzerinde ilerle ine SinusPozisyonu jmp $e462 ; RETURN

#2kb'lik yaratik bellegini temizle YaratikBelleginiTemizle lda YaratikBellegi sta $İ7 lda YaratikBellegitl

Oyuncu 0 X pozisyonu

OyuncuyuSil ldy OyuncuYEski lda #$00 Dongu2 sta ($£5),y iny

cpy #HaritaSonu-HaritaBasi

bne Dongu2 rts

olustur OyuncuyuOlustur ldx #$00 ldy Oyuncuy

Dongu3 HaritaBasi,x

sta ($£5),y iny inx

cpx #HaritaSonu-HaritaBasi

bne Dongu3

rts HaritaBasi !byte !byte !byte !byte !byte !byte !byte !byte !byte !byte !byte HaritaSonu - * OyuncuX !byte OyuncuYy !byte OyuncuYEski !byte SinusPozisyonu !byte YaratikBellegi !byte SinusTablosu !byte

!byte

BITIS ADRESI -— * $02e0,

$02e1,

500000000 $10000001 #11000011 $01100110 $00111100 $00111100 $01100110 $11000011 $10000001 500000000

©2900

,0

sinus tablosu| sinus tablosu|

BASLANGIC ADRESI

Bu örnekte henüz öğrenmediğimiz bazı kısımlar geçiyor. Bu kısımlara takılmadan yaratıklarla ilgili öğrendiğimiz bölümleri incelemenizi tavsiye ediyorum.

Füze Atan Oyuncu Örneği

Aşağıda ateş eden bir uzay gemisi örneği göreceğiz. Kullanılacak yaratıklar Oyuncu 0, Füze 0, Füze 1, Füze 2 ve Füze 3.

Klavyeyle gezinmek için ← ve → tuşları.