Skip to content

memreok/TombalaSimulasyon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java Tombala Oyunu

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.

Projenin Amacı

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.

Nasıl Çalışır?

Oyunun ana mantığı _23010310055_main.java dosyasında yer almaktadır.

  1. readFile() metodu:

    • Projenin başlangıcında bu metot çalıştırılır ve Bilgiler.txt dosyası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 HashMap veri yapısında saklar ve ana oyun metoduna gönderir.
  2. drawnNumber() metodu:

    • Bu yardımcı metot, 1 ile 20 arasında rastgele bir sayı üretir ve bu sayıyı String olarak döndürür.
  3. 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.
  4. Player.java sı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.

Kurulum ve Çalıştırma

Bu projeyi bilgisayarınızda çalıştırmak için Java Geliştirme Kiti'nin (JDK) yüklü olması gerekmektedir.

  1. 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.txt dosyasının src/_23010310055_Mehmet_Ök/Bilgiler.txt yolunda 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.
  2. 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
  3. Ç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

Oyun başlayacak, Bilgiler.txt dosyasını okuyacak ve konsola her turda çekilen sayıları ve oyuncuların kart durumlarını yazdıracaktır.

Nasıl Oynanır? (Bilgiler.txt Dosyasının Yapılandırılması)

[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].

Oyuncu ve Kart Seçimi Kuralları

  • [cite_start]Oyuncu bilgileri "isim kart-x " formatında olmalıdır[cite: 1].
  • [cite_start]x yerine 1 ile 9 arasında bir sayı gelmelidir[cite: 2]. [cite_start]Bu sayının Bilgiler.txt içinde tanımlanmış bir kart numarası olması gerekir[cite: 2].
  • [cite_start]Her kart yalnızca bir oyuncu tarafından seçilebilir[cite: 3].

Oyun Kartı Kuralları

  • [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].

Örnek Bilgiler.txt Dosyası

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages