AION - Tıkla oyna


Kullanıcı Adı:
şifre:
şifreyi Anımsa
şifrenizi mi unuttunuz?     ÜYE OL

 Tüm Forumlar
 Oyunlar Genel
 Oyun Yapımı
 Tombala Oyunu Yapmam Gerek Yardım Gerek Tombala
 Yeni Konu  Konuyu Yanıtla
 Yazıcı Dostu
Yazar Önceki Konu Konu Sonraki Konu  

simone
Üye

İleti 3

İletim - 06/10/2006 :  22:27:52  Bilgileri Göster  Alıntı yaparak Yanıtla
merhabalar..programlama dersimizde ödev olarak tombala oyunu verildi..oyuncu sayısının input olarak alınacağı,her oyuncunun random olarak 1- 99 arası 6 adet çekiliş yaparak elini oluşturduğu ve ilk kartını tamamlayanın oyunu kazanacağı,programlama dili serbest bırakılan bir oyun...bu konuda verebileceğiniz her türlü yardıma açığım.kod,kaynak site,demo,exe,fikir..ne olursa:)hemde acil tarafından!!!lütfen yardıııııııııııııııııııımmmmmmm:)))veri yapıları dersinde gördüğümüz bilgileri çokça kullanacağımıza dair bi tüyo verildi,gerisi meçhul.cevaplarınızı bekliorumm..MUTLU GÜNLER..

mjo
Üye



İleti 85

İletim - 07/10/2006 :  19:37:48  Bilgileri Göster  mjo için bir ICQ İletisi Gönder  Alıntı yaparak Yanıtla
oyun kaç kişi ile oynanacak yada sadece bilgisayara karşımı oynanacak
o zman işin içine yapay zekada giriyor biraz
...C++ yada visual basic de yapılabilir..yada pascal da yani hepsinde yapılabilinir.
Sayfanın En Üstüne Git

simone
Üye

İleti 3

İletim - 07/10/2006 :  20:52:02  Bilgileri Göster  Alıntı yaparak Yanıtla
daha öncede belirttiğim gibi oyuncu sayısı konusunda sınırlama yok..başlangıçta oyuncu sayısı kullanıcıdan girdi olarak alınacak program tarafından..banada C++ en ideali gibi geliyor fakat işin içinden nasıl çıkacağımı henüz hala kestirebilmiş değilim..daha açıklayıcı olanlarınız varsa hala yardım gerekiyor:)MUTLU GÜNLER!
Sayfanın En Üstüne Git

Dreamwalker
Seçkin Üye

USA
İleti 257

İletim - 09/10/2006 :  11:04:31  Bilgileri Göster  Dreamwalker için bir ICQ İletisi Gönder  Alıntı yaparak Yanıtla
Programlama dersinde verilen odevi yapabilecegin kadar ogretmediler mi? Sorumdan yanlis birsey anlama, samimi olarak soruyorum. Bende benzerini yasamistimda, hala ayni durum mu diye merak ettim :)

Veri tabani ile yapman isteniyorsa, o zaman ilk once veri tabanini olusturarak basla. Kucukken oynadigim tombalanin kurallarini hatirlamiyorum gerci, o yuzden ornek rakamlar kullanacagim.

ilk tabloda (table) bolumleri (column) olusturmaya basla. ilk bolum kullanici numarasi olacak. ikinci bolum ise kullanici adi, sonrasinda ise tombala kagidinda kac rakam varsa o kadar bolum olustur. Mesela ornek 20 rakam var toplam diyelim. Tablo buna benzeyecek:


no  |  isim  | rakam1  |  rakam2  |  rakam3  |  ...  |  rakam20
---------------------------------------------------------------
1   |  Ahmet | 3       |  9       |  24      |  ...  |  85
2   |  Ayla  | 5       |  8       |  37      |  ...  |  89
3   |  Bora  | 4       |  11      |  23      |  ...  |  82


Tabi satir kismi ilk basta bos olacak. Ben onlari sana daha rahat anlarsin diye yazdim. Sectigin programlama dili o kisimlari dolduracak.
ilk basta sana kac oyuncu oynayacagini soracak. Mesela 3 dedik. Bilgisayar bir do..while (yada benzeri) bir dongu icine girerek, oyuncu isimlerini alacak ve bu tabloya kaydedecek.
3 oyuncu dedigimizden 3 kere isim soracak. Sirasi ile Ahmet, Ayla ve Bora dedik. Onlari kaydederken "no" kismina 1 den oyuncu sayisina kadar rakam atayacak. Bunu cogu veri tabani otomatik yapar index yada unique olarak tanimlarsan.

Kac oyuncu oynayacagini ve oyuncu isimlerini aldin, tabloya yerlestirdin. Simdi ise tombala kartlarini hazirlaman gerek. Sanirim karttaki rakamlar sadece 2 yada 3 kere olabiliyordu? Yani eger bir kartta 11 varsa, baska kartta 11 olabilir ancak 3. kartta 11 olamaz. Eger boyle bir kural varsa, o zaman rakamlari olustururken bunlari kontrol etmen gerek. Tabloya koymadan once yaparsan baya bir hiz kazanirsin. Rakamlari random (rand, srand gibi turevleri dile gore degisir) komutu ile belirlerken bunlari bir "array" icine atman gerek. Mesela $rakamlar1, $rakamlar2 gibi... Bu arraylerin icindeki degiskenlerin ise digerleri ile ayni olup olmadigini (hatta kendi iclerinde bile) karsilastirman gerek. Yani baya bir if..else dongusu yapacaksin do...while dongusu icinde... Baska yontemler mevcut tabii.

Rakamlar secildi tabloya konuldu oyuncu isimlerinin yanina... ilk sirasi gelen oyuncu Ahmet olacak dogal olarak, "no" su 1 oldugundan. Onun tombala kartini cizman gerek ekrana her rakam beyaz olarak mesela. Sonrasinda ise rasgele 1-99 arasi 6 rakam vereceksin Ahmet bir tusa bastiginda. O rakamlar elindeki karttaki rakamlari tutuyorsa, o rakam silinecek tablodan ve ekrandan. Eger oyun kurallari rakamin gosterilmesi gerektigini belirtiyorsa, oyuncu tablosunu kopyalarsin gecici olarak (yada kalici tablo olustur, hangisi kolayina geliyorsa) ve 2. tabloya sadece oyuncunun buldugu rakamlari eklersin. Ahmet'in birinci rakami 3, ikinci rakami ise 9. Diyelimki Ahmet 9 rakamini cekti.. O zaman 2. tablodaki bos haneye 9 rakami ekleyeceksin. (2. tablo bos olacak, sadece oyuncu tas buldugunda yazilacak. Mesela "rakam2" 9 ve Ahmet onu cekti. O zaman 2. tablodaki rakam2 hanesine bir isaret koyman gerek. Ama 0-1 ile ama rakami yazarak. Ve ekrana karti cizerken eger o hane dolu ise, o rakam mavi olacak, beyaz yerine)

Her oyuncunun eli bittiginde, bilgisayar bu 2. tabloyu kontrol edecek. Eger bir oyuncu tum haneleri doldurabilmis ise oyunu kazanir.



Eger veri tabani ile yapman zorunlu degil ise arrayler ile yapabilirsin. Gene ayni mantigi kullanarak veri tabani yerine, "Array" leri kullanabilirsin. 1-99 arasi rakamlari bir array'e atarak oradan rasgele secip, sectigini silersen daha bile kolay yapabilirsin. Tum bu olaylar sectigin dile (ve veri tabani eger kullanacaksan) gore degisir.
Kaynak bakma hic bir yerden derim. Otur biraz kurcala sectigin programlama dilini ve ilk once sadece 1 kisilik oyun uzerine yapmaya basla. 1 kisilik tombala oyunu yaptiginda, o zaman oyunu gelistirirsin.
Bu tarz bir oyun basic, hatta php'yi secebilirsin. Eger amacin dersi gecmek degilde, cidden bu isi ogrenmekse bir basla kendin yapmaya takildigin yerde sorarsan yardim edinilir. internetteki kaynak kodlardan ise uzak dur derim.. Sana kalmis.
Sayfanın En Üstüne Git
  Önceki Konu Konu Sonraki Konu  
 Yeni Konu  Konuyu Yanıtla
 Yazıcı Dostu
Hızlı Geçiş:

0.03 Snitz Forums 2000