Bu sayfadaki yazılar
Sayfanın metni
Sayfa 44
int /* Start coordinates */ in /* Stop coordinates */
Movefscer. rastportfs),x,y); Drawf(ser. rastport|s),x,y1); Draw(scr rastport, sİ.x.y):
int s; /* Screen number */ int x,y; /* Center coordinates */ /*r*/
DrawEllipselscr. İnt number */ int x,y; /* Center coordinates */ Şiar string(40); /* String */ Movefser rastportls).x,y); Textlsor rastportis) siring,strlen(strine));
ink(s,color) ints; /* Screen number */ int color; /* ink color — */ SetAPen(ser rastport|s),color); | paper(s,color) int s; Screen number */ int color; /* paper color — SetBPeniscr. rastport|s),cg | mouse x(s) ints; /* number | mouse, y(s)
ints; /* Screen number */
Y); j
set palette(s,color,;r,g,b)
ints; /* Screen number */ int color; /* Palette color */ int r, /* RGB values */
SetRGB4(ser |
LoadIFE(s,name) ints; — /* Screen number */ namel)|; /* Picture name */
iff(name,0); printf("9os not Teturn(1);
| BİtBitMapRastPort(&info- >bitmap,0,0,scr. rastport|s),0,0,320,256,0xc0); free planes(&info->bitmap); put cmapis,(1<<info->bitmap.Depth));
|
cmap(s,n) Fat 5; ha int n;
Screen number */
Programda sık sık kullanacağımız alt rutinleri görüyorsunuz. Bu sayede bazı işlemleri yapmak oldukça kolaylaşacaktır. Şimdi programımızın içerisinde bulunan örneklerle inceleyelim.
main()
openlibrary(); opensereen(0,320,256,32);
print(0,50,50,"Amiga C"); Waitkey();
Programımız dikkat ettiyseniz oldukça kısa. Çünkü işin zor kısımları ilk vermiş olduğumuz rutinlerde mevcut. Bize kalan bu rutinleri dikkatlice kullanmak. Programı çalıştırmak için ilk olarak; compile: cc -s module.c -> Rutinlerin bulunduğu program. Bu programı bir sefer compile etmeniz yeterli olacaktır. compile; cc -s c.c -> kısa program. Yalnızca bu programı yapmış olduğunuz her değişiklikten sonra compile edin. link: ln c.o module.o jiff.o -lc32 -> Link sırasında jiff.o objesini de eklemeyi unutmayın, Çünkü rutinler içerisinde IFF yükleme rutinleri mevcut. openlibrary(); bu alt rutinle, isminden de anlaşılacağı gibi, kullanılacak olan library'leri açıyoruz. Her programımızın başına bu rutini koymak zorundayız. openscreen(); ekran açmak için kullanıyoruz. İçerisindeki parametreler sırasıyla; ekran numarası, x genişliği, y genişliği, ve renk sayısı. Ekran numarasını, birden fazla ekran kullanabilmek için kullanıyoruz. En fazla 5 adet ekran için:
Evet, ekran açmak, artık bu kadar kolay hale geldi. Sizce de öyle değil mi? print(); ile ekranımızın herhangi bir köşesine yazımızı yazıyoruz. Buradaki parametreler; ekran numarası, x noktası, y noktası ve yazı dizimiz. waitkey(); ile bir tuşa basılıncaya kadar bekliyoruz. Ve daha sonra closelibrary(); ile bütün library'leri kapayarak programdan çıkıyoruz. Program bu kadar: Sıra geldi yeni bir örneğe;
/* Programming by Cenker Ozkurt */ #include <stdio.h> main()
openscreen(0,320,256,32);
LoadIFF(0, "df0:picture"); waitmouse(); palet
closescreen(0); eloselibrary0:
alet ofE()
set LAR |
|
Resim yüklemek artık bu kadar kolay. Buradaki farklı rutin LoadIFF(); rutini. İlk parametre resmin yükleneceği ekran numarası, ikinci parametre ise doğal olarak resmimizin yeri ve ismi. Program içerisindeki paletoff(); rutini ise mouse tuşuna basıldıktan sonra parlama efekti vermemizi sağlıyor. Kullanmak zorunda değiliz. Aşağıdaki örnek ise kısa bir resim şovu!
/* Programming by Cenker Ozkurt */ main()
openscreen(0,320,256,32); openscreen( 1,320,256,32):
serfront(0);
LoadIFE(O,"di LoadIFE(1,"di
waitmouse();
serfront(1); waitmouse();
closescreen(0);
İki ekran kullanıyoruz. scrfront(ekranı) rutinini de kullanmak mümkün. Programda kullanabileceğimiz diğer alt rutinlerin kullanımı da aşağıda olduğu gibi istediğimiz ön plana alıyor. scrback(); in.
main()
openlibrat
ink(0,2); — /* Kalem rengimizi değiştiriyor */ print(0,50,50, "Amiga &
/* mouse x() ve mouse y() ile mouse koor- dinatlarini okuyoruz */ sprintf(s,'x mouses 9d y mouse 9bd x(0),mouse y(0)); while(Tleftmouse()) | inti
box(0,0,0,319,255); /* Ekrana bir kutu çizi- yoruz */ : PİKO LI. /* Nokta koymak için */ ine(0,0,0,319,255); /* Çizgi rutini */ set palette(0,0,15,15,15); /* Zeminin paleti-
"e aate" a sene u bekliye i
(0,5); int(0,
closescreen(0);
closelibrary(); Kullanabileceğimiz rutinler bunlar. Bu programa başka rutinler ekleyerek istediğinizi ya-
Pabilirsiniz. Şimdilik bu kadar. Gelecek ay buluşmak üzere Hepinize yapısal günler!...
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 45
ADVENDORE
Temptress
SÜHA BAYRAKTAR Evet adventure'cılar. Bu ay hiç adventure yok derken, karşımıza derginin çıkmasına çok az kala bir adventure geldi. İlk başta benim fazla ilgimi çekmeyen bu adventure, daha önce dergilerde adından sıkça söz edilen LURE OF TEMPTRESS'dı. Fakat biraz oyunu incelemeye kalktığımda, son ayların popüler firması olan VİRGİN GAMES'in kaliteli bir adventure yaptığını anladım. Daha önce baba adventure'cıların severek oynadığı FUTURE WARS'a benzeyen bu oyun, gerek hikaye gerek izleyiciliğiyle olsun güzel bir adventure. Oyunun çok zor olmaması ve oynanabilirliğinin yüksek olması, önemli bir özelliği. Oyunun açıklamasına geçmeden önce, oyun nasıl kaydedilip, yükleniyor ona bakalım. İlk önce DF0'a boş bir disket koyun. Daha sonra mouse ile yukarıya gelin ve karşınıza çıkan menüden seçin. Buradan FORMAT DISC'i seçtiğinizde, disketiniz formatlanmaya başlar. Formatlama işlemi bittikten sonra, FILE menüsünden SAVE GAME'i seçerek oyunu kaydedebilirsiniz. Daha önce MZ bir oyunu da aynı menüden RESTORE ile yükleyebilirsiniz. Ayrıca HELP menüsünden, oyundaki konuşmaların hızını artırabilirsiniz.
Kendinizi ilk olarak bir hapishane hücresinde kilitli olarak buluyorsunuz. Karşınızda ışıkiçin yakılmış bir ateş ve yerlerde samanlar. Tabii hemen anladınız. PULL TORCH ile ateşe samanları atarsanız ateş çıkacak ve bir süre sonra gardiyan odadan içeri girecek. Fakat gardiyan kapıdan içeri girmeden önce, kapının yakınında durun ve gardiyan içeri girdiği anda dışarı çıkın. Gardiyanın sizi yakalamasını önlemek için önce CLOSE DOOR ile kapıyı kapatın ve sonra LOCK DOOR ile kapıyı kilitleyin. Bu aşamada gardiyandan kurtuldunuz. Daha sonra bir mahkum göreceksiniz. TALK TO PRISONER ile mahkum ile konuşun. Sizden su isteyecek. GUARD ROOM denen gardiyan odasına gidin. Buradan GET KNIFE ile bıçağı, GET BOTTLE ile şişeyi alın. Daha sonra sırası ile LOOK AT BAR-REL, USE TAP ON BATTLE, USE KNİFE ON SACK ve LOOK AT SACK komutlarını kullanın. Buradaki işiniz böylelikle bitti ve suyu aldınız. Doğru TORTURE ROOM denen odaya gidin; burada birisini göreceksiniz. Ancak ayakları bağlı olduğu için hareket edememekte. Bıçağı kullanarak USE KNIFE ON LEATHER CORD komutuyla çözün. Onu bu zalimlerin elinden kurtardınız. Artık sizi takip etmeye başlacak. Buradan çıkın ve doğruca sizden su isteyen mahkumun yanına gidin. Ona odadan aldığınız suyu GİVE BOTTLE TO PRISONER komutu ile verin. Size buradan — nasıl çıkılacağını anlatacak. RATPOUCH'a giderek, tuğlaları itmesini söyleyin. Tuğlaları itecek ve arkasından açılan yerden çıkacak. Onu takip edin, artık bu rezil hapishaneden kurtuldunuz. Buradan FORGE'a gidin. Yerdeki TINDER-BOX' alın. Daha sonra LUTHERN ile konuşup SECERED ARMS'a gidin. TALK TO EİLEAIN ile ELEAINE ile konuşun. Bu radan çıkın ve yeşil elbiseli MALLIN denen çoçukla konuşun. Size metal bir parça verecek. VILLAĞE SHOP denen köyün dükkanına gidin ve MALLIN'den alıdığınız metal parçasını EWAN'a verin. Size bunun karşılığında biraz para ve GEM verecek. Buradan çıkın ve doğruca MAGPIE TAVERN'e gidin. İçeriye girince MARKUS ile konuşun. Ona rüşvet verin ve sonra yeniden konuşun. Daha sonra MALLIN ile konuşup THE FORGE'a gidin ve LUTHERN ile konuşun. MAĞPIE COURT-YARD'a giderek burada yerde yatan GRUB adında çocuk ile konuşun. Ona BLACK GOAT'ı sorun ve sonra yeniden konuşun. SEVERED ARMS'a giderek burada ELEAİNE ile konuşun. Size bir günlük verecek. EXAMINE DIARY ile günlüğü inceleyin. MAGPIE TAVERN'e yeniden gi: din. NELLİE ile konuşarak ona GEM'i verin. O da size FLASK verecek. FLASK'ı alın ve için. BLACKSMITH'i görün. GİVE FLASK TO LUTHERN ile FLASK'ı LUT-HERN'e verin. FLASK'ı sizin için boşaltacak. Buradan sonra dükkanların olduğu yere gidin ve burada GİVE LOCKPICK TO RATPUCH ile kilit açağını RATPUCH'a verin. LOOK AT DOOR ile kapıya bakın; burada bir kilit göreceksiniz. RATPOUCH'a kilit açıcısını kullanarak kapıyı açmasını söyleyin. RATPOUCH sizin için kapıyı açar. Evet, kapısını açtığınızyer TAIDGH'S HOUSE. LOOK AT APAÂRATUS ile APAR-ATUS'a bakın. Daha sonra USE OlL BUR-NER WITH TINDERBOX ve USE FLASK ON TAP komutlarını kullanın. Eğer tam yı rini bulamadıysanız APARATUS'un en s:; ğına bakın. Buradan MIDDLE STREET'e gidin. DRINK FLASK ile FLASK'I için. Orada gördüğünüz kapıdan içeri girin. Burada SKORLS ile konuşun ve kızın serbest kalmasını sağlayın. Şu anda herşeyi yaptınız, ama bir türlü kaleden içeriye giremiyorsunuz. Eğer girerseniz, büyünüzü kaybedebilirsiniz. Kalenin duvarlarının oraya gidin DIERMOT'a dönün. Burada GOE-WNİE ile konuşun. Onu, APOTHECARY WORKSHOP denen eczanede bulabilirsiniz. Onunla konuştuktan sonra BLACKF-RIARS ROW'a Orada bulunan nota LOOK AT NOTE ile bakın. Yeniden MAL-LİN'i bulun ve onunla konuşun. Biraz konuşunca size bir kitap verecek. Kitabı aldıktan sonra MONKS LODGE denen yere gidin ve burada LOBY ile konuşun. Konuştuktan sonra kitabı TOBY'ye verin. TOBY, bunun karşılığında size SELENA ile nasıl dövüşmeniz gerektiğini öğretecek. Anlattığı herşeyi çok dikkatli not alın, bunlar size çok yardımcı olacak. Buradan çıkın ve APTH WORKSHOP'a gidin. Burada GOEWİIN ile konuşun. Ona COWBANE'in canavar için olduğunu söyleyin. Ancak onun kendisinde olmadığını söyleyecek. Bu aşamada COWBANE' iki yolla bulabilirsiniz: Ya kendiniz gidebilirsiniz ya da RATPOUCH'a almasını söyleyebilirsiniz. RATPOUCH, bu aşamada daha mantıklı gözüküyor. Ona FORGE'a gitmesini ve burada CATRIONE'e COWBANE sormasını söyleyin. Bundan sonra -RATPOUCH, CATRIONE'in sözlerine dayanarak SMIT-HY STREET'e gidecek ve buradan COW-BANE'i alacak. RATPOUCH'a geldiğinde COWBANE'i sorun, o da size CÖWBANE'i verecek. COWBANE'i alın ve doğruca GOEWIN'e gidin. Ona COWBANE'i verin ve biraz konuşun. Konuştuktan size PO-TION denen ilacı verecek. POTİON'ı aldıktan sonra, bir daha konuşarak buradan rılın. SEVERED ARMS'a gidin. Burada UL-TAR ile konuşun. ULTAR ile konuştuktan sonra WEREĞATE'e gidin. Burada GOR-GOYLE ile konuşun. Buradan APTH WORKSHOP'a gidin, GOEWIN ile yeniden konuşun; sizinle GATE'de buluşacak. gidin ve burada yine onunla konuşun. İçeriye girip kafataslarıyla oynayın Ona kafataslarını itip çekmesini söyleyin. Odaya girin ve burada onunla savaşın; işiniz gerçekten çok zor. Çok iyi savaşmak zorundasınız. Önun için içeriye girmeden önce mutlaka oyunu kaydedin; yoksa içeriye ilk girdiğinizde pişman olabilirsiniz. Birazdan canavarı göreceksiniz. GOE-WIN'den aldığınız potion denen ilacı USE POTİON ON DRAGON diyerek kullanın. Şu andan itibaren artık canavar sizin emrinizde, onunla konuşarak onun size yardım etmesini söyleyin. Sonra da uyumasına izin vererek orada bırakın ve dışarıya çıkın. Buradan çıktığınızda yapacağınız ilk iş, yeniden GOEWİN ile konuşmak. GOEWIN ile konuştuktan sonra FORGE'a gidin ve burada LUTHERN ile konuşun. Yeniden MARKET PLACE'e gidin ve burada SKORL'u görünce takip edin. VILLAGE SHOP'a girecek. Pencereden LOOK THROUGH THE WINDOW ile bakın. Konuşmaları duyacaksınız. SKORL buradan çıkınca, onunla konuşun. Size fıçı hakkında bilgi verecek. SHOP'a girin ve burada EVAN ile konuşun. Evet. artık SKORL sizi kaleye götürecek. Kaleye girince, soldaki nesneye LOOK AT CASK ile bakın; göreceğiniz BUNG'ı alın. Buradan mutfağa gidin. İlk işler GET TONGS, LOOK AT CARCASS ve GET FAT. Daha sonra MINNOW ile konuşun ve ona, SELENA için geldiğinizi ve efendisine şarap mahseninde birisinin Olduğunu söylemesini söyleyin. MINNOW mutfaktan çıkınca, hemen sola doğru gidin ve USE TONGS ON BUNG komutunu kullanarak en sağa saklayın. SKORL, içeriye elecek ve şarabı görecek. Sola doğru ATE ROOM'a gidin. USE FAT ON LE-VER ile FAT'i asansörde kullanın. MIN-NOW'a asansörü çalıştırmasınısöyleyin. O asansörü hareket ettirirken, siz de PULL WINCH ile vinci hareket etti Kapı biraz açılacak. Buradan geri dönü prüyü kazasız belasız geçtikten sonra, sola doğru dönün karşınıza sevgiliniz SELENA çıkacak. Artık mutlu sona ulaştınız. Oyunun sonu biraz Türk filmlerine benzedi, ama hiç olmazsa kötü bitmedi.