Bu sayfadaki yazılar
Sayfanın metni
Sayfa 20
karıda belirtilen şekilde programa ekleyeceğiniz kelimeler arasından tesadüfi olarak seçim yapacaktır.
Gelelim programın açıklanmasına. Programı satır satır açıklamak yerine, bazı önemli kısımlarını açıklamak istiyoruz. Nasılsa BASIC'de yazılmış olduğuna göre anlaşılması pek zor değil.
Kuşun nasıl kanat çırparak uçtuğunu anlatalım önce. Biliyorsunuz, filmlerde saniyede 24 kare gösterilerek hareketlilik sağlanır. Biz de buna benzer bir yöntem kullanıyoruz. Kolayca tahmin edebileceğiniz gibi, kuşu bir sprite ile gerçekleştiriyoruz. Eğer COMMODORE 64 İLE GRAFİK serisinin altıncı bölümünü okumuşsanız, sprite kullanımının inceliklerini görmüşsünüz demektir. Bizim burada yaptığımız, kuşun uçarken sahip olduğu üç değişik görüntüyü (kanatlar aşağıda, kanatlar ortada ve kanatlar yukarıda) hafızaya üç değişik sprite tanımlaması olarak kaydetmek. Daha sonra 2040 numaralı adresteki sıfır numaralı sprite'a ait sprite göstergeçini bu üç tanımlama üzerinde gezdirerek bu tür bir efekt sağlayabiliyoruz. 2000-2060 arası altprogram bu işlemi gerçekleştirmekte.
Bir başka ilginç özellik de, doğru harf tuşuna bastığınızda, kuşun alçalıp harfi ekrandan içine alması ve onunla uçmaya devam etmesi.
Ekranda gördüğünüz her harfin 53248 ($D000) adresinden sonra yeralan karakter ROM'u üzerinde bir tanımlaması vardır. Bu, her harf için sekiz byte'dan oluşur ve karakterlerin ekran kodlarına göre sıralanmışlardır. Bir sprite'ın her satırının da üç byte'dan oluştuğunu biliyoruz. Eğer uygun yöntemlerle (normal PEEK işlemi işe yaramaz) karakter ROM'undaki bilgi okunup, sprite'ın içindeki byte'lara aktarılırsa, harf sprite'ın içine eklenmiş olur. 2180-2260 arasında da bu işlemi görmektesiniz.
Çocuğunuza, kardeşinize (kimbilir, belki biraz da size) başarılar dileriz...
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 21
"<CTRL-4><CLR>" PRİNT "<4DOLİN> PRİNT PRINT "<S5SSPACE ><CTRL-5><3SPACE ><RVS
ON><2SPACE ><RVSOFF ><
PRİNT )<RVSON>RK<ASPACE OFF >J<6SPACE ><RYSON><CTRL-8>£*<CTRL -L><RVSOFF )<CTRL-E> <RVSO N>J > PRİNT "<6SPACE SOFF ><5SPACE E >#<RVSOFF ><CTRL-İ 25<3SPACE><CTRL-6 > <RYSON><3SPACE ><RVSOFF > PRİNT ><RVSON>5<4SPACE >N<RV SOFF ><4SPACE
E > ><RVSON>İ <3SPACE >L<RVYSOFF > PRİNT "<BSPACE ><RYSON><6SPACE ><RVSO FF >£ <RVSOFF ><CTRL-6><3SPACE ><RVSON><5S PACE ><RVSOFF > PRINT "<BSPACE ><RVSON> <2SPACE ><RVSOFF ><6SPACE L-3> £<4SPACE )<RYSOFF ><2SPACE><CTRL -B )<3SPACE ><RYSON><Cz5> > PRİNT "<RVYSON><Cz6)<8SPACE PACE ><6SPACE ><CTRL-3><2SPACE>T
DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA DATA Isi READ IF RETURN 1388 POKE V,X AND 255:POKE 6) AND 254 OR -(X2255):POKE 2040,5 IF THEN POKE OR 1 X>344 THEN V4*21,P EEK(V4*21) AND 254 KES IF Y>100 THEN Y-39 IF THEN THEN RETURN 54272,112:POKE 54273,18:GÜSUB ag