Game Maker - создание игр | HellRoom Games
Май 15, 2025, 03:03:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Альтернатива "goto" и прерывание цикла или действия  (Прочитано 4599 раз)
0 Пользователей и 1 Гость смотрят эту тему.
KseniaRpr666
Пользователь
***

Репутация: 1
Offline Offline

Пол: Женский
API: Game Maker 8.0 Pro
Сообщений: 75


"Подпись под аватаром"


« : Март 13, 2016, 20:49:43 »

Добрый вечер! Появился такой вопрос: как в gm 8.0 можно сделать повтор цикла, путём возвращения к указанной строке, иначе говоря, есть ли здесь альтернатива "goto"?
И второй вопрос: у NPC есть задание - собирать брёвнышки. Как можно сделать так, чтобы собрав пять из десяти брёвнышек, он переключался на другое действие?
Спасибо за помощь!
Записан
Bovalex
GM Pro user
*

Репутация: 108
Offline Offline

Пол: Мужской
Награды:
500 сообщений!За постоянность! [50 дней на форуме]Настоящий игродел!За участие в Весеннем конкурсе.
API: Unity 3D
Деятельность: Человек - оркестр
Сообщений: 731



« Ответ #1 : Март 13, 2016, 21:09:31 »

2) Процесс собирания бревнышек
Код:
wood+=1; // Увеличиваем количество бревнышек

if(wood = 5)
{
    //Делаем другое действие
}
Записан

Я ненавижу когда лама по имени Карл бьёт меня 37 раз и ест мои руки.
[img width= height= alt=Falcoware - Download Free Games]http://falcoware.com/DrawWayIco.gif[/img]
KseniaRpr666
Пользователь
***

Репутация: 1
Offline Offline

Пол: Женский
API: Game Maker 8.0 Pro
Сообщений: 75


"Подпись под аватаром"


« Ответ #2 : Март 13, 2016, 21:16:02 »

Я сделала это через mp_potential_step с тем же, что Вы написали, но нпс продолжает собирать брёвна до конца, а потом пишет ошибку, что переменной x не существует.
Записан
Dmi7ry
Гл. Администратор
*

Репутация: 1379
Offline Offline

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+1000 репутации]За помощь в развитии форума!Знаток Game Maker!За помощь новичкам!
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 6626



WWW
« Ответ #3 : Март 13, 2016, 21:16:33 »

Появился такой вопрос: как в gm 8.0 можно сделать повтор цикла, путём возвращения к указанной строке, иначе говоря, есть ли здесь альтернатива "goto"?
Логику всегда можно составить так, что оператор goto не понадобится (и подобного оператора нет в GM).
Вариантов много. Один из - цикл завернуть в бесконечный цикл (while true), и проверять, нужно ли выходить из цикла (с помощью break), или нет. Так же можно ввести дополнительные переменные, по которым будут выполняться или пропускаться блоки кода.

Цитировать
И второй вопрос: у NPC есть задание - собирать брёвнышки. Как можно сделать так, чтобы собрав пять из десяти брёвнышек, он переключался на другое действие?
Должна быть какая-то переменная, которая показывает номер текущего действия. Изменили переменную - изменили действие.
Само же действие определяется через switch
Код:
switch global.current_action
{
    case 0:
        // действие 1, собираем дерево
        ..

        if wood == 5 // если собрали 5 единиц дерева
        {
            global.current_action = 1; // переключение на следующее действие
        }
        break;
    case 1:
        // действие 2
        break;
    case 2:
        // действие 3
        break;
}
Записан

- А какой, собственно, командой процессора колобок ест черта?
- Командой EAT...
Справка и FAQ в правом верхнем углу...
KseniaRpr666
Пользователь
***

Репутация: 1
Offline Offline

Пол: Женский
API: Game Maker 8.0 Pro
Сообщений: 75


"Подпись под аватаром"


« Ответ #4 : Март 13, 2016, 21:20:19 »

Спасибо, попробую сделать как Вы сказали.
Записан
depict
GM Pro user
*

Репутация: 116
Offline Offline

Пол: Мужской
Награды:
За постоянность! [10 дней на форуме]
API: GameMaker 8.1 Standard
Сообщений: 450


Наведу на мысль. За последствия не отвечаю :)


« Ответ #5 : Март 13, 2016, 21:40:39 »

В мире программирование оператор goto презирают. Так, что не стоит к нему привыкать)
Записан

mihailsh
Новичок
*

Репутация: 1
Offline Offline

API: GameMaker Studio Pro
Сообщений: 2


« Ответ #6 : Ноябрь 22, 2021, 19:23:04 »

В мире программирование оператор goto презирают. Так, что не стоит к нему привыкать)

Слабаки) супер оператор. Я его не использую лет 15. но чту.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.569 секунд. Запросов: 31.