Loading...
PHP, MySQL | подскажите конвертацию
ребята подскажите код конвертации
например набираеш 100 меди чтоб автоматом переводило на 1 золота
Чиво
искал в носу медь, а нашел одно золото

Изображение

------
88855_kovyr.gif (3.4 Kb)
Скачиваний: 21
darkmob , типа как в мире теней? серебро в золото
airo , да
darkmob (25 фев 2025, в 13:45)
ребята подскажите код конвертации
например набираеш 100 меди чтоб автоматом переводило на 1 золота
Через условие и математику, и запрос на изменение данных SQL представь в голове, как это всё происходит. У тебя есть условие >= 100 меди. Это условие. Делаешь математический расчёт в переменную gold = x/100, где x — это количество меди игрока, и с помощью sql изменяешь данные игрока. Вроде всё правильно объяснил.
darkmob , каждый раз надо проверять значение меди из базы
$copper = 1034; //кол-во меди игрока брать из базы

if ($copper >= 100) {

$gold = (int)($copper / 100); //золото которое добавить игроку
$new_copper = $copper - ($gold * 100); //новое значение меди

// ЗАПРОС SQL НА ОБНОВЛЕНИЕ ЗНАЧЕНИЙ



// КОД ДОЛЖЕН ВЫПОЛНЯТСЯ В САМОМ НАЧАЛЕ ПОСЛЕ ПОДКЛЮЧЕНИЯ К БАЗЕ, ЧТОБЫ У ИГРОКА БЫЛИ ДОСТОВЕРНЫЕ СВЕДИНИЯ О ЕГО БАЛАНСЕ
}


так
________
посл. ред. 25.02.2025 в 18:30; всего 1 раз(а); by airo
airo (25 фев 2025, в 18:24)
darkmob , каждый раз надо проверять значение меди из базы
$copper = 1034; //кол-во меди игрока брать из базы

if ($copper >= 100) {

$gold = (int)($copper / 100); //золото которое добавить игроку
$new_copper = $copper - ($gold * 100); //новое значение меди

// ЗАПРОС SQL НА ОБНОВЛЕНИЕ ЗНАЧЕНИЙ



// КОД ДОЛЖЕН ВЫПОЛНЯТСЯ В САМОМ НАЧАЛЕ ПОСЛЕ ПОДКЛЮЧЕНИЯ К БАЗЕ, ЧТОБЫ У ИГРОКА БЫЛИ ДОСТОВЕРНЫЕ СВЕДИНИЯ О ЕГО БАЛАНСЕ
}


так
спасибо
airo (25 фев 2025, в 18:24)
darkmob , каждый раз надо проверять значение меди из базы
$copper = 1034; //кол-во меди игрока брать из базы

if ($copper >= 100) {

$gold = (int)($copper / 100); //золото которое добавить игроку
$new_copper = $copper - ($gold * 100); //новое значение меди

// ЗАПРОС SQL НА ОБНОВЛЕНИЕ ЗНАЧЕНИЙ



// КОД ДОЛЖЕН ВЫПОЛНЯТСЯ В САМОМ НАЧАЛЕ ПОСЛЕ ПОДКЛЮЧЕНИЯ К БАЗЕ, ЧТОБЫ У ИГРОКА БЫЛИ ДОСТОВЕРНЫЕ СВЕДИНИЯ О ЕГО БАЛАНСЕ
}


так
огромное спасибо я придумал другую структуру

<?php
class Player {
public $copper; // Количество меди
public $gold; // Количество золота

public function __construct($copper, $gold) {
$this->copper = $copper;
$this->gold = $gold;
}

public function convertCopperToGold() {
$conversionRate = 100; // 100 меди = 1 золото

if ($this->copper >= $conversionRate) {
$goldToAdd = intdiv($this->copper, $conversionRate); // Сколько золота можно получить
$this->gold += $goldToAdd;
$this->copper %= $conversionRate; // Оставшаяся медь после конвертации

echo "Конвертация успешна! Теперь у вас {$this->gold} золота и {$this->copper} меди.\n";
} else {
echo "Недостаточно меди для конвертации. Нужно минимум 100 меди.\n";
}
}
}

// Пример использования
$player = new Player(250, 2); // У игрока 250 меди и 2 золота
$player->convertCopperToGold(); // Конвертируем медь в золото
Онлайн: 4
Время: 20:41:04
Gen. 0.1141
(c) ByMAS.RU 2010-2025