Bu sayfadaki yazılar
Sayfanın metni
Sayfa 64
• BASIC dilinde yazılmış programlarında, disketten çalışır bir dosyayı yükleyip bunu çalıştırmak isteyenler için aşağıdaki program bir hayli yardımcı olacaktır. Fakat ilk önce ikinci programı yazıp diskete kaydedin. Bunu çalıştırdığınızda disketinizde "ŞORT" isimli bir program hazırlanacaktır. Bu program, çok basamaklı tam sayıları sıraya koyan bir programdır. Aşağıdaki ilk programı da yazıp kaydedin. Bunu çalıştırdığınız zaman disketten Şort programı okunacak ve sıraya koyma işlemi çok hızlı bir şekilde yapılacaktır. Aynı sıralama rutini BASIC'de yapılmış olsaydı bunun 30-40 katı bir yavaşlıkta çalışırdı.
REM ***** Program : Cem GENCER 1990 ***** DECLARE FUNCTION LoadSeg& LIBRARY DECLARE FUNCTION UnLoadSeg& LIBRARY LIBRARY "dos.library" ON BREAK GOSUB dummy BREAK ON CALL LoadObject("Sort' ',adr&) PRINT PRINT "Rasgele sayılan" FOR t=0 TO 9
f&(t)=INT(RND(l)*100000&) PRINT f&(t) NEXTt CALL adr&(VARPTR(f&(0)),10&) PRINT PRINT "Sıralanmış olarak :" FOR t=0 TO 9
PRINT f&(t) NEXT t CALL UnLoadObject(adr&) BREAK OFF LIBRARY CLOSE END dummy:
BEEP RETURN
SUB LoadObject(Na$,ca&) STATIC
ca&=LoadSeg&(SADD(Na$+CHR$(0))) IF ca&<=0 THEN ERROR 53 ca&=ca&*4+4 END SUB
SUB UnLoadObject(ca&) STATIC
ca&=ca&/4-l d&=UnLoadSeg&(ca&) END SUB
Liste I - Örnek program
REM ***** Program : Cem GENCER 1990 ***** CLS OPEN "df0:Sort" FOR OUTPUT AS 1 READ adet FOR i=1 TO adet
READ h$ değer1=ASC(LEFT$(h$,l)) IF değer1>64 THEN değerl=değer1-87 ELSE değer1 =değer1-48 değer1=değer1*16 değer2=ASC(RIGHT$(h$,1)) IF değer2>64 THEN değer2=değer2-87 ELSE değer2=değer2-48 değer=değer1 +değer2 PRINT #l,CHR$(değer); NEXT CLOSE1 END Değerler: DATA 148 DATA 00,00,03,f3,00,00,00,00,00,00 DATA 00,01,00,00,00,00,00,00,00,00 DATA 00,00,00,14,00,00,03,e9,00,00 DATA00,14,23,ef,00,08,00,00,00,48 DATA 23,ef,00,04,00,00,00,4c,48,e7 DATA ff,fe,20,79,00,00,00,4c,22,48 DATA 20,39,00,00,00,48,67,le,e5,88 DATA 45,f0,08,fc,b3,ca,67,14,20,19 DATA 22,11,b2,80,6c,f4,22,80,23,01 DATAb3,c8,67,ec,59,49,60,e8,4c,df DATA 7f,ff,4e,75,00,00,00,00,00,00 DATAO0,O0,00,00,03,ec,00,00,00,04 DATA 00,00,00,00,00,00,00,04,00,00 DATA 00,0c,00,00,00,16,00,00,00,le DATA 00,00,00,00,00,00,03,f2
Liste II - Bu program, diskette "ŞORT" isimli dosyayı oluşturur.
• Çoğunuz BASIC'te yazdığınız programınızda mouse işaretçisinin şeklinin kendi dizayn ettiğiniz bir biçimde olmasını istersiniz. Aşağıdaki program da tam bu işi yapmaktadır:
REM ***** Program : Cem GENCER 1990 ***** DECLARE FUNCTION AllocRemember& LIBRARY LIBRARY "intuition.library" | ON BREAK GOSUB dummy BREAK ON Hafızaayır: Remember&=0
RememberKey&=VARPTR(Remember&) Memory&=AIlocRemember&(RememberKey&,68&,65538&) IF Memory&=0 THEN FreeRemember& RememberKey&,-l :END UserSpriteDatas: POKEL Memory&,0 FOR Offset&=4 TO 62 STEP 2
READ datas POKEW Memory&+OfTset&,datas NEXT POKEL Memory&+64,0 Spritegörüntüsü:
DATA&H0100,&H0000,&H0000,&H0100,&H0100,&H0000 DATA&H0000,&H0100,&H0100,&H0000,&H0000,&H0100 DATA&H0O00,&H0O00,&Ha92a,&H5554,&H000O,&H0000 DATA&H0000,&H0100,&H0100,&H0000,&H0000,&H0100 DATA&H0100,&H0000,&H0000,&H0100,&H0100,&H0000 Açma: SetPointer& WINDOW(7),Memory&,15,16,-8,-7 Bitiş: PRINT" Programdan çıkmak için herhangi bir tuşa basınız." WHILEINKEY$="" :WEND ClearPointer& WINDOW(7) FreeRemember& RememberKey&,-l LIBRARY CLOSE END
Dummy:
BEEP RETURN
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 65
Uzunca bir zamandır Tynesoft'un süper bir demoyla tanıttığı Elvira - Mistress of Darkness adlı adventure'ı piyasaya sürmesini bekliyoruz. Son söylentilere bakılırsa bu biraz zor gerçekleşecek, çünkü Tynesoft şu sıralar mali sıkıntıya girmiş durumda ve oyunun dağıtımcısı firmaya bile ödeme yapamıyor. Gerçi bu durum oyunu asla göremeyeceğimiz anlamına gelmiyor, fakat oyunun piyasaya çıkması biraz gecikecek. Oyunun kısa zamanda çıkmasını ve ülkemize gelmesini diliyoruz. Bu arada yeni çıkan adventure'lardan biri olan Personal Nightmare'i, bu ayki adventure köşemizdeki açıklamaya karar verdim. Bu oyunu oynayarak, bir bakıma Elvira için alıştırma yapmış olacağız.
Korku teması belki de adventure oyunlarında en sık işlenen konulardan biri. Emektar C-64'te bu konuda o kadar çok adventure yazıldı ki, bazılarını oynarken aldığımız zevk hâlâ taptaze zihinlerde duruyor. Castle of Terror, Dracula, Jack the Ripper bu oyunlardan sadece birkaçı. Amiga'ya terfi eden kullanıcılar önceleri bu tür oyunların eksikliğini duydular, fakat sonradan Amiga'da da korku adventure'ları çıktı ve şimdi Horrorsoft bunun en iyi örneklerini veriyor.
Üç disketlik uzun bir adventure olan Personal Nightmare oldukça orijinal bir açılış sahnesiyle yükleniyor. Bir gün kilisede dua eden babanız, pencereden içeri giren bir şimşek sonucu olduğu yerde kül oluyor. Oyunda amaç, babanızın ölümüne ve kasabada esrarlı olayların dönmesine neden olan kötülükleri bulup ortadan kaldırmak. Bu amaçla geldiğiniz kasabada, gerçekten çok tuhaf şeyler döndüğünü kısa zamanda fark ediyorsunuz.
Bu oyunda Future Wars'da olduğu gibi ekranda idare ettiğiniz bir karakter yok. Olayları kendi gözlerinizle görüyormuşçasına düşünüp karar vermelisiniz. Ancak kasabada karşınıza çıkan birbirinden farklı karakterler, güzel yapılmış animasyonlarla hareket ediyorlar. Oyunun hemen başında otelin lobisindeki bara içki içmeye gelen Jimmy Blandford ve Susan Roberts bu karakterlerden bazıları. Oyun boyunca ASK komutuyla karakterle konuşup onlardan önemli bilgiler alabilirsiniz.