С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lua
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Lua Не могу правильно понять какие результаты возвратят функции с логическими операторами http://www.cyberforum.ru/lua/thread2147815.html
Добрый день! Сам программирую на С++, с Lua знаком буквально 3 дня. У меня есть пример работы функции, написанной на Lua, эту функцию я должен реализовать внутри класса своего проекта. Столкнулся...
Lua C#_lua using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using NLua; namespace Nlua http://www.cyberforum.ru/lua/thread2144187.html
Lua Как менять цвет функций активации в Trainer
Всем привет, я делаю трейнер с помощью Cheat Engine, но застрял с кодом Lua на изменения цветов на функции активации в Trainer. Как написать не хватает знаний сам код не сложный нужно только...
Ищу скриптера Lua
Ищу скриптера для РП проекта в МТА
Lua Uninspected symbol near "?" http://www.cyberforum.ru/lua/thread2082117.html
Добрый день! Во время заливки кода в ESP8266 вылетает таймаут, а при выполнении кода uninspected symbol near "?". Где он нашел "?", я так и не понял. bme280.init(3,4)--SDA,SCL pin--выводы для...
Lua Сортировка таблицы с объектами Здравствуйте. Есть таблица вида Table = { = { id = 1 value = 165 name = "В упаковке" }, = подробнее
NoMasters
Псевдослучайный
1909 / 1120 / 90
Регистрация: 13.09.2011
Сообщений: 3,178
21.12.2017, 03:19 0

Изучаю Lua - есть проблемы

21.12.2017, 03:19. Просмотров 511. Ответов 2
Метки (Все метки)

Ответ

Через конечный автомат описать. Вместо рекурсивного вызова возвращать следующее состояние, хотя бы и ту же функцию:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
map = {[ "south" ] = 1, [ "east" ] = 2, [ "west" ] = 3, [ "north" ] = 4}
 
function room1()
    local move = math.random( 1, 4 )
    if move == map[ "south" ] then return room3
    elseif move == map[ "east" ] then return room2
    else
        print( "invalid move" )
        return room1
    end
end
 
function room2()
    local move = math.random( 1, 4 )
    if move == map[ "south" ] then return room4
    elseif move == map[ "west" ] then return room1
    else
        print( "invalid move" )
        return room2
    end
end
 
function room3()
    local move = math.random( 1, 4 )
    if move == map[ "north" ] then return room1
    elseif move == map[ "east" ] then return room4
    else
        print( "invalid move" )
        return room3
    end
end
 
function room4()
    print( "Congratulations, you won!" )
end
 
--текущая комната
room = room1
 
while room ~= nil do
    room = room(map)
end
И да, чего это вы передаёте map в room1, но везде используете глобальную?

Вернуться к обсуждению:
Изучаю Lua - есть проблемы
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2017, 03:19

Lua, Android
Доброго времени суток. Хочу попробовать себя а в разработке игр под Android...

Плагин на Lua
Я не программист и всего чуток разбираюсь в Lua, поэтому все манипуляции с...

Изучение Lua
Добрый день. Хочу начать изучать язык Lua но не знаю с чего начать. Может кто...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru