Commodore sayı 1, sayfa 68

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 68

Şimdi sıra joystick'e geliyor. 30 JS=PEEK(PO):HAREK=0 HAREK, Joystick'ten gelen komutlara bağlı olarak, işaretimizin nasıl hareket etmesi gerektiğini hesaplarken kullanacağımız değişkendir. Joystick kapısında bir bayt bulunmaktadır. Bu bayttan bizi ilgilendiren kısım ilk 5 bittir. Dolayısıyla bir AND işlemcisi ile bitlerin teker teker ayrılması gerekiyor. Eğer joystickten bir komut gelmişse, bu komutun yönüne bağlı olarak bu bitlerden biri 0 değerini alır; hareketsizlik durumuna ise 1 karşılık gelir (Dikkat, işin püf noktası burada). Ekranda yukarı doğru bir hareket oluşturmak için, işaretin şimdiki pozisyonundan 40 çıkarılır. 40-70 satırları joystickten gelen komutlara bağlı olarak işaretin gitmesi gereken yeni pozisyonu hesaplar.

30 1F (IS ANDI)-0 THEN HAREK - HAREK—40 50 IF (IS AND 2)-0 THEN HAREK - HAREK * 40 60 1F (JS AND 4) -0 THEN HAREK - HAREK—İ 70 1F (İS AND8)-0 THEN HAREK - HAREK 4 1

Bu yöntemle, diyagonal hareketler de sağlanabilir. Örneğin sola doğru hareket -39 değeriyle gerçekleşir. Geldik ateşleme düğmesine! Bu düğmede basıldığında programın sona ermesini istiyoruz. Bu sırada doğal olarak, kursorumuzun altındaki işaretimizi yeniden üretiyoruz. 80 IF (JS AND 16)=0 THEN POKE RESİM,ME:END Ekrandan dışarı “taşmamak” için, HAREK'in değerlerinin 1024 ile 2023 arasındaki alanda bulunup bulunmadığının denetlenmesi gerekiyor. 90 IF HAREK<1024 OR EKRAN+HAREK>2023 THEN HAREK=0 Artık sıra HAREK'in hesaplamış olduğumuz değerine göre işaretimizi, dolayısıyla hesaplanmış hareketleri ekran adresine eklememize geliyor. Son yapılacak iş, işaretimizi ekranda hareket ettirebilmek için 20 satırına geri dönüşü sağlamaktır: 100 POKE RESİM,ME:EKRAN=EKRAN+HAREK:GOTO 20

Oyun kolunu Port 1'e takmak istersek, yalnızca 10 satırında bir değişiklik yapmamız gerekir. Bu da adresin 56321 olmasıdır. Yani, 10 PO=56321.

İki oyun kolunu aynı anda kullanmak istiyorsak, değiştirilmesi gereken satırlar şunlardır: 10 Pl — 56321:P2 — 56320:RE — 1024. 30 J1- PEEK(P1):)2— HAREK-0

NOT(NOT J1 OR 12):

* SYS 64738 yapıldığında, bilgisayar açılış durumuna döner ve içindeki her şey silinir.

* POKE 650,255 komutundan sonra bütün tuşlar, boşluk tuşu gibi basıldıkları sürece kendilerini tekrarlarlar. POKE 650,0 ile eski hale dönülür. POKE 650,64 ile de tüm tuşların tekrarı ortadan kalkar.

Ğ

* POKE 649,0 ile basılan tuşlar ekranda görünmez. RUN STOP/RESTORE ile eski duruma geri dönülür.

hş

GE

e Eğer kimi programlarınız Turbo ile yüklendikten sonra çalışmıyorsa şöyle yapabilirsiniz: Önce programı kasetten yükleyin. LIST ederek ilk satırdaki SYS adresini bir yere not edin. Sonra SYS 64738 vererek bilgisayarı açılış durumuna getirin. Şimdi de not ettiğiniz SYS komutunu yazarak (satır numarasız) programı başlatın.

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