Bu proje, Java'da geliştirilmiş basit bir komut satırı tabanlı Tombala oyunudur. Oyuncuların ve oyun kartlarının bilgileri harici bir metin dosyasından okunur. Program rastgele sayılar çeker ve bir oyuncunun kartındaki tüm sayıları ilk tamamlayan oyunu kazanır.
Bu proje, temel Java programlama becerilerini göstermek amacıyla oluşturulmuştur. Dosya okuma/yazma, veri yapıları (HashMap, ArrayList), rastgele sayı üretimi ve temel oyun döngüsü mantığı gibi konuları içermektedir.
Oyunun ana mantığı _23010310055_main.java dosyasında yer almaktadır.
-
readFile()metodu:- Projenin başlangıcında bu metot çalıştırılır ve
Bilgiler.txtdosyasını okur. - Dosya içerisindeki oyuncu isimlerini, seçtikleri kart numaralarını ve tüm oyun kartlarının içeriğini (sayıları) ayrıştırır.
- Bu bilgileri bir
HashMapveri yapısında saklar ve ana oyun metoduna gönderir.
- Projenin başlangıcında bu metot çalıştırılır ve
-
drawnNumber()metodu:- Bu yardımcı metot, 1 ile 20 arasında rastgele bir sayı üretir ve bu sayıyı
Stringolarak döndürür.
- Bu yardımcı metot, 1 ile 20 arasında rastgele bir sayı üretir ve bu sayıyı
-
playGame()metodu:- Oyunun ana döngüsü burada bulunur.
readFile()metodundan gelen oyuncu ve kart bilgilerini alır.- Daha önce çekilmemiş rastgele bir sayı çekilir.
- Çekilen sayı, tüm oyuncuların kartlarındaki sayılarla karşılaştırılır.
- Eğer bir eşleşme bulunursa, o sayının yanına bir
#işareti eklenir. - Her tur sonunda, oyuncuların güncel kart durumları ekrana yazdırılır.
- Bir oyuncunun kartındaki tüm 5 sayı da (
#ile) işaretlendiğinde oyun sona erer ve kazanan oyuncu ilan edilir.
-
Player.javasınıfı:- Bu basit sınıf, bir oyuncunun adını (
playerName) ve sahip olduğu kartın içeriğini (playerCard) tutmak için bir yapı sağlar.
- Bu basit sınıf, bir oyuncunun adını (
Bu projeyi bilgisayarınızda çalıştırmak için Java Geliştirme Kiti'nin (JDK) yüklü olması gerekmektedir.
-
Dosyaları Hazırlama:
- Tüm proje dosyalarını (
_23010310055_main.java,Player.java,Bilgiler.txt) aynı dizine veya bir IDE projesine yerleştirin. - Önemli: Kod,
Bilgiler.txtdosyasınınsrc/_23010310055_Mehmet_Ök/Bilgiler.txtyolunda olduğunu varsayar. Projenizi derlerken ve çalıştırırken bu dosya yapısını koruduğunuzdan veya koddaki dosya yolunu güncellediğinizden emin olun.
- Tüm proje dosyalarını (
-
Derleme (Komut Satırı):
- Komut satırını açın ve proje dosyalarının bulunduğu ana dizine gidin.
- Aşağıdaki komutu kullanarak Java dosyalarını derleyin:
javac src/_23010310055_Mehmet_Ök/*.java
-
Çalıştırma (Komut Satırı):
- Derleme işlemi tamamlandıktan sonra, oyunu başlatmak için aşağıdaki komutu kullanın:
java _23010310055_Mehmet_Ök._23010310055_main
- Derleme işlemi tamamlandıktan sonra, oyunu başlatmak için aşağıdaki komutu kullanın:
Oyun başlayacak, Bilgiler.txt dosyasını okuyacak ve konsola her turda çekilen sayıları ve oyuncuların kart durumlarını yazdıracaktır.
[cite_start]Oyunun tüm kuralları ve başlangıç verileri Bilgiler.txt dosyası üzerinden kontrol edilir[cite: 7]. [cite_start]Oyunu oynamak veya özelleştirmek için bu dosyayı belirli kurallara göre düzenlemeniz gerekir[cite: 7].
- [cite_start]Oyuncu bilgileri
"isim kart-x "formatında olmalıdır[cite: 1]. - [cite_start]
xyerine 1 ile 9 arasında bir sayı gelmelidir[cite: 2]. [cite_start]Bu sayınınBilgiler.txtiçinde tanımlanmış bir kart numarası olması gerekir[cite: 2]. - [cite_start]Her kart yalnızca bir oyuncu tarafından seçilebilir[cite: 3].
- [cite_start]Oyun kartları
"kart-x x x x x"formatında tanımlanmalıdır[cite: 4]. - [cite_start]Kart üzerindeki sayılar 1 ile 20 (dahil) arasında olmalıdır ve aynı kart üzerinde bir sayı tekrarlanmamalıdır[cite: 4].
- [cite_start]Bir kart tanım satırı, son sayıdan sonra herhangi bir boşluk veya başka bir karakter olmadan bitmelidir[cite: 5, 6].
Kisiler ve Sectikleri Kart:
irfan kart-5
mert kart-6
hakan kart-3
ferdi kart-7
ismail kart-2
kartal kart-1
Oyun Kartlari:
kart-11 3 6 10 14
kart-8 1 4 5 15
kart-1 2 6 7 13
kart-3 5 8 11 12
kart-4 6 9 11 13
kart-2 1 15 7 10
kart-11 2 5 17 20