64'ler sayı 52, sayfa 69

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 69

Oyunlarının veya programlarının başına çok karmaşık ve uzun şeyler koyuyorsun. Biraz sade olsunki oynayanı sıkmasın. Oyunda da her komuttan sonra resmi tekrar yükletmemelisin. Birde eğer adventure yapmayı kafana koyduysan öyle |f'lerle her komutu tek tek yapamazsın, onlara genel bir komut bulma programı yapmalısın. Belki ilerde böyle bir program yayınlayabilirim. Çizim programınada baktım. Geçen ay dediklerimi tekrar oku. Onlar olursa program çok daha iyi olur. Bu arada iddia işine gelince. AMOS'un Update'leri Public Domain olabilir ama ben senin AMOS 1.3'ü istediğini zannetmiştim onun için bu karışıklık oldu. Kusura bakma (çünkü bende AMOS'un hiçbir Update'i yok) . 1) Ben bu hatayı pek göremedim ama programının o işle ilgili olan yerine benim bazı programlarımın başında yazdığım gibi Curs Off : Paper O : Pen 2 :Cls O komutlarını yaz bakalım ne olacak. 2) Normalde yok denilebilir ama AMOS'ta Every n Gosub, Every n Proc ve Every On/Off diye üç komut var. Bu komutlarla her n saniyede bir istediğin bir altprogramı veya Procedure'ü otomatik olarak çalıştırabiliyorsun. Herhalde bir miktar işini görür. 3) Bende bir Translator programı vardı. Onun yardımıyla ses ve grafik olmadan GW Basic'te çalışabiliyor ve DOS işlemleri yapabiliyordum. Zaten Amiga Hardware ilavesiyle bile IBM'e tam uyumlu olmazken bir Software ne kadar işine yarar onu bilemem. 4) Şimdi bu bir kere banada oldu. Gidip programımı F2 tuşuna basarak test

PROGRAMİ 'Cenk Karakaş'ın 1. sorusunun cevabı ' Program random bir sayı seçer ve "o sayıyla ilgili alt programa gider Randomize Timer : Paper 0: Pen 2 : Cls 0 Do Cls 0 : Home ' Random sayı bulunuyor RANDOM-Rnd(3)4 1 Print "Random sayi : ""RANDOM ' Random sayıyla ilgili alt ' programa gitme Gosub <Bir boşluk> " Loop "Alt Programlar PROGRAMİ: Print At(0,0);"Alt Program 1' desiniz" Wait Key : Return PROGRAM2: At(0,0);"Alt Program 2' desiniz" Wait Key : Return PROGRAM3: Print At(0,0);"Alt Program 3' desiniz" Wait Key : Return PROGRAM4: Print At(0,0);"Alt Program 4' desiniz" Wait Key : Return

ettim ve tekrar Save ettim, olay çözüldü. Bu dediğimi yap yine olmuyorsa bana bildir. 5) Adını yazarak! Basit değilmi? 6) Blitz Basic'i ilk defa senden duyuyorum Ziya. Yani o dil hakkında hiçbir bilgim yok. PROBLEM CHILD 1) Adın hakkaten MURAD mı? Yoksa Murat olupta inadına Murad mı yazıyorlar? 2) Bana Sprite oranları, renk ve ne kadar hafıza kullandıklarını yazarmısın? 3) AMOS'ta kullanmak istediğim 10 tane resmi Fast Ram'a veya Ram Disk'e ya da Rad Disk'e nasıl yerleştirir ve nasıl geri çağırabilirim? 4) AMOS'ta Feary Tale ve benzeri oyunlardaki gibi geniş alana resim yerleştirmesini nasıl yapabilirim? 5) AMOS'ta ekran kaydırmak için ayrı ayrı çizdiğim 320*200 yada daha ufak fırçaları birleştirerek kaydırma yapabilirmiyiz? 6) Beşinci sorudaki işlemi 1000*200 resim çizerek tek parça kaydırıyorum, resmin kenarları parça parça titriyor. 7) Bazı oyunlarda ekranın üstünde oyuncuların skorunu, gücünü v.s gösteren çevçeve var.Bunu nasıl yaparız? 8) AMOS'da mouse'un şekli nasıl değişir? (kendi tasarımıza göre) 9) Eye of The Beholder'da 3 boyut olayı nasıl hazırlanıyor ve nasıl saklanıyor. YAŞAR GÜNAK OMAY: Yaşar, bu ay Programcılar ordusuna ikinci katılan kişisin. kutluyorum ve mektuplarının devamını diliyorum. Bu arada AMOS'un Türkçe kitabını alabilmek için ya bizim dergiye ya da Beşiktaş Bilgisayar'a telefon et. Şimdi son duamı edip sorularını cevaplamaya başlıyorum. 1) Evet adım gerçekten Murad. Yani son harfi "d" , 2) Sana sprite'lar hakkında genel bir bilgi vereyim. Amiga 8 tane 4 renk, 4 tanede 16 renk sprite kullanmana izin veriyor ama AMOS'ta birkaç hileyle bunları arttırabiliyorsun.AMOS'ta sprite'ın yüksekliği 16 ile 256 arasında değişiyor ve harcadığı hafıza, yüksekliğiyle 96 sayısının çarpımındar.. oluşuyor. Yani bir sprite'ının hafızada kapladığı yer 1536 Byte ile 24 Kbyte arasında değişiyor. 3) Şimdi ilk önce AMOS'u yükle. Dir "Ram:" yazarak Ram diski aç. Sonra resimlerini disketten yükleyip Save "Ram:<Resmin adı>",<ekran no> yazarak Ram'a kaydet. Eğer 512K ek Ram'ın varsa resimlerin zaten ilk önce Fast Ram'a kaydedilirler. Bundan sonra Load "Ram:<Resmin adı>",<ekran no> diyerek resimlerini yükleyebilirsin. 4) Evet Yaşar ne sormak istediğiri anladım. Şimdi bu olayı AMOS'ta AMOS MAP DEFİNER ile yapabiliyorsun. İlk önce D.Paint'te sol üst köşeden başlayarak isteğine göre 16*16 veya 32*32'lik kutuların içine küçük resimler yap. Sonra bunları demin söylediğim AMOS programını kullanarak birleştirip çok büyük ekranlar yapabilirsin. 5) Herhalde bu soruyu bir sonraki soruda olan olayı önlemek için sordun ama bunun ve aşağıdaki sorunun cevabını verebilmem için yaptığın programı görmem lazım. 6) Yukarıdaki cevabın aynısı geçerli. 7) Bu çerçevenin boyunda ve eninde başka bir ekran açarak bu işi kolayca yapabilirsin. 8) Change Mouse komutunu kullanarak istediğin bir Sprite'ı (16 pixel eninde ve 4 renk olmalı) pointer olarak seçebilirsin. Bunu yapmak için Pointer yapmak istediğin Sprite'ın numarasına 3 ekleyip bunu Change Mouse'un yanına yaz. Örneğin Change Mouse 4'ün anlamı Sprite Bank'ındaki ilk Sprite'ı pointer yap demektir. 9) Eğer nasıl çok fazla resmin yüklemeden kullanıldığınısoruyorsan, bu işi Spack, Unpack ve Pack komutlarıyla yapabilirsin. Eğer AMOS ile ilgileniyorsanız ve geleceğin programcısı olmak istiyorsanız bana yazın... MURAD'Vahdettin' OMAY

PROGRAM2 ' Resim adı yazan yere 320*200 ' boyutlarında 32 renk bir İsmimi yazın sonra istediğiniz yerlerin 'foroğrafını çekin. 40 tane ' filminiz var. Screen Open 1,320,200,32,0 Curs Off : Flash Off : Paper 2 Pen 2 : Cls O Screen Open 0,320,200,32,0 Curs Off : Flash Off : Paper 2 Pen O : Cls 0 : Change Mouse 2 ' Yeni Pointer çiziliyor Ink 2 : Box 1,1 To 40,40 Ink O : Bar 1,1 To 40,30 Bar 10,1 To 30,40 ' Çizim Bob olarak alınıyor Get Bob 1,1,1 1041,41 'Pointer'ın tutma yeri orta nokta ' olarak belirleniyor

“ Fotoğraflar 1.ekrana kopyalanıyor

Cls O : Hot Spot 1,20,20 Load İff "<Resim adı>" ' 0.ekranın rengini alıyor 1: Get Palette O : Screen O

o X-X Screen(X Mouse) : YzY Screen(Y Mouse) Bob 1,X,Y,1 : Walt vbi If Mouse Click-1 Shoot

Screen Copy 0,X-19, Y-19, X4-19, Y419 To 1, X2, Y2 ' 1. ekrandaki fotoğraflar sıralanıyor Add X2,40 If X2-320 Add Y2,40 :X2-0 If Y2-200 : Screen To Front 1 : End: End İf End If : End İf Loop

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