Buscar

Anotações LUA (Programação)

Prévia do material em texto

Print (“entre aspas você coloca o texto”)
F2 para salvar F5 para realizar a ação
--Você pode deixar uma mensagem para entender o que fez no seu código até ali.
print (2 + 1 =), print (2 – 1 =), print (4 * 4 =), print (4 / 2 =) Faz a soma, subtração, multiplicação e divisão.
Módulo dá-se por %
Ola_Mundo = “Olá mundo” Cria uma variável e coloca um texto chamado “Olá mundo” nela.
1 – Nomes de variáveis que não podem ter acentos ou caracteres especiais, sendo possíveis apenas Letras, Números, Underscore _.
2 – Nomes de variáveis não podem ter espaços.
3 – Nomes de variáveis não podem ser iguais a palavras reservada pela linguagem, tais como> Print, True, False, IF, then, else, end, etc. No momento em que se usa uma palavra reservada ela se torna negrito ou o aplicativo irá lhe enviar o aviso de que não é possível utilizar esta palavra.
Linha1 = Primeira linha do texto Neste momento admitimos que ao escrever “Linha1” Lua irá entender que nos referimos a frase “Primeira linha do texto”
Concatenar: Print(linha1 .. linha2) No momento em que esta função é ativada a linha1 soma com a linha2 juntando suas respectivas frases. Quando coloca em meio a esta função um espaço, texto ou sinal, também interfere no resultado, por exemplo: print(linha1 .. “-“ .. linha2). Também é possível unir um texto com números, por exemplo: titulo = “Você me deve: ” valor = 450 print(titulo .. “R$” .. valor) e então você tem por resultado: Você me deve: R$ 450.
Print() = Exibe na tela um valor.
String = Cadeia de caracteres de texto.
Boolean só pode assumir dois valores, verdadeiro ou falso, (True, False)
== é o sinal de comparação de igualdade, ou seja, ele compara se uma coisa é igual a outra. Como por exemplo: estaAtivo = False print(estaAtivo == False) tem-se por resultado da Lua o True pois ela comparou se estaAtivo tem algo a ver com False, logo a máquina presume que ao colocarmos a função estaAtivo = False nós tornamos estas palavras iguais.
Tostring() = esta função converte um dado para string, quando este dado está dentro dos parênteses, ou seja, ele converte o dado em uma cadeia de caracteres. Ou seja ela converte o valor boolean para um texto, como por exemplo, ela pode converter o boolean True para somente true. Ou pode converter um número como 123 para um texto “123”.
Os sinais >, <, >=, <=, == Retornam um valor Boolean Sempre True ou False.
Nil = significa “nada” um vazio ou um eco, significa Nulo.
“\” é um caractere de escape,usa-se para conseguir distinguir acentuações e sinais que a Lua não percebe, como por exemplo nome = “caixa d’água” a Lua não identifica o caractere, logo usa-se o caractere de escape: nome = “caixa \d’água” para que a Lua possa identificar, logo o mesmo o corre com frase com aspas: Ironia = “Nossa, você é “muito bonito”” a Lua não entende, então deve-se utilizar o caractere, Ironia = “Nossa, você é \”muito bonito\””.
“\n” é um caractere utilizado para fazer uma nova linha, como por exemplo:
variasLinhas = “linha 1\nlinha 2” print(variasLinhas)
linha 1
linha 2
Agora para utilizarmos a tabulação (espaço antes do inicio de um parágrafo, tecla tab do teclado) nós utilizamos o caractere especial “\t” por exemplo:
tabulação = “\tTabulacao antes de mim” print(tabulacao)
	Tabulacao antes de mim
Após uma tabulação, o cursor fica selecionado sempre no mesmo ponto em que a tabulação foi ativada, e para poder retorná-lo ao normal devemos usar o caractere “/r” ou seja: retorno = “\t\rRetornei!” print(retorno)
	Tabulacao antes de mim 
Retornei!
Io.read() é um conjunto de funções de entrada e saídas de dados. Ou seja, a biblioteca Io.read vai ler o que o player ou o desenvolvedor escreveu e armazenar, podendo então fazer e responder perguntas para a máquina por meio disto.
· Numa chamada a uma função, por exemplo tostring(), o valor passado dentro dos () é chamado argumento.
· O valor retornado pela função é chamado de retorno ou saída.
· E a função pode executar algo sem retornar, apenas executar uma tarefa, como a função print!
ALGORITMO: Tarefas en ordem lógicas e sequencial com a intenção de cumprir um objetivo pré definido.
“if” é uma relação de Condição, e deve ser acompanhada de uma outra relação que é “then” que indica o resultado obtido por “if” ou seja: “Se............ Então faça isso” 
Exemplo: valor1 = 10 valor2 = 20
If valor1 < valor2 then
 print(“O valor 1 é maior que o valor 2”)
O valor um é maior que o valor dois.
If Aceita somente verdadeiro ou falso, tendo em vista que esta função se dá por aceitar apenas valores unicamente verdadeiros ou falsos, não podendo por exemplo colocar valores que podem se contrariar tal como colocar um valor que representa true e outro que representa false.
Este operador também é reconhecido como operador lógico “Se”.
“function” inicia uma função ou algoritmo.
“End” finaliza a função, precisa ser acompanhada de uma função tal como “if” ou “function”
“or” esta função torna possível a análise de uma função, autorizando por exemplo uma função que apresente valores tanto verdadeiros como falsos.
Exemplo: 
function contarPontos(nome)
 if(nome == "Medusa" or nome == "Hidra ") then
 return 500
 else
 return 10
 end
end
print(contarPontos("Hidra"))
print(contarPontos("Medusa"))
print(contarPontos("Javali"))
500
500
10
LOOPINGS
WHILE e DO -
while é uma ferramenta de looping, o seu significado é (Enquanto) Logo, enquanto acontece algo, deve acontecer algo mais. While vem sempre acompanhado de “do” que significa (Fazer) logo, unindo os dois, “enquanto algo acontece, deve fazer tal ação.” É necessário ter em mente que o while só acontece quando uma condição se tornar verdadeira, até isso ocorrer o looping não irá prosseguir.
Exemplo:
i = 1
while i <= 10 do
 i = i + 1
end
1 
2 
3 
4... 
10.
FOR –
Diferente da função while, a F for cria em menos linhas o resultado esperado, também vem acompanhada de do. O looping for é mais utilizado em linguagens diretas, como a do exemplo, não sendo tão utilizado para acrescentar outros fatores como while e os demais.
Exemplo:
for i = 1, 10, 1
 print(i)
1
2
3...
10
REPEAT e UNTIL –
repeat (Repetir) e until(Até), este looping é diferente dos demais, pois ao contrário de todos, ele é o único que é ativado somente quando a condição é FALSA. E o looping vai executar ao menos uma vez.
Exemplo:
Indice = 1
repeat 
 print(índice)
 índice = índice + 1
until índice > 10
1
2
3...
10.
ARRAY, MATRIZES, DICONÁRIO.
ARRAY – Array significa uma cadeia de dados, matriz ou até mesmo uma tabela. Para utilizar desta função, são necessários o uso de Chaves “{}” 
	Posição
	Vida 
	1
	1000
	2
	800
	3
	500
	4
	100
Exemplo: inimigos = { 1000, 800, 500, 100} 
print(inimigos[4])
print(inimigos[2])
100
800 
--[[ aqui dá pra ver que perguntamos para a função qual a vida deles ]]—
print(“Quantos inimigos nós temos?”)
print(inimigos#)
4
--[[ usando esta função, tivemos a resposta do Array de quantos inimigos temos. ]]--
qtdinimigos = inimigos#
print(inimigos[3])
500
inimigos[3] = 499
print(inimigos[3])
499
--[[ Nesta função, modificamos a quantidade de vida de um inimigo sem usar a tabela. ]]--
inimigos[qtdInimigos + 1] = 50
print(inimigos[5])
50
--[[ Aqui adicionamos um novo inimigo na tabela sem modificá-la, colocamos também a vida dele]]--
for idx = 1, 5, 1 do
 print(“inimigo “ .. idx .. “tem vida:” .. inimigos[idx])
end
inimigo 1 tem vida: 1000
inimigo 2 tem vida: 800
inimigo 3 tem vida: 499
inimigo 4 tem vida: 100
inimigo 6 tem vida: 50
--[[ Aqui, temos por resultado o número da posição de cada inimigo, sua vida e as informações que foram modificadas estão todas colocadas juntamente na tabela. Obteríamos o mesmo valor com: ]]--
for idx = 1, #inimigos, 1 do – Ou – inimigos[inimigos# + 1] = 50 – teríamos o mesmo valor com as duas.
ARRAY ASSOCIATIVO ou DICIONÁRIO -
Um array representado com uma Chave e um valor parcada chave, pode ter apenas um valor por chave. Calcula um índice em forma de palavras.
Exemplo:
	Item
	Preço
	Contracorrente
	1000
	Ivlivs
	800
	Boné_dos_Yakees
	500
	Flauta_de_Pan
	300
itens = {
 Contracorrente = 1000
 Ivlivs = 800
 Boné_dos_Yankees = 500
 Flauta_de_Pan = 300
 }
 print(itens.Contracorrente)
 1000
--[[ Aqui fica claro que estamos chamando no código a Contracorrente e dando o seu valor ]]--
itens.ArmaduradeBronze = 500
 print(itens.ArmaduradeBronze)
500
--[[ Aqui adicionamos um novo item ao dicionário e o seu valor. ]]--
itens.Boné_dos_Yankees = 400
print(itens.Boné_dos_Yankees)
400
--[[ Aqui é alterado o valor de um item já presente na tabela. ]]--
for chave, valor in pairs(itens) do
 print(chave .. “: ” .. valor)
end
Contracorrente: 1000
Ivlivs: 800
Boné_dos_Yankees: 400
Flauta_de_Pan: 300
ArmaduradeBronze: 500
--[[Aqui pedimos uma listagem para a Lua, que nos dá tanto o nome da Chave quanto o Valor atribuído, incluindo também as modificações feitas previamente. Utilizamos uma nova expressão chamada “in pairs” que pede os pares, tanto de chave quanto valor e os cola juntos ]]--
inimigos = {
 Javali = {
 posicao = {x = 10, y = 20},
 forca = 50,
 nome = “Filhote de Erimanto”
 }
print(posição.Javali.x)
10
--[[ Aqui adicionamos um novo inimigo ao mapa, adicionando também suas posições, poder e nome. ]]--
S
LISTA DE ABREVIAÇÕES APRENDIDAS E SUAS TRADUÇÕES/SIGNIFFICADOS
1. print() - Imprimir na tela.
2. -- - Comentário de linha única.
3. --[[ - Inicia comentário de várias linhas.
]]-- - finaliza comentário de várias linhas.
4. .. – (Concatenação) Separação de frases.
5. tostring() – (Para a frase) – converte boolean em frase.
6. = - Cria uma variável.
7. _G. – Chama a função da variável global.
8. == - Faz a comparação entre alguma coisa com outra.
9. + - Soma um valor.
10. - - Subtrai um valor.
11. / - Divide um valor.
12. * - Multiplica um valor.
13. > - (Maior) - Retorna um valor True para uma varável que seja maior à outra.
14. < - (Menor) – Retorna um valor True para uma varável que seja menor à outra
15. >= (Maior ou Igual) – Retorna como True um valor que seja maior ou igual ao outro.
16. <= (Menor ou Igual) – Retorna como True um valor que seja menor ou igual ao outro.
17. ~= - (Diferente) – Retorna como True quando um valor é diferente de outro.
18. true – (Verdadeiro) – Verifica se a função é verdadeira.
19. false – (Falso) – Verifica se a função é falsa.
20. nil – (Nulo) – Anula uma função ou deixa um espaço vazio em meio a função.
21. then – (Então) – Gera uma reação após uma exposição de dados anteriormente.
22. \ - (Caráctere de escape) – Permite que o Lua leia o código mesmo contendo acentuações.
23. \n – (Nova linha) - Cria uma segunda linha de texto num código feito em linha única.
24. \t – (Tabulação) - Cria uma tabulação em meio ao resultado do código.
25. \r – (Retorno) – Retorna uma tabulação previamente criada.
26. io.read() – Faz com que a máquina leia um texto redigido pelo usuário e o cumpra.
27. function (Função) – Cria uma função.
28. if – (Se) – Cria uma hipótese ou circunstância que pode acontecer no jogo.
29. else – (Senão se) – Cria uma hipótese após o if, caso a dele não se encaixe.
30. elseif – (Mas se nada funcionar, então) – Sem explicações.
31. end – (Fim) – Finaliza uma função if/while ou uma função function.
32. and – (E) – Acrescenta outra variável a função.
33. or – (Ou) – Dá uma segunda possibilidade ao algoritmo.
34. not – (Não/ Não for) – Contraria alguma característica da função.
35. retorn – (Retorno) – Retorna ao player um valor após executar uma ação.
36. while – (Enquanto) – Função que cria um Looping precisa ser fechada com “do”.
37. do – (Faz) – (Função que acompanha while) - diz que uma variável tem que fazer algo na função.

Outros materiais