Bu sayfadaki yazılar
Sayfanın metni
Sayfa 59
SCAVENGER HUNT
Şu sıcak yaz aylarında ne kadarınız, denizi veya havuzu bırakıp, bilgisayar başında adventure oynuyordur bilmiyorum ama koşullar ne olursa olsun adventure'sız kalamayacak meraklılar için bu ay hafif fakat eğlenceli bir oyun olan Adventures Through Time, Scavenger Hunt'ı tanıtacağım. Zaten pek yeni adventure oyununun çıkmadığı şu sıralarda önceden yaz için çözüp bitirmeyi planladığınız eski bir adventure yoksa bundan daha iyisini bulabileceğinizi sanmıyorum.
Oyunu hazırlayan Aurum Software pek adı duyulmamış yeni bir firma, diğer pek çok yazılım firmasının yaptığı gibi piyasada tanınmak için ilginç özelliklere sahip iyi bir adventure yazmayı tercih etmiş (iyi bir arcade oyunu yazmak ve piyasada adventure kadar uzun süre satmasını sağlamak bence daha zor bir iş).
Oyunun konusu şöyle: 2041 yılında insanlar zaman yolculuğu yapabilecek teknolojik düzeye erişmişlerdir. Yakın bir zaman öncesine kadar dünyanın siyasal çehresi değişmiş ve bütün ülkeler birleşerek United Earth (Birleşik Dünya) adında tek bir devlet haline gelmiştir. United Earth, özel olarak dikkatle seçilmiş yüz erkek ve kadına zaman makinelerinin sorumluluğunu teslim etmiş ve Tarihçi adını alan bu insanlar zamanın koruyucusu olmuşlardır. Böylece meraklıların insanlık tarihini karıştırmasının önleneceği düşünülmüştür. Ancak United Earth'ün unuttuğu bir şey vardır; Tarihçilerin de çocukları olduğu.
Scavanger Hunt'ta Tarihçi bir ailenin Buck adındaki çocuğu rolündesiniz. Bu sevimli ufaklık zaten Tarihçi çocuğu olması nedeniyle fazlaca zeki ve makinelunduğunuz yer hakkında yazı olarak bilgi verdikçe bu yazıdaki kelimelerin üzerine klik yaparak komutlar verebiliyorsunuz. Sonuç olarak, mouse'un sol tuşunu, program ekrandaki objeyi tanıyana kadar basarak eskitmek yerine, bir kere kelime üzerine klik ederek daha uzun ömürlü kullanabilirsiniz.
Bir de madalyonun öteki yüzü var. Psygnosis'in oyunlarındaki grafik kalitesini ve Sierra'nınkilerin esprilerini bu oyunda bulmak zor. Gerçi yukarıda dediğim gibi bu, Aurum Software'in ilk oyunu ve ileride daha iyi oyunlar yazacaklarından eminim. Ancak yine de bu ilk oyunun grafikleri ve kelime hazinesindeki eksiklikleri belirtmem gerekli.
Adventure Through Times serisinin ilk oyunu Scavanger Hunt'ın başında Buck, kişisel haberleşme cihazından arkadaşlarının mesajlarını duyuyor. Mesajlarda tarih içinde bulacağınız Pterosaur Egg, Papyrus Scroll, Greek Lyre, Medieval Shield ve Tomahawk gibi eşyalardan bahsediliyor. Bundan hemen sonra pili biten haberleşme cihazı için leri kurcalamaktan oldukça hoşlanıyor. Amacınız mouse ya da komutlar vererek onu zaman yolculuğuna çıkartmak. Oyunun konusu kısmen Chrono Quest serisi oyunlarına benziyor. Öte yandan, Sierra'nm oyunlarındaki gibi ekranda hareket eden bir karaktere sahip olması (hem de hızlı) oyunun bir başka özelliği. Aslında bakacak olursanız ben ne Psygnosis'in ne de Sierra'nın adventure'larına bu nedenlerden ötürü pek ısınamadım. Bu sözüme kızanlarınız olabilir ancak Buck'ın ekrandaki hareket hızını gördükten sonra Larry'nin yavaşlığına katlanmak için bir nedenim kalmadı. Ayrıca bu oyunda, Chrono Quest'in zaman zaman bıktırıcı olabilen ekrandan obje klikleme yöntemine iyi bir alternatif bulunmuş. Oyun size butılı. Örneğin, Buck'ın herhangi bir odadaki kapıyı açmasını istiyorsanız önce ÖPEN ikonuna kliklemeli sonra da grafik ekranında kapıyı kliklemelisiniz. Ekranın sol alt kısmında komutları normal biçimde yazarak girebilirsiniz. Bu kısımda yazılı herhangi bir kelimeyi kliklediğinizde bir kelime tekrar komut argümanı olarak ekrana yazılabiliyor.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 58
Bu örnekte düşünce, formüle etme ve uygulama aşamalarında Boole Cebri'ni inceledik. Sizin de fark edeceğiniz gibi formül aşaması olmadan düşünceden direkt uygulamaya geçmek oldukça zor ve karmaşık olurdu, işte Boole Cebri'nin kolaylığını ve sağladığı avantajları yaşadık. Herhangi bir özel kabiliyet kullanmadan sadece sırayı takip ederek sonuca ulaştık. Şimdi pek çoğunuz böyle bir örneğin gerçek hayatta kullanılamayacağını düşünebilirsiniz. Ancak gerek basit lojik devrelerde, gerekse bilgisayar tasarımında bu tür hatta bundan çok daha karmaşık devrelerde Boole Cebri halen kullanılıyor. Aklımıza takılan bir ikinci soru da uygulamada bunun nasıl gerçekleştiği olabilir. Daha önceki yazılarımızda değişik kapıları içeren yüzlerce entegre devre elemanlarının kullanıldığını söylemiştik. İşte son lojik şemamızı da çıkardıktan sonra gereken şey entegre kataloğundan bu işlemleri (üç girişli AND veya iki girişli OR kapısı gibi) yapabilen entegreleri seçmek ve birbirine şemaya uygun şekilde montelemektir.
FLİP-FLOP'LAR Flip-flop devreleri, ikili bilgiler içindeki tek bir bit'in saklanabilmesi için kullanılan lojik elemanlar olup lojik 1 ve lojik 0 olarak kararlı iki durumları vardır.
Flip-flop'ların temel fonksiyonu bilgi depolama, saklama olan dijital lojik devrelerdir. Lojik 0 ve lojik 1'e karşı düşürülebilen kararlı iki durumları vardır. Değiştirilene kadar ve besleme gerilimi uygulandığı sürece bulundukları durumu korurlar.
Lojik bilgileri saklamak için bellek olarak kullanılırlar. En son duruma ayarlandıklarını hatırlar ve verilen bilgiyi saklarlar. Bu bilgi uygun lojik girişlere uygulanır. Flip-flop'ta saklanan bilginin değerini anlamak için devre çıkışlarına bakılır. Bir tek flip-flop sadece bir tek lojik bilgiyi saklar, lojik 0 ve 1'e karşı düşen kararlı iki durumları vardır.
Temel olarak üç tip flip-flop vardır: S-R tipi (Latch), D tipi ve JK tipi. SR tipi flip-flop'lar en basit bellek elemanıdırlar. Sembolleri aşağıdaki şekilde görülmektedir.
S ve R gibi iki girişleri, Q ve Q gibi iki çıkışları vardır. S ve R girişlerine uygulanacak uygun sinyallerle flip-flop bir duruma veya diğerine getirilmiş olur. Q çıkışı lojik 1 ise saklanan bilgi lojik 1'dir; flip-flop S girişine uygulanan bir sinyal ile (set) edilmiş demektir.
Q çıkışı 0 (Q çıkışı 1) ise saklanan bilgi lojik 0'dır, flip-flop R girişine uygulanan bir sinyal ile (reset) edilmiş demektir. Saklanan bilgiyi anlamak için devre çıkışlarına bakılır, en son hangi girişe sinyal uygulanmış olduğu belirlenir.
Flip-flop'ın durumunu (sakladığı lojik bilgiyi) normal (Q) çıkışı belirler; lojik 1 seviyesinde ise saklanan bilgi lojik 1'dir. Diğer çıkış bunun komplementidir. (Lojik 0)
Flip-flop RESET durumunda ise normal çıkış 0; komplement çıkış 1 seviyesindedir. Flip-flop'un bulunduğu duruma göre çıkışların aldıkları değerler aşağıdaki tabloda görülmektedir.
Bu ilişki diğer tip flip-flop devreleri için de geçerlidir. Lojik kapı devreleriyle gerçekleştirilmiş SR tipi flip-flop'lar şekil 6.3'te görülmektedir. İkişer girişli iki NAND kapısından birincisinin çıkışı, ikincisinin girişlerinden birine; ikincisinin çıkışı, birincisinin girişlerinden birine bağlanır. Diğer girişler flip-flop devresinin SR girişleri; kapı çıkışları ise Q ve Q çıkışları olmaktadır.
Aşağıdaki şekli göz önüne alırsanız, her iki girişin (S ve R) lojik 1 (veya açık) olması durumunda devre daha önceki giriş durumlarının belirlediği konumda bulunacaktır. Örneğin set durumunda ise: 1 nolu kapının Q çıkışı lojik 1 (HIGH) olacak bu çıkış 2 nolu kapının girişlerinden birine gelmekte olduğundan ve 2 nolu kapının diğer girişi de açık (HIGH) olduğundan Q çıkışı lojik 0 olacaktır. Q çıkışı 1 nolu kapının girişine geldiğinden, Q çıkışı lojik 1 seviyesinde tutulmuş olacaktır.
S girişi High tutulurken R girişine Low uygulanırsa flip-flop resetlenir. 2 nolu kapı girişine Low geldiğinden Q çıkışı High olacak 1 nolu kapının her iki girişine High uygulandığından Q çıkışı Low olacak bu çıkış aynı zamanda 2 nolu kapının girişine geldiğinden, R girişinden Low seviyesi kalksa da Q çıkışı High seviyesinde tutulmaya devam edecektir.
Flip-flop set durumunda iken S girişine Low uygulandığında çıkışlarda bir değişme olmaz. Set durumunda Q çıkışı High; Q çıkışı Low'dur. Q çıkışı 1 nolu kapının girişlerinden birine gelmektedir ve bu kapının diğer girişi (S) ne olursa olsun Q çıkışı High seviyede bulunacaktır. Aynı şekilde eğer flip-flop reset durumunda ise R girişine Low uygulanması flip-flop konumunu değiştirmez.
Şekilde darbe diyagramında çeşitli giriş durumları için çıkışların aldıkları değerler görülmektedir. S girişine uygulanan 1 nolu darbe Q çıkışını 0'dan 1'e geçirmiştir. O halde 1 nolu darbeden önce R girişine bir darbe uygulanmış demektir.
Diyagram incelendiğinde görülür ki devre set durumunda iken uygulanmış 4 nolu darbe çıkışları değiştirmemiştir. Aynı şekilde R girişindeki 6 nolu darbe de flip-flop'un konumunu değiştirmemiştir. Q çıkışı 0 iken uygulanan 7 nolu darbe devreyi set etmiş Q çıkışı 1 olmuştur.
NAND'lerle kurulmuş flip-flop devrelerinde girişler normal olarak High seviyesindedir. Girişlerin kısa süreli Low yapılmasıyla flip-flop set veya reset edilir.
Her iki girişin Low olması durumunda en az birer girişleri Low olan NAND kapı çıkışları 1 olacağından hem 1, hem 2 nolu kapıların çıkışları lojik 1 seviyesinde olur. Flip-flop'un çıkışların birbirinin komplementi olması gerektiğinden bu durum anlamsızdır. İki kapı ile oluşturulan flip-flop'larda bu durumla karşılaşmak her zaman mümkündür. Girişler kontrol edilmeli, bu durumun oluşmasına izin verilmemelidir.