Четверг, 28 Марта 2024, 13:44

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Cannot compare arguments. (GM 8.0 Pro.)
Cannot compare arguments.
JaizeДата: Суббота, 07 Сентября 2019, 20:59 | Сообщение # 1
уже был
Сейчас нет на сайте
Вот код:

if global.money>=global.amount then {
global.money-=global.amount
global.random=random_range(1,100);
if global.random>=50 then {
global.money+=global.amount;global.money+=global.amount
}
else
if global.random<50 then {
show_message('Не повезло!')
}
}
else
{show_message('У вас не достаточно денег для ставки!')}

Что я сделал не так? Помогите, пожалуйста
StormTДата: Среда, 11 Сентября 2019, 18:32 | Сообщение # 2
участник
Сейчас нет на сайте
Я не проверял у себя, просто прошёлся по коду и отредактировал на своё усмотрение - проверь так.
Код
if global.money >= global.amount
{
    global.money -= global.amount;
    var rand;
    rand = random_range(1,100);
    if rand >= 50 global.money += global.amount * 2;
    else show_message('Не повезло!');
};
else show_message('У вас не достаточно денег для ставки!');


У меня пара комментов:
- зачем все переменные глобальные? Даже случайное число, которое просто имитирует жеребьёвку? Я оставил переменные глобальными, ведь не знаю, вдруг так надо в твоём случае, но "рандом" не должен глобальным 100% - я показал, как переменную сделать локальной, более того - для этого события, в следующем шаге переменная не сохраняется. Это полезно для оптимизации.
- не используй THEN, если условие верно - просто выполняется последующая запись, даже фигурные скобки не нужны, если действие одно выполняется.





Сообщение отредактировал StormT - Среда, 11 Сентября 2019, 18:35
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Cannot compare arguments. (GM 8.0 Pro.)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг