概要


TIC-80での実装

local StateId = {
  Idle = 1,
  Run = 2,
  Attack = 3,
}

local state=2

function SwitchCaseIdle(arg)
  return 1+arg*10
end

function SwitchCaseRun(arg)
  return 2+arg*10
end

function SwitchCaseAttack(arg)
  return 3+arg*10
end

-- switchぽい関数分岐
function SwitchMain(stateId, arg)
  local switchCase={}
  switchCase[StateId.Idle] = SwitchCaseIdle
  switchCase[StateId.Run] = SwitchCaseRun
  switchCase[StateId.Attack] = SwitchCaseAttack
  switchCase[stateId](arg)
end
function TIC()
  print SwitchMain(state,1)
end