3 Mayıs 2016 Salı

Node.js 'de Oyun İşlemleri ve Prototipler -15

/**
 * Created by Eren on 29.4.2016.
 */

function fonksiyon(){
   
console.log("yazı.");
}

// module.exports.oyun = Oyuncu;
function Oyuncu() {
   
this.isim = "";
    this
.altın = 100;
    this
.altınGönder = function altınGönder (hedefOyuncu) {
// "this" şeklinde bahsedilien öğe: fonksiyonu çağıran öğedir. Bizim uygulamamızda bu öğe: Oyuncu'dur.

       
console.log("Oyun başında kullanıcılardaki altın durumu");
       
console.log(this.isim + ": " + this.altın);
       
console.log(hedefOyuncu.isim + ": " + hedefOyuncu.altın);
       
console.log("");

       
hedefOyuncu.altın += 1;
       
console.log(this.isim + " şu oyuncuya 1 altın gönderdi: " + hedefOyuncu.isim);
        this
.altın -= 1;
       
console.log("Bu alışveriş sonucunda " + this.isim + " adlı oyuncuda " + this.altın + " altın kaldı.");
       
console.log("");

       
console.log("Alışveriş sonucunda, kullanıcılardaki altın durumu:");
       
console.log(this.isim + ": " + this.altın);
       
console.log(hedefOyuncu.isim + ": " + hedefOyuncu.altın);
   
}};

var
Ali = new Oyuncu();
var
Murat = new Oyuncu();

Ali.isim = "Ali";
Murat.isim = "Murat";

Ali.altınGönder(Murat);

//prototype ile Method veya Property'ler oluşturabiliriz. Şimdi, mana adında bir Property oluşturalım.

Oyuncu.prototype.mana = 50;

//Oyuncu Class'ının mana property'si oluşturularak 50'ye eşitlendi.
// Artık Oyuncu class'ının tüm entity'lerinde mana değeri otomatik olarak 50 olacaktır.

console.log();
console.log("Oyunculardaki mana miktarları:")
console.log(Ali.isim + ": " + Ali.mana)
console.log(Murat.isim + ": "+ Murat.mana)

console.log("");
console.log("");
console.log("2. Bölüm Başlıyor")
console.log("");
console.log("");

//Şimdi de -prototype- ile yeni bir fonksiyon oluşturalım.

Oyuncu.prototype.canınıÇal = function canınıÇal(hedefKisi) {

   
Oyuncu.prototype.can = 200; // can isminde yeni bir property oluşturduk
   
this.can += 10; // Ali can kazandı.
   
hedefKisi.can -= 10; // Murat can kaybetti.

   
console.log(this.isim + " isimli oyuncu, şu oyuncudan" + " 10 can çaldı: " + hedefKisi.isim);
   
console.log("");
   
console.log(this.isim + "'isimli oyuncunun can durumu: " + this.can);
   
console.log(hedefKisi.isim + "'isimli oyuncunun can durumu: " + hedefKisi.can);
}

Ali.
canınıÇal(Murat);

//this = Ali
//hedefKisi = Murat

Sonuç:

"D:\WebStorm 2016.1.1\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" "Node.js 'de Oyun İşlemleri -15.js"

Oyun başında kullanıcılardaki altın durumu
Ali: 100
Murat: 100

Ali şu oyuncuya 1 altın gönderdi: Murat
Bu alışveriş sonucunda Ali adlı oyuncuda 99 altın kaldı.

Alışveriş sonucunda, kullanıcılardaki altın durumu:
Ali: 99
Murat: 101

Oyunculardaki mana miktarları:
Ali: 50
Murat: 50

2. Bölüm Başlıyor

Ali isimli oyuncu, şu oyuncudan 10 can çaldı: Murat

Ali'isimli oyuncunun can durumu: 210
Murat'isimli oyuncunun can durumu: 190

Hiç yorum yok:

Yorum Gönder