Programlama ile hatırı sayılır bir süre uğraştıysanız Nesne Yönelimli Programlama kavramını duymuşsunuzdur. Java Nesne Yönelimli Programlamayı temel alan bir dilidir.
Bu yazıda basit bir sıra tabanlı oyun için gerekli sınıfları ve nesneleri oluşturarak Java’da nesne ve sınıf kavramlarını açıklayacağım.
İlk olarak NESNE ve SINIF nedir sorularına cevap verelim.
Java’da Sınıf Nedir?
Sınıf, ortak özelliklere sahip bir nesneler grubudur. Nesnelerin oluşturulduğu bir şablon veya taslaktır. Mantıksal bir varlıktır. Fiziksel değildir.
Java’daki bir sınıf şunları içerebilir:
- Alanlar
- Yöntemler
- İnşaatçılar
- Bloklar
- İç içe sınıf ve arabirim
Java’da Nesne Nedir?
Durum ve davranışı olan bir varlık, bir nesne olarak bilinir, örneğin sandalye, bisiklet, keçeli kalem, kalem, masa, araba vb. Fiziksel veya mantıksal (somut ve soyut) olabilir. Maddi olmayan bir nesnenin örneği bankacılık sistemidir.
Bir nesnenin üç özelliği vardır:
- Alan: bir nesnenin verilerini (değerini) temsil eder.
- Davranış: Bir nesnenin yatırma, çekme vb. davranışını (işlevselliğini) temsil eder.
- Kimlik: Bir nesne kimliği tipik olarak benzersiz bir kimlik aracılığıyla uygulanır. Kimliğin değeri harici kullanıcı tarafından görülmez. Ancak, JVM tarafından her bir nesneyi benzersiz bir şekilde tanımlamak için dahili olarak kullanılır.
Şimdi sıra geldi sınıfın nasıl oluşturulacağını göstermeye.
Java’da Sınıf Oluşturma
Java sınıf oluşturmak için class
sözcüğünü kullanırız. Aşağıdaki söz dizimi Java’da basit bir şekilde nasıl sınıf oluşturacağınızı gösterir.
class <sinif_adi>{
alanlar;
metotlar;
}
class <sinif_adi>{ alanlar; metotlar; }
|
Sınıfları kullanarak örnek nesneler oluşturabiliriz. Örnek nesne oluşturmak için new
sözcüğünü kullanırız. Şimdi sınıf ve nesne ile ilgili basit bir örnek görelim.
Ogrenci.java (Sınıf)
public class Ogrenci {
int numara;
String ad;
String soyad;
}
public class Ogrenci { int numara; String ad; String soyad; }
|
Öğrenci sınıfından yeni bir öğrenci oluşturmak için de öğrenci test oluşturup bu sınıfı kullanalım.
public class OgrenciTest {
public static void main(String[] args) {
//Öğrenci sınıfından örnek oluşturma
Ogrenci ogrenci1 = new Ogrenci();
//Varlıklara değer girme
ogrenci1.id=12;
ogrenci1.ad=”Ahmet”;
}
}
public class OgrenciTest { public static void main(String[] args) {
//Öğrenci sınıfından örnek oluşturma Ogrenci ogrenci1 = new Ogrenci();
//Varlıklara değer girme ogrenci1.id=12; ogrenci1.ad=“Ahmet”;
} }
|
Yukarıdaki ilk kodda Ogrenci adında bir sınıf oluşturduk. Bu sınıfı kullanarak da ogrenci1 nesnesini ikinci kod parçasında oluşturduk.
Java Sınıf ve Nesne Kullanım Örneği
Şimdi daha kapsamlı bir örnekle makaleyi tamamlayalım. Aşağıdaki gibi bir uygulama yaptığımızı düşünelim.
Problem:
Bir tane karakter ve bu karaktere ait rollere sahip rol sınıflarını oluşturacağız.
Rol sınıfında rolün id ve ad bilgileri olacak.
Karakter sınıfında ise karaterin id, ad, rol, defans, vuruş gücü bilgileri olacak. Karakter oluşturulurken defans 30-100, vuruş gücü ise 5-10 arasında rastgele bir değer alacaktır.
Ayrıca karakter sınıfında rakibe vurması için Vur metodu olacak ve karakterin vuruş gücüne kadar( rastgele) vuruş yapabilecektir. Karakter vurduğunda rakibin defansından vuruş miktarı kadar azalma olacaktır. Karakterin bilgilerini yazdırmak için Yazdir metodu olacak ve alanlarını yazdıracaktır.
Çözüm:
İlk olarak Rol
sınıfını id
ve ad
değerlerine sahip olarak oluşturuyoruz.
Rol.java
public class Rol {
int id;
String ad;
}
public class Rol { int id; String ad; }
|
Karakter sınıfını ilk olarak varlıkları ile birlikte oluşturuyoruz. (Sınıfın son halini aşağıdaki Karakter.java ile göstereceğim)
public class Karakter {
int id;
String ad;
Rol rol;
int defans;
int vurusGucu;
}
public class Karakter { int id; String ad; Rol rol; int defans; int vurusGucu; }
|
Yukarıdaki kodda dikkat edilmesi gereken nokta rol
türünün Rol
sınıfı olduğudur.
Kurucu Metot
Kurucu metot, bir sınıfın nesnesi oluşturulduğunda çağrılan bir metottur. Kurucu metot, sınıfın nesnesi oluşturulduğunda, nesnenin özelliklerinin ve değerlerinin atanması için kullanılır. Kurucu metot, sınıf adıyla aynı olmalıdır ve sınıfın içinde tanımlanmalıdır.
Şimdi kurucu metot kullanarak alanlara ilk değerlerini verelim. Alanlara ilk değerlerini verme işini yukarıdaki probleme uygun olarak yapıyoruz.
public Karakter(int id, String ad, Rol rol) {
this.id = id;
this.ad = ad;
this.rol = rol;
Random rnd = new Random();
this.defans = rnd.nextInt(71) + 30; //100e kadar
this.vurusGucu = rnd.nextInt(6) + 5;//10 kadar
}
public Karakter(int id, String ad, Rol rol) { this.id = id; this.ad = ad; this.rol = rol;
Random rnd = new Random(); this.defans = rnd.nextInt(71) + 30; //100e kadar this.vurusGucu = rnd.nextInt(6) + 5;//10 kadar }
|
Not: Random sınıfı için import java.util.Random;
bilgidirimini sayfanın başına yapmayı unutmayın.
Karakterin özelliklerini yazdırmak için Yazdir metodunu aşağıdaki gibi yazıyoruz.
public void Yazdir(){
System.out.println(“ID :”+ this.id + ” Ad :”+ this.ad + ” Rol :”+ this.rol.ad);
System.out.println(“Defans :”+ this.defans + ” Vuruş Gücü :”+ this.vurusGucu);
System.out.println(“************************”);
}
public void Yazdir(){ System.out.println(“ID :”+ this.id + ” Ad :”+ this.ad + ” Rol :”+ this.rol.ad); System.out.println(“Defans :”+ this.defans + ” Vuruş Gücü :”+ this.vurusGucu); System.out.println(“************************”); }
|
Karakterin rakibine vurması için Vur metodunu oluşturuyoruz.
public void Vur(Karakter karakter){
Random rnd = new Random();
int vurus = rnd.nextInt(this.vurusGucu);
karakter.defans = karakter.defans – vurus; //diğer oyuncudan düşürdük
System.out.println(“Vuran :”+ this.ad);
System.out.println(“Şiddet :”+vurus);
if(vurus == 0){
System.out.println(“Iskaladın…”);
}else if(vurus < 3){
System.out.println(“Sıyırdı…”);
}else{
System.out.println(“Kötü Vurdu…”);
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
public void Vur(Karakter karakter){
Random rnd = new Random(); int vurus = rnd.nextInt(this.vurusGucu); karakter.defans = karakter.defans – vurus; //diğer oyuncudan düşürdük
System.out.println(“Vuran :”+ this.ad); System.out.println(“Şiddet :”+vurus);
if(vurus == 0){ System.out.println(“Iskaladın…”); }else if(vurus < 3){ System.out.println(“Sıyırdı…”); }else{ System.out.println(“Kötü Vurdu…”); }
}
|
Yukarıda rakip karakteri parametre olarak alan Vur metodunu oluşturuduk. Kodda ilk olarak Random sınıfından bir tane vuruş gücüne kadar olan değer elde ediyoruz. Ardından bu değeri rakibin defansından çıkarıyoruz. Ekran kimin ve ne kadar vurduğu bilgileri System.out.println
ile çıktıladık. İşe biraz da eğlence katması için if else kullanarak zayıf ve güçlü vurma durumlarına göre uyarı mesajları verdirdik.
Tüm kodları toplarlayacak olursak sınıfımız şöyle olacaktır.
Karakter.java
import java.util.Random;
public class Karakter {
int id;
String ad;
Rol rol;
int defans;
int vurusGucu;
public Karakter(int id, String ad, Rol rol) {
this.id = id;
this.ad = ad;
this.rol = rol;
Random rnd = new Random();
this.defans = rnd.nextInt(71) + 30; //100e kadar
this.vurusGucu = rnd.nextInt(6) + 5;//10 kadar
}
public void Yazdir(){
System.out.println(“ID :”+ this.id + ” Ad :”+ this.ad + ” Rol :”+ this.rol.ad);
System.out.println(“Defans :”+ this.defans + ” Vuruş Gücü :”+ this.vurusGucu);
System.out.println(“************************”);
}
public void Vur(Karakter karakter){
Random rnd = new Random();
int vurus = rnd.nextInt(this.vurusGucu);
karakter.defans = karakter.defans – vurus; //diğer oyuncudan düşürdük
System.out.println(“Vuran :”+ this.ad);
System.out.println(“Şiddet :”+vurus);
if(vurus == 0){
System.out.println(“Iskaladın…”);
}else if(vurus < 3){
System.out.println(“Sıyırdı…”);
}else{
System.out.println(“Kötü Vurdu…”);
}
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
import java.util.Random;
public class Karakter { int id; String ad; Rol rol; int defans; int vurusGucu;
public Karakter(int id, String ad, Rol rol) { this.id = id; this.ad = ad; this.rol = rol;
Random rnd = new Random(); this.defans = rnd.nextInt(71) + 30; //100e kadar this.vurusGucu = rnd.nextInt(6) + 5;//10 kadar }
public void Yazdir(){ System.out.println(“ID :”+ this.id + ” Ad :”+ this.ad + ” Rol :”+ this.rol.ad); System.out.println(“Defans :”+ this.defans + ” Vuruş Gücü :”+ this.vurusGucu); System.out.println(“************************”); }
public void Vur(Karakter karakter){
Random rnd = new Random(); int vurus = rnd.nextInt(this.vurusGucu); karakter.defans = karakter.defans – vurus; //diğer oyuncudan düşürdük
System.out.println(“Vuran :”+ this.ad); System.out.println(“Şiddet :”+vurus);
if(vurus == 0){ System.out.println(“Iskaladın…”); }else if(vurus < 3){ System.out.println(“Sıyırdı…”); }else{ System.out.println(“Kötü Vurdu…”); }
}
}
|
Oyun sürücü kodlarını yazmadan önce sınıflar ile ilgili kurucu metotlar gibi bazı özel ifadeler daha mevcuttur. Örneğin erişim belirleyiciler;
Java Erişim Belirleyiciler
Sınıf erişim belirleyicileri, bir sınıfın özelliklerine ve metotlarına nasıl erişileceğini belirler. Java’da, üç farklı sınıf erişim belirleyicisi vardır: public
, protected
ve private
.
public
: Bu erişim belirleyicisi, sınıfın dışından ve içinden de erişilebilir özellikler ve metotlar tanımlar.protected
: Bu erişim belirleyicisi, sınıfın içinden ve türetilmiş sınıflardan erişilebilir özellikler ve metotlar tanımlar. Ancak, sınıfın dışından erişilemezler.private
: Bu erişim belirleyicisi, sadece sınıfın içinden erişilebilir özellikler ve metotlar tanımlar. Sınıfın dışından ve türetilmiş sınıflardan erişilemezler.
Şimdi kodumuza bu erişim belirleyicilerden bazılarını uygulayalım. Java’da özellikerin ve metotların varsayılan erişim belirleyicisi public’tir.
Vuruş gücü özelliğini kurucu metot içinde oluşturduğum için dışarıdan değiştirilmemesi gerekir. Ancak yukarıdaki yazdığımız kodda dışarıdan değiştirmek mümkündür. Örneğin aşağıdaki görselde örnek bir nesne oluşturduğunuzda ulaşabileceğimiz tüm public varlıklar görünmektedir.
Vuruş gücü özelliğini sınıf dışından erişime kapatalım.
public class Karakter {
int id;
String ad;
Rol rol;
int defans;
private int vurusGucu;
……
public class Karakter { int id; String ad; Rol rol; int defans; private int vurusGucu;
......
|
Diğer özellikler varsayılan olarak public kalacaktır.
Hala kodumuzda sorunlar var. Açıklamaya devam edelim. Nesne yönelimli programlama dillerinden özelliklere dışarıdan erişim doğrudan yapılması uygun görülmemektedir. Özellikler public vermek yerine onları private yapıp değerleri getter ve setter metotlarını kullanarak erişim sağlarız.
Java Getter ve Setter Kullanımı
Java’da getter ve setter methodları, nesnenin özelliklerine (property) dışarıdan erişim sağlamak için kullanılır.
Yukarıdaki kodu biraz daha değiştirecek olursak Karakter sınıfındaki değişim ilk aşamada özellikleri private yapmalıyız.
public class Karakter {
private int id;
private String ad;
private Rol rol;
private int defans;
private int vurusGucu;
………
public class Karakter { private int id; private String ad; private Rol rol; private int defans; private int vurusGucu;
.........
|
Şimdi dışarıdan ulaşılabilir ve değiştirilebilir metotlarımızı yazmalıyız.
Karater.java sınıfı şu şekilde değişecektir. Unutmayın VurusGucu dışarıdan ulaşımaz durumda olduğu için ona Setter metodu yazmadık.
import java.util.Random;
public class Karakter {
private int id;
private String ad;
private Rol rol;
private int defans;
private int vurusGucu;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAd() {
return ad;
}
public void setAd(String ad) {
this.ad = ad;
}
public Rol getRol() {
return rol;
}
public void setRol(Rol rol) {
this.rol = rol;
}
public int getDefans() {
return defans;
}
public void setDefans(int defans) {
this.defans = defans;
}
public int getVurusGucu() {
return vurusGucu;
}
public Karakter(int id, String ad, Rol rol) {
this.id = id;
this.ad = ad;
this.rol = rol;
Random rnd = new Random();
this.defans = rnd.nextInt(71) + 30; //100e kadar
this.vurusGucu = rnd.nextInt(6) + 5;//10 kadar
}
public void Yazdir(){
System.out.println(“ID :”+ this.id + ” Ad :”+ this.ad + ” Rol :”+ this.rol.ad);
System.out.println(“Defans :”+ this.defans + ” Vuruş Gücü :”+ this.vurusGucu);
System.out.println(“************************”);
}
public void Vur(Karakter karakter){
Random rnd = new Random();
int vurus = rnd.nextInt(this.vurusGucu);
karakter.defans = karakter.defans – vurus; //diğer oyuncudan düşürdük
System.out.println(“Vuran :”+ this.ad);
System.out.println(“Şiddet :”+vurus);
if(vurus == 0){
System.out.println(“Iskaladın…”);
}else if(vurus < 3){
System.out.println(“Sıyırdı…”);
}else{
System.out.println(“Kötü Vurdu…”);
}
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
import java.util.Random;
public class Karakter { private int id; private String ad; private Rol rol; private int defans; private int vurusGucu;
public int getId() { return id; }
public void setId(int id) { this.id = id; }
public String getAd() { return ad; }
public void setAd(String ad) { this.ad = ad; }
public Rol getRol() { return rol; }
public void setRol(Rol rol) { this.rol = rol; }
public int getDefans() { return defans; }
public void setDefans(int defans) { this.defans = defans; }
public int getVurusGucu() { return vurusGucu; }
public Karakter(int id, String ad, Rol rol) { this.id = id; this.ad = ad; this.rol = rol;
Random rnd = new Random(); this.defans = rnd.nextInt(71) + 30; //100e kadar this.vurusGucu = rnd.nextInt(6) + 5;//10 kadar }
public void Yazdir(){ System.out.println(“ID :”+ this.id + ” Ad :”+ this.ad + ” Rol :”+ this.rol.ad); System.out.println(“Defans :”+ this.defans + ” Vuruş Gücü :”+ this.vurusGucu); System.out.println(“************************”); }
public void Vur(Karakter karakter){
Random rnd = new Random(); int vurus = rnd.nextInt(this.vurusGucu); karakter.defans = karakter.defans – vurus; //diğer oyuncudan düşürdük
System.out.println(“Vuran :”+ this.ad); System.out.println(“Şiddet :”+vurus);
if(vurus == 0){ System.out.println(“Iskaladın…”); }else if(vurus < 3){ System.out.println(“Sıyırdı…”); }else{ System.out.println(“Kötü Vurdu…”); }
}
}
|
Yazıya Encapsulation, Inheritance, Polymorphism, Abstraction gibi kavramları ekleyebiliriz ancak yeterince uzatmak da bir süre sonra yormaya başlayacaktır. Bu yüzden konuyu burada kısaltıp kodu çalıştıran sürücü kodlarını yazıyoruz.
Sıra tabanlı oyun kodlarını test emek işin Oyun adında bir sınıf oluşturup main metodunu aşağıdaki gibi düzenliyoruz.
Oyun.java
import java.util.Scanner;
public class Oyun {
public static void main(String[] args) {
Scanner oku=new Scanner(System.in);
//Rolleri oluşturma (NOT: Rol sınıfı içinde getter ve setter yazılabilir)
Rol rolDuello = new Rol();
rolDuello.ad=”Düellocu”;
rolDuello.id=1;
Rol rolOncu = new Rol();
rolOncu.ad=”Öncü”;
rolOncu.id=2;
Rol rolGozcu = new Rol();
rolGozcu.ad=”Gözcü”;
rolGozcu.id=3;
Rol rolKontrol = new Rol();
rolKontrol.ad=”Kontrolcü”;
rolKontrol.id=4;
//İlk değerleri ekrana yazdırma
Karakter karakter1 = new Karakter(1,”Astra”,rolKontrol);
karakter1.Yazdir();
Karakter karakter2 = new Karakter(1,”Reyna”,rolDuello);
karakter2.Yazdir();
//Oyun
while(true){
if(karakter1.getDefans() <=0 || karakter2.getDefans() <= 0){
if(karakter1.getDefans()<=0)
System.out.println(“Kazanan: “+karakter2.getAd());
if(karakter2.getDefans()<=0)
System.out.println(“Kazanan: “+karakter1.getAd());
break;
}
karakter1.Vur(karakter2);
karakter2.Yazdir();
karakter2.Vur(karakter1);
karakter1.Yazdir();
System.out.println(“Enter tuşuna bas.”);
oku.nextLine();
System.out.println(“\n”);
}
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
import java.util.Scanner;
public class Oyun { public static void main(String[] args) {
Scanner oku=new Scanner(System.in);
//Rolleri oluşturma (NOT: Rol sınıfı içinde getter ve setter yazılabilir) Rol rolDuello = new Rol(); rolDuello.ad=“Düellocu”; rolDuello.id=1;
Rol rolOncu = new Rol(); rolOncu.ad=“Öncü”; rolOncu.id=2;
Rol rolGozcu = new Rol(); rolGozcu.ad=“Gözcü”; rolGozcu.id=3;
Rol rolKontrol = new Rol(); rolKontrol.ad=“Kontrolcü”; rolKontrol.id=4;
//İlk değerleri ekrana yazdırma Karakter karakter1 = new Karakter(1,“Astra”,rolKontrol); karakter1.Yazdir();
Karakter karakter2 = new Karakter(1,“Reyna”,rolDuello); karakter2.Yazdir();
//Oyun while(true){
if(karakter1.getDefans() <=0 || karakter2.getDefans() <= 0){ if(karakter1.getDefans()<=0) System.out.println(“Kazanan: “+karakter2.getAd()); if(karakter2.getDefans()<=0) System.out.println(“Kazanan: “+karakter1.getAd());
break; }
karakter1.Vur(karakter2); karakter2.Yazdir();
karakter2.Vur(karakter1); karakter1.Yazdir();
System.out.println(“Enter tuşuna bas.”); oku.nextLine(); System.out.println(“\n”);
}
} }
|
Çıktı: Sıra tabanlı bir oyun olduğu için karakterler while döngüsü içinde bir birlerine sırayla vurmaktadır. defansı ilk 0 ve altında olan karakter oyunu kaybetmektedir.
ID :1 Ad :Astra Rol :Kontrolcü
Defans :56 Vuruş Gücü :9
************************
ID :1 Ad :Reyna Rol :Düellocu
Defans :77 Vuruş Gücü :9
************************
Vuran :Astra
Şiddet :7
Kötü Vurdu…
ID :1 Ad :Reyna Rol :Düellocu
Defans :70 Vuruş Gücü :9
************************
Vuran :Reyna
Şiddet :6
Kötü Vurdu…
ID :1 Ad :Astra Rol :Kontrolcü
Defans :50 Vuruş Gücü :9
************************
Enter tuşuna bas.
Vuran :Astra
Şiddet :6
Kötü Vurdu…
ID :1 Ad :Reyna Rol :Düellocu
Defans :64 Vuruş Gücü :9
************************
Vuran :Reyna
Şiddet :8
Kötü Vurdu…
ID :1 Ad :Astra Rol :Kontrolcü
Defans :42 Vuruş Gücü :9
************************
Enter tuşuna bas.
Vuran :Astra
Şiddet :0
Iskaladın…
ID :1 Ad :Reyna Rol :Düellocu
Defans :64 Vuruş Gücü :9
************************
Vuran :Reyna
Şiddet :7
Kötü Vurdu…
ID :1 Ad :Astra Rol :Kontrolcü
Defans :35 Vuruş Gücü :9
************************
Enter tuşuna bas.
Vuran :Astra
Şiddet :0
Iskaladın…
ID :1 Ad :Reyna Rol :Düellocu
Defans :64 Vuruş Gücü :9
************************
Vuran :Reyna
Şiddet :5
Kötü Vurdu…
ID :1 Ad :Astra Rol :Kontrolcü
Defans :30 Vuruş Gücü :9
************************
Enter tuşuna bas.
Vuran :Astra
Şiddet :5
Kötü Vurdu…
ID :1 Ad :Reyna Rol :Düellocu
Defans :59 Vuruş Gücü :9
************************
Vuran :Reyna
Şiddet :3
Kötü Vurdu…
ID :1 Ad :Astra Rol :Kontrolcü
Defans :27 Vuruş Gücü :9
************************
Enter tuşuna bas.
Vuran :Astra
Şiddet :4
Kötü Vurdu…
ID :1 Ad :Reyna Rol :Düellocu
Defans :55 Vuruş Gücü :9
************************
Vuran :Reyna
Şiddet :3
Kötü Vurdu…
ID :1 Ad :Astra Rol :Kontrolcü
Defans :24 Vuruş Gücü :9
************************
Enter tuşuna bas.
Vuran :Astra
Şiddet :8
Kötü Vurdu…
ID :1 Ad :Reyna Rol :Düellocu
Defans :47 Vuruş Gücü :9
************************
Vuran :Reyna
Şiddet :6
Kötü Vurdu…
ID :1 Ad :Astra Rol :Kontrolcü
Defans :18 Vuruş Gücü :9
************************
Enter tuşuna bas.
Vuran :Astra
Şiddet :6
Kötü Vurdu…
ID :1 Ad :Reyna Rol :Düellocu
Defans :41 Vuruş Gücü :9
************************
Vuran :Reyna
Şiddet :0
Iskaladın…
ID :1 Ad :Astra Rol :Kontrolcü
Defans :18 Vuruş Gücü :9
************************
Enter tuşuna bas.
Vuran :Astra
Şiddet :8
Kötü Vurdu…
ID :1 Ad :Reyna Rol :Düellocu
Defans :33 Vuruş Gücü :9
************************
Vuran :Reyna
Şiddet :7
Kötü Vurdu…
ID :1 Ad :Astra Rol :Kontrolcü
Defans :11 Vuruş Gücü :9
************************
Enter tuşuna bas.
Vuran :Astra
Şiddet :2
Sıyırdı…
ID :1 Ad :Reyna Rol :Düellocu
Defans :31 Vuruş Gücü :9
************************
Vuran :Reyna
Şiddet :6
Kötü Vurdu…
ID :1 Ad :Astra Rol :Kontrolcü
Defans :5 Vuruş Gücü :9
************************
Enter tuşuna bas.
Vuran :Astra
Şiddet :1
Sıyırdı…
ID :1 Ad :Reyna Rol :Düellocu
Defans :30 Vuruş Gücü :9
************************
Vuran :Reyna
Şiddet :2
Sıyırdı…
ID :1 Ad :Astra Rol :Kontrolcü
Defans :3 Vuruş Gücü :9
************************
Enter tuşuna bas.
Vuran :Astra
Şiddet :2
Sıyırdı…
ID :1 Ad :Reyna Rol :Düellocu
Defans :28 Vuruş Gücü :9
************************
Vuran :Reyna
Şiddet :2
Sıyırdı…
ID :1 Ad :Astra Rol :Kontrolcü
Defans :1 Vuruş Gücü :9
************************
Enter tuşuna bas.
Vuran :Astra
Şiddet :8
Kötü Vurdu…
ID :1 Ad :Reyna Rol :Düellocu
Defans :20 Vuruş Gücü :9
************************
Vuran :Reyna
Şiddet :8
Kötü Vurdu…
ID :1 Ad :Astra Rol :Kontrolcü
Defans :-7 Vuruş Gücü :9
************************
Enter tuşuna bas.
Kazanan: Reyna
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 |
ID :1 Ad :Astra Rol :Kontrolcü Defans :56 Vuruş Gücü :9 ************************ ID :1 Ad :Reyna Rol :Düellocu Defans :77 Vuruş Gücü :9 ************************ Vuran :Astra Şiddet :7 Kötü Vurdu... ID :1 Ad :Reyna Rol :Düellocu Defans :70 Vuruş Gücü :9 ************************ Vuran :Reyna Şiddet :6 Kötü Vurdu... ID :1 Ad :Astra Rol :Kontrolcü Defans :50 Vuruş Gücü :9 ************************ Enter tuşuna bas.
Vuran :Astra Şiddet :6 Kötü Vurdu... ID :1 Ad :Reyna Rol :Düellocu Defans :64 Vuruş Gücü :9 ************************ Vuran :Reyna Şiddet :8 Kötü Vurdu... ID :1 Ad :Astra Rol :Kontrolcü Defans :42 Vuruş Gücü :9 ************************ Enter tuşuna bas.
Vuran :Astra Şiddet :0 Iskaladın... ID :1 Ad :Reyna Rol :Düellocu Defans :64 Vuruş Gücü :9 ************************ Vuran :Reyna Şiddet :7 Kötü Vurdu... ID :1 Ad :Astra Rol :Kontrolcü Defans :35 Vuruş Gücü :9 ************************ Enter tuşuna bas.
Vuran :Astra Şiddet :0 Iskaladın... ID :1 Ad :Reyna Rol :Düellocu Defans :64 Vuruş Gücü :9 ************************ Vuran :Reyna Şiddet :5 Kötü Vurdu... ID :1 Ad :Astra Rol :Kontrolcü Defans :30 Vuruş Gücü :9 ************************ Enter tuşuna bas.
Vuran :Astra Şiddet :5 Kötü Vurdu... ID :1 Ad :Reyna Rol :Düellocu Defans :59 Vuruş Gücü :9 ************************ Vuran :Reyna Şiddet :3 Kötü Vurdu... ID :1 Ad :Astra Rol :Kontrolcü Defans :27 Vuruş Gücü :9 ************************ Enter tuşuna bas.
Vuran :Astra Şiddet :4 Kötü Vurdu... ID :1 Ad :Reyna Rol :Düellocu Defans :55 Vuruş Gücü :9 ************************ Vuran :Reyna Şiddet :3 Kötü Vurdu... ID :1 Ad :Astra Rol :Kontrolcü Defans :24 Vuruş Gücü :9 ************************ Enter tuşuna bas.
Vuran :Astra Şiddet :8 Kötü Vurdu... ID :1 Ad :Reyna Rol :Düellocu Defans :47 Vuruş Gücü :9 ************************ Vuran :Reyna Şiddet :6 Kötü Vurdu... ID :1 Ad :Astra Rol :Kontrolcü Defans :18 Vuruş Gücü :9 ************************ Enter tuşuna bas.
Vuran :Astra Şiddet :6 Kötü Vurdu... ID :1 Ad :Reyna Rol :Düellocu Defans :41 Vuruş Gücü :9 ************************ Vuran :Reyna Şiddet :0 Iskaladın... ID :1 Ad :Astra Rol :Kontrolcü Defans :18 Vuruş Gücü :9 ************************ Enter tuşuna bas.
Vuran :Astra Şiddet :8 Kötü Vurdu... ID :1 Ad :Reyna Rol :Düellocu Defans :33 Vuruş Gücü :9 ************************ Vuran :Reyna Şiddet :7 Kötü Vurdu... ID :1 Ad :Astra Rol :Kontrolcü Defans :11 Vuruş Gücü :9 ************************ Enter tuşuna bas.
Vuran :Astra Şiddet :2 Sıyırdı... ID :1 Ad :Reyna Rol :Düellocu Defans :31 Vuruş Gücü :9 ************************ Vuran :Reyna Şiddet :6 Kötü Vurdu... ID :1 Ad :Astra Rol :Kontrolcü Defans :5 Vuruş Gücü :9 ************************ Enter tuşuna bas.
Vuran :Astra Şiddet :1 Sıyırdı... ID :1 Ad :Reyna Rol :Düellocu Defans :30 Vuruş Gücü :9 ************************ Vuran :Reyna Şiddet :2 Sıyırdı... ID :1 Ad :Astra Rol :Kontrolcü Defans :3 Vuruş Gücü :9 ************************ Enter tuşuna bas.
Vuran :Astra Şiddet :2 Sıyırdı... ID :1 Ad :Reyna Rol :Düellocu Defans :28 Vuruş Gücü :9 ************************ Vuran :Reyna Şiddet :2 Sıyırdı... ID :1 Ad :Astra Rol :Kontrolcü Defans :1 Vuruş Gücü :9 ************************ Enter tuşuna bas.
Vuran :Astra Şiddet :8 Kötü Vurdu... ID :1 Ad :Reyna Rol :Düellocu Defans :20 Vuruş Gücü :9 ************************ Vuran :Reyna Şiddet :8 Kötü Vurdu... ID :1 Ad :Astra Rol :Kontrolcü Defans :-7 Vuruş Gücü :9 ************************ Enter tuşuna bas.
Kazanan: Reyna
|