Commodore sayı 72, sayfa 19

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 19

Tabloda da gördüğünüz gibi hesaplarla şu anda ilgilenmiyoruz, sadece neler yapmamız gerektiği hakkında genel bir fikir oluşturduk şu anda. Şimdi tek tek bloklarla ilgilenelim:

1) Oku yukarı atmak için:

İlk olarak okun bağıl (relatif) koordinatını (ekranın en üstü ve en solu O değerini almalı, sprite koordinatları için ise O değildir) kontrol edelim. Eğer Y değeri 0'dan büyükse © zaman değerini azaltabileceğimizi anlarız ve bu adreste bulunan değeri bir azaltırız. Y tek bir baytta saklandığı için tek bir CMP komutuyla bu karşılaştırma işini hallederiz. Ve DEC komutuyla da Y koordinatını azaltırız (unutmayın ekranın en üstü 0). 2) Oku aşağı almak: Yapılacak işler deminkinin hemen hemen aynısı. Yalnızca bu sefer y koordinatının 199'dan büyük olmamasına dikkat etmeliyiz. Oku aşağı olmak için y koordinatını bir artırmamız gerekir. 3) Oku bir sola almak: Eğer ekranın genişliği 255'ten küçük olsaydı bunu yapmak da yukarı ve aşağı oynamak kadar kolay olabilirdi. Ama 320 nokta genişliğinde bir ekranı iki baytla temsil ettiğimiz için bu iki baytın ortak değerinin O'dan büyük olmasını kontrol etmeliyiz. Bunun için ilk olarak yüksek bayta bakarız. Bu değer Vse “Zaten 256'dan büyük bir

Joystick'i oku ve Gerekli Değişkenleri Ayarla

Karakter Pozisyonunu Hesapla

Sprite Pozisyonunu Ayarla

TABLO 2

Y Pozisyonunu

TABLO 3 Oku aşağı al

<199?

Y Pozisyonunu bir artır

TABLO 4 Oku bir sola al

X'i bir azalt yerdeyiz” diyerek X koordinatını bir azaltırız. Eğer bu değer sıfırsa o zaman alçak değerli bayta bakarak X koordinatının O'dan büyük olup olmadığına karar veririz. Eğer büyükse X'i azaltmaya izin var demektir. X'in değerini azaltmak da ufak bir sorun yaratabilir. İlk olarak alçak değerli baytı azaltırız. Eğer bu baytın değeri 255 olmuşsa, yüksek değerli baytı bir azaltmamız ge-

TABLO 5

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