Vilarejo PK2P
Bem-vindo ao fórum Vilarejo PK2P! O fórum oficial do canal Press Key to Play do Youtube!

Grupo para reunir as pessoas que acompanham os vídeos no canal Press Key to Play e discutir os assuntos abrangidos pelo Blog PK2P.


Você não está conectado. Conecte-se ou registre-se

[tutorial] minecraft: computercraft - 3º parte

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

e ae galera continuando o tutorial do mod computercraft nessa parte vamos aprender um pouco mais da linguagem lua, para começar criamos um computador e nele criamos nossa source (se tiver duvida sobre os comandos digitados e caso nao tenha lido a primeira e a segunda parte do tutorial recomendo da uma olhadinha nela antes)

Código:
edit kodo.lua



as vezes é necessario a gente repetir varias vezes o mesmo trecho de codigo dentro do nosso programa e isso pode ser um pouco complicado ja que muitos codigos sao muitas linhas entao ficar repetindo varias vezes poderia ser muito trabalhoso, para evitar isso a gente pode criar funções com trechos de codigos prontos assim bastando chamar essa função a qualquer momento para usar aquele trecho de codigo especifico isso quantas vezes a gente quiser, para criar uma função na linguagem lua basta a gente usar a palavra function seguido do nome da nossa função (o nome tem a mesma regra da variavel nao pode ter espaço e nem começar com numeros ou caracteres especiais), depois do nome da variavel vem abre e fecha parenteses sendo dentro dele os argumentos da função no caso podemos deixar vazio caso nao tenha argumentos (vamos ver isso mais para frente), depois vem o trecho do nosso codigo que sera chamado quando a gente usar a função, no final do nosso codigo a gente termina com end indicando o fim do escopo ou seja o fim daquela função

Código:
function kami()
print("meu nome e kodo")
end

para a gente chama a função basta digitar o nome dela seguido de abre e fecha parenteses, porem a função só pode ser chamada depois de ser criada

Código:
function kami()
print("meu nome e kodo")
end

kami()



levando para o lado de logica de programação nao podemos usar uma função antes de criar ela ou seja chamar a nossa função antes de criar nao vai funcionar e ainda vai retornar um erro (attept to call nil), isso faz sentido ja que nao se pode comer um bolo sem esta pronto

Código:

kami()

function kami()
print("meu nome e kodo")
end

a gente pode chamar a nossa função quantas vezes a gente quiser

Código:
function kami()
print("meu nome e kodo")
end

kami()
kami()
kami()



tambem podemos criar quantas funções a gente quiser dentro do nosso codigo

Código:
function banner()
print("====================")
print("    meu programa")
print("====================")
print("")
end

function mensagem()
print("seja bem vindo")
end

banner()
mensagem()

a gente pode passar argumentos para dentro da função para ser manipulado por ela, para a gente fazer isso basta declarar as variaveis dentro do argumento separadas por virgula, exemplo uma função que soma dois valores sendo que a gente passa como argumento os dois valores para ela quando ela for chamada

Código:
function somar(valor1, valor2)
resultado = valor1 + valor2
print(resultado)
end

na chamada da função anterior temos que passar os dois valores separados por virgula

Código:
function somar(valor1, valor2)
resultado = valor1 + valor2
print(resultado)
end

somar(300,15)

alem da entrada de argumento para uma função temos o retorno dela ou seja podemos atribuir o valor de retorno uma chamada de função para uma variavel, para retornar o valor da função basta atribuir o valor para o nome dela mesmo, veja o mesmo exemplo anterior porem ao inves de mostrar com print o resultado ele retorna o valor

Código:
function somar(valor1, valor2)
resultado = valor1 + valor2
somar = resultado
end

retorno = somar(300,15)
print(retorno)

as funções facilita muito para o programador nao precisar ficar digitando o mesmo codigo inúmeras vezes naquele programa, porem criar uma função dentro do programa fica limitado aquele programa em si ou seja se tiver outro programa a função nao vai existir naquele programa e com isso nao vai funcionar, para evitar isso podemos criar um modulo (tambem chamado de biblioteca) que sao arquivos que contem apenas as funções, quando a gente precisar usar aquela função especifica basta carregar o modulo no programa assim podemos usar a função naquele programa e em outros futuros programas tambem, para criar um modulo em lua basta apenas criar as funções dentro do arquivo, no meu exemplo meu arquivo modulo se chama kodomodulo.lua e tem apenas essa função dentro

Código:
function mostrar()
print("nasa nao e unica que mexe com a lua aqui kkk")
end

no nosso programa para a gente carregar o modulo usamos os.loadAPI e passamos como argumento o modulo (lembrando que o modulo deve ta na mesma pasta que o programa ou deve especificar o endereço completo dela), depois de carregar o modulo podemos usar as funçoes dentro daquele modulo normalmente

Código:
os.loadAPI("kodomodulo.lua")

mostrar()

no primeiro tutorial a gente viu alguns comandos para manipular redstone agora vamos ver isso via programação, no caso para a gente ativar ou desativar a redstone usamos a função redstone.setOutput nela passamos como argumento o lado que esta redstone (left, right, top etc) e por fim o argumento true para ativar a redstone

Código:
redstone.setOutput("right",true)



com o argumento false a gente desativa a redstone

Código:
redstone.setOutput("right",false)



podemos manipular a força da redstone ou seja quantos blocos ela va alcançar para isso usamos a função redstone.setAnalogOutput, sendo os argumentos dele parecido com anterior porem no lugar de true ou false passamos um numero que sera a quantidade blocos que a redstone vai chegar

Código:
redstone.setAnalogOutput("right",5)

tambem é possivel saber se a redstone esta ativada ou desativada com a função redstone.getInput, no argumento dela passamos o lado (left, right etc) e ela tambe retorna true e false ou seja true ta ativada e false ta desativada

Código:
sinal = redstone.getInput("right")
print(sinal)



voce pode usar a função anterior para detectar sinal de redstone de outras coisas como alavanca, botões ou qualquer coisa que envie sinal de redstone



tambem é possivel ver força restante com a função redstone.getAnalogInput sendo o argumento dela apenas a direção

Código:
forca = redstone.getAnalogInput("right")
print(forca)

com isso ja da para fazer um bucado de coisas o que vale é a criatividade de voces, bom galera aqui encerra mais uma parte do tutorial porem esse tutorial nao termina aqui nao tem muita coisa ainda do computercraft como rednet, eventos, perifericos entre outras coisas, então galera ate proxima parte \o

by kodo no kami

Ver perfil do usuário https://eofclub.in/forum

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum