@pasaahmet Elinize sağlık. Güzel olmuş. Ben de
@Pelin Kıymakçı nin kodlarının üzerine şöyle ekleme yapmıştım.
-Zar sonuçlarını ve hangi tura ait olduğu bilgisini tutmak için bir class:
Java:
import java.util.List;
public class ZarSonuc {
private int turSayisi;
private int zar1;
private int zar2;
public ZarSonuc(int turSayisi, int zar1, int zar2) {
this.turSayisi = turSayisi;
this.zar1 = zar1;
this.zar2 = zar2;
}
public int getTurSayisi() {
return turSayisi;
}
public void setTurSayisi(int turSayisi) {
this.turSayisi = turSayisi;
}
public int getZar1() {
return zar1;
}
public void setZar1(int zar1) {
this.zar1 = zar1;
}
public int getZar2() {
return zar2;
}
public void setZar2(int zar2) {
this.zar2 = zar2;
}
}
- Bu sonuçları kaydetmek için ZarSonuc listesi tipinde değişkeni ve 2 metotu olan olan bir class:
Java:
import java.util.ArrayList;
import java.util.List;
public class ZarKayit {
private List<ZarSonuc> sonucList;
public ZarKayit(){
sonucList = new ArrayList<ZarSonuc>();
}
public void sonucKaydet(ZarSonuc zarSonuc) {
this.sonucList.add(zarSonuc);
}
public void kayitYazdir(){
System.out.println("---------");
for(int i=0;i<sonucList.size();++i) {
System.out.println(sonucList.get(i).getTurSayisi()+".nci tur icin:"
+"1.Zar:"+sonucList.get(i).getZar1()+", "
+"2.Zar:"+sonucList.get(i).getZar2());
}
System.out.println("---------");
}
}
main de şöyle:
Java:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner gir = new Scanner(System.in);
int oyuncu1 = 100, oyuncu2 = 100;
int zar1, zar2, sayac = 0;
char s = 'd';
//---------
ZarKayit zarKayit = new ZarKayit(); //zar sonuclarini kaydedecek,yazdiracak
ZarSonuc zarSonuc;
//---------
while(true) {
System.out.println("Zar atmak için herhangi bir tuşa basınız...");
s = gir.next().charAt(0);
sayac++;
System.out.println(sayac + ".tur");
System.out.println("...ZARLAR ATILIYOR...");
zar1 = (int) (1 + Math.random() * 6);
zar2 = (int) (1 + Math.random() * 6);
System.out.println("1.Zar " + zar1 + " geldi.");
System.out.println("2.Zar " + zar2 + " geldi.");
//=========
System.out.println("Sonucu Kaydetmek Icin 'K' ya basiniz\n"
+"Programi sonlandirmak icin 'X' e basiniz\n"
+ "devam etmek icin herhangi bir tusa basiniz\n\n");
s = gir.next().charAt(0);
if(s == 'K') {
zarSonuc = new ZarSonuc(sayac, zar1, zar2); //Son tur sonucuna gore yeni bir nesne olusturuldu.
zarKayit.sonucKaydet(zarSonuc); //Bu nesne ile son tur sonucu kaydedildi.
System.out.println("Kaydedildi");
}else if(s == 'X'){
System.out.println("Program Sonlandirildi !!");
System.out.println("Mevcut Kayitlar:");
zarKayit.kayitYazdir(); //kaydedilmiş sonuclar yazdirildi..
System.exit(0);
}
//==========
}
}
}
Ama menü seçeneklerimi çok geliştiremedim. Daha da geliştirilebilir tabiki. Mesela kaydettikten sonra çıkış seçeneği yok bir tur daha zar atıp sonra çıkış yapmak zorunda kalıyorsunuz.
@pasaahmet in menüsü daha güzel olmuş. ona benzer bişe yapılabilir.
Classları ekte zipledim.
@Pelin Kıymakçı Bu örnekler üzerinden ilerleyip kendinize has bir program yazarsanız sizin için daha faydalı olur. Constructor, getter-setter metotları vb. biliyor musunuz? Java bilginiz ne kadardır bilemiyorum. Ancak anlamadığınız kısımları sorabilirsiniz.