Commodore sayı 32, sayfa 56

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 56

Düşen pilot bir adanın çok yakınında bulunuyor.

Çok alçaktan geçerek suya düşmüş paraşütü görebilirsiniz. Ancak alçaktan uçarken adaya çarpmamaya dikkat edin. Sudaki paraşütün üzerine gelmeden az evvel SHIFT F tuşlarına basarak yardım eşyasını fırlatın. Ancak bu işlemin zamanlaması çok önemli. Eşyanın uçaktan çıktıktan sonra uçağın hızıyla atış noktasından daha ileriye düşeceğini hesap etmeniz gerekiyor. Bu oyun toplam altı görevden oluşuyor. Son görevi tamamlamak için denizaltıdan çıkacak tüm uçakları yok etmeniz yeterli olur. (2) Ferrari Formula 1 oyununda yarışlar sonu ermiyor. Eğer sabırla 99 turu tamamlarsanız yarışın bittiğini görürsünüz. Oyunun başında çıkan menüden üç turluk yarış ayarlamanız mümkün.

BASIC PROGRAMLAR

Program döküm ekindeki ikinci program karakter setini hafızanın başka bir yerine taşımayı amaçlıyor. Program karakter setini ROM'dan RAM'in 12288 adresine taşıyacak. Karakter setini hafızanın başka bir dilimine taşımak için 30. satırdaki 48 sayısını değiştirin. Hafıza 256 byte'lık dilimlere ayrıldığından 48 * 256 = 12288 adresini veriyor. 20. satır yeni karakter setinin tanımlanması için gerekli POKE komutlarını içeriyor. Son olarak yeni karakter setinin ilk karakteri tanımlanıyor. Örneğimizde ' @ ' karakteri boşluğa çevriliyor. Bu yöntemle tüm karakter setini istediğiniz harflere çevirebilirsiniz. Bu programı hem C-64 için, hem de C-128 için ayrı ayrı veriyorum. Kullanıcıdan veri alırken kullandığımız INPUT komutunun en büyük dezavantajlarından birisi bazı karakterler girildiğinde ?EXTRA hatasını vermesidir. Bu hataya sebep olan karakterlerden en sık karşımıza çıkanı virgüldür.

C-64'te bu sorunu, INPUT komutundan evvel POKE 631,34 : POKE 198,1 komutlarını vererek çözebiliriz. INPUT komutundan evvel kullandığımız POKE'lar klavye buffer'ına tırnak işaretini gönderiyor. INPUT komutu virgülü tırnak içinde kabul eder. Bu işlemi C-128'de yapmak için

POKE 842, 34 : POKE 208,1 komutlarını kullanın. Bu uygulamanın bir kötü yönü var. Eğer kullanıcı programın ne yaptığını bilmeden tırnak açarsa, bizim açmış olduğumuz tırnağın etkisi kalmaz. Ve hata mesajı ortaya çıkar. Bu hataya başka bir çözüm de ROM'daki bir rutini kullanmak olabilir. C-64'te bu rutin 44025 adresinde başlıyor. Rutin basılan tuşları okuyup, bunların ASCII değerlerini 512 numaralı adreste başlayan veri giriş buffer'ına saklıyor. SYS 44025 komutunu girdikten sonra PEEK(512) ve daha sonraki adreslerin değerleri girilen yazıyı verecektir. Veri sonu 0 değerli bir byte ile temsil ediliyor. Aşağıdaki programı deneyin:

40 PRİNT “BİR İSİM GİRİN” 20 SYS 44025 30 FOR X-512 TO 600 40 A-PEEKOX) 50 1F Az0 THEN X-900 : GOTO 70

“60 B$—B$4 CHRS(A)

70 NEXT 80 PRİNT “YAZDIĞINIZ İSİM : ”;B$

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