You are on page 1of 6

BLM326 YAZILIM LAB I Proje 2 Proje: Akll Fareler Oyunu

- Proje mobil ortamda alacak cihazlar iin gelitirilecektir. Bu yzden mobil cihazlar zerinde yazlm gelitirmek iin kullanlabilen herhangi bir gelitirme platformunda uygun dil kullanlabilir. - Proje kaynak kodlar (source code) CD ierisinde raporla beraber teslim edilecektir. Proje teslimi srasnda raporunuzun kts ve 2 adet cd teslim etmeniz gerekmektedir. NTHAL: nternetten alnan kod paracklar mutlaka kod ierisinde belirtilecek ve aklama satr ile kaynak gsterilecektir. Aksi durumda kopya olarak deerlendirilecektir. Kopya ektii ya da kopya verdii tespit edilen renciler SUNUMA ALINMAYACAKTIR. NEML : 3 PROJEDEN 2 PROJENN RAPORUNU TESLM ETT HALDE SUNUMA GELMEYEN RENCLER DEVAMSIZLIKTAN KALACAKTIR.

Projenin Amac:
Projenin asl amac mobil ortamda uygulama gelitirmektir. Mobil ortamda gelitirilen uygulamalar gn getike yaygnlamaktadr ve pek ok alanda, birok farkl uygulama gelitirilmektedir. Bu yzden bu alanda da deneyim sahibi olmanz iin mobil platformda bir oyun gerekletirmeniz istenmektedir.

Proje Tanm ve Yapmanz Gerekenler:


Bir laboratuarda 3 adet akll fare eitilmektedir. Fareler labirent iine braklarak hangi yollardan gidecekleri gzlenmektedir. Eitim sonucunda 3 farenin de birbirine benzeyen yntemler gelitirdii gzlenmitir.
Farelerin hareket zellikleri:

Fareler bir yol ayrmna geldiklerinde ekil 1 deki pozisyonlarn ve son hamlelerini akllarnda tutmakta, daha sonra ayn konum ve yne geri dnebilmektedir. Ardarda getikleri ayrm noktalarn birlikte tutabilmekte, geri

dnme durumunda her zaman en son ayrm noktasna, kaldklar konum ve yne dnmektedirler.

ekil 1 Bir ayrm noktasndaki btn seenekleri deneyip k bulamadklarnda daha nceki ayrm noktasnda, kaldklar yerden ve karar verdikleri konumdan devam etmektedirler. Ayrm noktalar ekil 1 de grld gibi seenekli olabilecei gibi iki seenekli ( sol - sa, sol - ileri, sa - ileri ) de olabilir. Daha nce gemi olduklar yerlerde braktklar izleri hissetmekte, dolaysyla gemi olduklar yollarda duvar varm gibi davranmaktadrlar. Fareler kmaz sokaa gelmedike dnmezler. Geldiklerinde de hatrladklar ve hala denemedikleri seenek olan son konuma dorudan zplarlar. Fareler kendi konumlarna gre davranmakta, kresel bir kuzey, gney, bat, dou ayrmn yapamamaktadrlar. Yani izime gre aa ynde ilerleyen bir fare iin ilerisi, aaya doru, sol taraf ise izime gre sa ynde olacaktr. Bu 3 fare ayn yntemi renmi olmakla birlikte ayrm noktasndaki tercihleri birbirinden farkl olarak gelimitir. Bir fare nce dz giden yolu denemeyi tercih ederken bakas nce soldaki yolu denemektedir. Sonuta btn yollar k bulana kadar deneseler de bulduklar yollar ve birden fazla k varsa bulabildikleri klar deiebilmektedir. Buna gre farelerin denedikleri ynler aadaki gibidir: Fare 1: nce sol, sonra ileri, sonra sa ynler. Fare 2: nce ileri, sonra sol, sonra sa ynler. Fare 3: nce sa, sonra sol, sonra ileri ynler.

Farelerin ilerleyecei labirent:

Gelitireceiniz uygulamada kullanacanz labirent ve kap (A, B, C, D, E) rnei ekil 2 de verilmitir. 0 ve 1 rakamlarn kullanarak (rnein duvarlar 0, ile gidilecek yollar yani boluklar 1 ile gsterilip labirent oluturulur. ekil 2 deki labirent 15X26 lk matris eklindedir. Baz koyu renk kareler (duvarlar) iinde ince beyaz alanlar kalmtr, beyaz alanlar dikkate almaynz bu deerler '0' yani duvardr (rn:(2,5), (12,20), (5,10), (7,10).. vb.) ) kendi labirentinizi oluturup (matris boyutu ve kap says size bal, ekil 2 deki labirentten bamsz olup, kaplar ve duvarlar farkl yerlerde olabilir) benioku.txt belgesine kaydetmelisiniz. Mobil uygulamanzda bu labirent bilgisi benioku.txt belgesinden okutturulacak ve fareler bu labirentte gezinme ilemlerini yapacaklardr.

ekil 2 Verilen bu bilgiler dorultusunda; Fare 1-> sol, ileri, sa Fare 2-> ileri, sol, sa Fare 3-> sa, sol, ileri

eklinde ilerler. Yani yol ayrmna geldiklerinde, rnein 1. fare; nce sola gitmeyi dener, yol kapalysa ileri gitmeyi dener ve oras da kapalysa saa gider. Her 3 farede kmaz sokaa girerlerse geri dnerler ve dier yolu tercih ederler. Ayn zamanda daha nce getikleri yerlerde kendi kokularn alglayp kmaz sokakm gibi geri dner ve dier yolu tercih ederler.
rnek zmler:

rnek 1: 3 numaral fare A kapsndan braklrsa hangi k bulduuna bakalm; Fare 3 yol tercihini sa-sol-ileri eklinde yapar. A noktasndan kar. Yol ayrmna geldiinde yol tercihine gre ilerler ilk tercihinde yol kapalysa geri dnp ikinci tercihini uygular. ekil 3 de verilen yolu izler ve C kapsndan kar.

ekil 3 rnek 2: 2 numaral fare A kapsndan braklrsa hangi k kapsnda olacana bakalm; Fare 2 yol tercihini ileri, sol, sa eklinde yapar. A kapsndan ktnda yol tercihlerini srasyla uygulayarak ilerler fakat 'x' noktasna geldiinde kendi kokusunu fark ettii iin bir nceki yol ayrmna geri dnp ikinci yol tercihini uygular. Bu nedenle B kapsndan kar. (Bknz. ekil 4)

ekil 4
Projeden Beklenenler:

Mobil uygulamanzda kullanc verilen kaplardan birini giri seecek ve Fare 1, Fare 2, Fare 3 iin hangi kaplardan k yaplaca uygulamanz tarafndan bulunacaktr. Srasyla her fare iin , bu farelerin hangi k kapsndan kaca bulunduktan sonra izlenilen yol ekrana izdirilecektir. (Bknz. ekil 3 ve ekil 4 ) Kullanc tarafndan seilen giri kaps iin en ksa yol algoritmas (Djkstra, Bellman Ford ve Floyd algoritmalar en ok bilinen en ksa yol bulma algoritmalardr.Bu algoritmalardan birini yada farkl bir en ksa yol bulma algoritmas kullanabilirsiniz. Algoritma seimi size braklmtr.) kullanlarak minimum yol maliyetli en ksa k kaps belirlenecektir. Kullancnn setii bu giri kapsndan ayr ayr giren Fare 1 , Fare 2 ve Fare 3 farelerinin hangi kaplardan kt ve bu kaplara giderken toplam yol maliyetleri ayr ayr hesaplanacaktr. 1., 2. ve 3. farelerin k kaplarna giderken hesaplanan toplam yol maliyetleri; en ksa kn toplam yol maliyetiyle kyaslanp listelenecektir. (Her birim karenin maliyeti 1 birim olarak alnacaktr. Toplam maliyet birim cinsinden bulunacaktr.)

Demo Gn Teslim Etmeniz Gerekenler :


Kodlama ve uygulamay yaptnz ortam (IDE) hakknda sorulacak olan sorulara hazrlkl olmanz beklenmektedir.

Demo gn teslim edilecekler:

2 adet Cd, raporunuzun kts (hard-copy).


CD iinde olmas gereken dkmanlar:

-Projenizin kaynak kodlar - Proje'nin rapor kts (soft-copy). - CD iinde kodunuz, programnzn altrabilmesi iin gerekli olan instructionlar (readme.txt) ve raporunuz (Daha nce verilen rapor formatna gre hazrlamalsnz). - Proje raporunuzu proje dokmanlarnn iinde yer alan rapor formatna uygun olarak hazrlamanz gerekmektedir.

Son Teslim tarihi: 11.11.2013 Pazartesi gndr. Projeyi kime teslim edeceiniz ve sunum tarihleriniz daha sonra duyurulacaktr.