Galera, estou aprendo lua faz pouco tempo e fiz um sisteminha simples de batalha, gostaria de saber se se tem como melhorar, fica ao para galera que puder me ajudar a aprender umas coizinhas novas
boss = {} --tabela dos monstrosboss[1] = {nome = "voce", hp = 10, atac = 4, def = 2,};boss[2] = {nome = "deer", hp = 10, atac = 3, def = 1,};boss[3] = {nome = "wolf", hp = 10, atac = 3, def = 2,};print ("Teste de Consulta a tabela simples\n"); --explicao simplesprint ("Escolha um nome"); -- pedido de nome para personagem principalboss[1].nome = io.read(); -- atribui nome ao personagemwhile true do -- ciclo de comandosprint ("\nComandos (ataque),(exit),(numero) \nExp:1"); --explicao detalhada x= io.read(); --pede valor de x para consulta de personagem e inimigos if x == "exit" then -- se digitado exit termina o programa print ("Fim da Consulta"); break; elseif x == "ataque" then -- entra no modo de ataque e imprimi os inimigos menos o personagem print ("Selecione um Alvo:"); for i = 2, #boss do print (i .. "\) " .. "boss: " .. boss[tonumber(i)].nome); -- rotorna o valor de todos os monstros end print ("Selecione um alvo: "); alvo = io.read(); -- seleciona um alvo if boss[tonumber(alvo)] == nil or boss[tonumber(alvo)].hp <= 0 then -- verifica se o valor é valido ou se o alvo ainda tem vida print ("Alvo morto ou invalido"); elseif boss[1].hp <= 0 then -- verifica se voce ainda tem vida, caso nao tenha dá break print ("Voce Está morto"); break; elseif alvo == "1" then -- verifica se voce está se atacando print ("Voce nao pode se atacar, sera direcionado ao inicio"); else boss[tonumber(alvo)].hp = boss[tonumber(alvo)].hp - (boss[1].atac - boss[tonumber(alvo)].def); -- calcula o dano no alvo e atribui em HP boss[1].hp = boss[1].hp - (boss[tonumber(alvo)].atac - boss[1].def); -- calcula o dano recebido no personagem e atribui no hp print ("Voce Atacou: " ..boss[tonumber(alvo)].nome .. " Dano: " .. boss[tonumber(alvo)].def - boss[1].atac .. " Vida Restante: " .. boss[tonumber(alvo)].hp); -- imprime informaçoes de batalha contra inimigos print (boss[tonumber(alvo)].nome .." te atacou" .. " Dano: " .. boss[tonumber(alvo)].atac - boss[1].def .. " Vida Restate: " .. boss[1].hp); -- imprime informaçoes de batalha contra o personagem print ("Tete atacar novamente!!"); -- iforma para voce atarcar novamente end else if tonumber(x) == nil or tonumber(x) > #boss then -- verifica se o valor de consulta é valido. print ("\nAlvo ou comando invalido"); else -- caso o valor de consulta seja valido ele busca na tabela boss print ("\nNome: "..boss[tonumber(x)].nome); print ("Vida: "..boss[tonumber(x)].hp .. " Ataque: " .. boss[tonumber(x)].atac .. " Defesa: " .. boss[tonumber(x)].def); end endend