Ir para conteúdo
  • 0

Aprendizagem 3


ZeNit91

Pergunta

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
Editado por ZeNit91
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Já ouviu falar da orientação a objetos? Em lua tem como simular através de metametodos, tu poderia por exemplo abstrair varias coisas em uma classe creature, dai só faria instancias com os attributes de cada um, e faria metodos pra verificar se tem vida e etc, pra adicionar vida, remover e tudo mais

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...