Basit bir borsa yazılımı – PHP


PHP dilinde basit bir borsa yazılımı için temel bir başlangıç yapmanıza yardımcı olacak bir kod örneği. Bu örnekte, 5 kullanıcı tanımlıyoruz ve her bir kullanıcının bakiyesi ve sahip olduğu NoRGold miktarı tutuluyor. Kullanıcılar alım satım yaparken NoRGold’un piyasa değeri değişiyor.

<?php
class User {
    public $id;
    public $balance;
    public $norGold;

    public function __construct($id, $balance, $norGold) {
        $this->id = $id;
        $this->balance = $balance;
        $this->norGold = $norGold;
    }

    public function buyNorGold($amount, $currentNorGoldPrice) {
        $totalCost = $amount * $currentNorGoldPrice;
        if ($totalCost <= $this->balance) {
            $this->balance -= $totalCost;
            $this->norGold += $amount;
            return true;
        } else {
            return false; // Yetersiz bakiye
        }
    }

    public function sellNorGold($amount, $currentNorGoldPrice) {
        if ($amount <= $this->norGold) {
            $this->balance += $amount * $currentNorGoldPrice;
            $this->norGold -= $amount;
            return true;
        } else {
            return false; // Yetersiz NoRGold miktarı
        }
    }
}

// Örnek kullanıcılar
$users = [
    new User(1, 50000, 10),
    new User(2, 50000, 10),
    new User(3, 50000, 10),
    new User(4, 50000, 10),
    new User(5, 50000, 10)
];

// Başlangıç NoRGold fiyatı
$currentNorGoldPrice = 50; // Örneğin, 1 NoRGold = 50 birim para birimi

// Kullanıcılar alım satım yapabilir
$userToBuy = $users[0];
$userToSell = $users[1];
$buyAmount = 3;
$sellAmount = 2;

// Alım işlemi
if ($userToBuy->buyNorGold($buyAmount, $currentNorGoldPrice)) {
    echo "Kullanıcı {$userToBuy->id}, {$buyAmount} NoRGold satın aldı. Yeni bakiye: {$userToBuy->balance}, NoRGold miktarı: {$userToBuy->norGold}\n";
} else {
    echo "Alım işlemi başarısız. Yetersiz bakiye\n";
}

echo "<hr>";

// Satım işlemi
if ($userToSell->sellNorGold($sellAmount, $currentNorGoldPrice)) {
    echo "Kullanıcı {$userToSell->id}, {$sellAmount} NoRGold sattı. Yeni bakiye: {$userToSell->balance}, NoRGold miktarı: {$userToSell->norGold}\n";
} else {
    echo "Satım işlemi başarısız. Yetersiz NoRGold miktarı\n";
}
?>

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir