Ir para conteúdo
  • Cadastre-se

Posts Recomendados

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

 

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo