Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

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 monstros
boss[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 \nPara sair digite exit\n"); --explicao simples
print ("Escolha um nome"); -- pedido de nome para personagem principal
boss[1].nome = io.read(); -- atribui nome ao personagem


while true do -- ciclo de comandos
print ("\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
	end
end

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo