#1 - Aula de scripting Lua - logica de programação.

Poccnn
Por Poccnn
em Aulas

Poccnn

Enquanto houver armas no mundo, haverá guerra!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 07/03/16Posts: 1418Gênero: Masculino

aulaLogo.jpg

 

Logica de Programação

Eu sei que vocês estão cansados de saber disso, mas se faz muito necessário que tenham isso em mente.

Para se criar um programa de computador, tem que imaginar como será o programa, qual o objetivo do mesmo, O que é necessário para que ele funcione, Quais são os passos que terei que dar para fazê-lo...

São perguntas que tem que ser feitas e postas para podermos traçar um caminho que nos leve ao objetivo do programa.

Vamos entender um pouco sobre cada passo necessário para a criação de um programa.

 

 

LOGICA DE PROGRAMAÇÃO:

Logica de programação é a técnica de encadear pensamentos para atingir determinado objetivo.

Em outras palavras, tu tens que pensar em como a coisa vai ter que funcionar; O que é preciso para que ele funcione; qual é o proposito dele.

 

 

Exemplo:

 

Um carro caiu em um barranco; qual seria a melhor maneira de prestar socorro aos ocupantes do veiculo?

Retirar o veiculo? Com cordas? Não! com cabo de aço; puxando ou içando-o? Enviando uma equipe para lá?

São perguntas necessárias para se desenvolver a melhor maneira de resolver o problema; é nesse sentido que tem que pensar em logica de programação.

 

 

SEQUÊNCIA LOGICA:

Sequência logica são os passos executados até atingir um objetivo ou solução de um problema.

 

Os eventos seguem uma logica na qual um fator depende do outro. Não posso fazer um ovo mexido sem antes quebrar o ovo; primeiro quebra o ovo, põe na frigideira ao fogo com óleo, depois mexe; Pronto, saiu um ovo mexido.

 

INSTRUÇÕES.

Instruções é um conjunto de regras ou normas definidas para a realização ou emprego de algo. Em informática, é o que indica a um computador uma ação elementar a executar.

 

 

Dando um exemplo hipotético para descrever o que seja instruções:

 

Ir à padaria; saia pela rua x vá em frente, vire a direita na venda do seu zé, ande por 200 metros e a sua esquerda estará a padaria.

Todos estes conceitos podem ser descritos como um algoritmo, que devem ser seguidas para se cumprir uma determinada tarefa.

 

 

ALGORITMO:

Um algoritmo é formalmente uma sequencia finita de passos que levam a execução de uma tarefa.

 

 

Podemos pensar em algoritmo como uma receita, uma sequencia de instruções que dão cabo de uma meta especifica. Estas tarefas não podem ser redundantes nem subjetivas na sua definição, devem ser claras e precisas.

 

 

 PROGRAMA:

 Programa é uma sequência, uma lista na qual fica marcado todos os eventos do que se deve fazer.

 

Em outras palavras... Se tu queres fazer algo, tu deve seguir uma lista de afazeres para que esse algo seja feito.

 

 

Vamos criar uma lista de um evento hipotético:

         >> Vá à lanchonete.

         >> Peça um Xburger.

         >> Pague.

         >> Volte para casa.

 

 

As instruções são claras: ir a uma lanchonete comprar um lanche especifico e voltar pra casa.

Mas por trás existe uma serie de algoritmos, instruções, sequência e lógica de programação que são necessários para executar esse programa.

 

 

Descrevo aqui passo a passo como eu faço quando estou a desenvolver um código de programa:

Passo 1:

Idealizar o código. Por em minha mente o funcionamento dele por completo.

 

Passo2:

Dividir o código idealizado em partes; partes essa que se divide em requisitos e eventos.

 

Passo 3:

Traçar a melhor metodologia para confecção do script.

 

 

Vamos a um exemplo hipotético de criação de código.

Vamos criar um script para uma quest hipotética.

 

Primeiro vamos idealizar como seria essa quest:

 

O jogador terá que entrar em uma sala e enfrentar um monstro sozinho.

Opa, aparti daí nós já temos um requisito que seria impedir de outros entrarem na sala.

Esse requisito já vai para o passo dois no bloco de requisitos.

Pode haver outros requisitos à medida que vamos idealizando como seria tal quest.

Agora vamos imaginar os eventos que ocorrerão nessa quest:

 

Se já tiver alguém na sala, então impede dele entrar na sala e envia uma mensagem.

Não pode sair da sala.

Tem tempo para terminar a sala.

E etc...

 

 

Então chegamos a esse resultado:

Requisitos [ir sozinho a sala; ter level 100 ou mais; ser um druid, ...]

Eventos [impedir múltiplos jogadores na sala, impedir dele sair da sala, retira-lo da sala após 10 minutos, ...]

 

Agora tu escreves o código usando uma linguagem de programação, como lua que é o foco do nosso estudo, e cria o código para tal quest ou outra coisa que seja teu foco.

 

Tarefa:

Escrevam os eventos de um programa hipotético na qual o objetivo seja construir algo.

 

 

Inté a próxima aula e bons estudos.

aulaLogo.jpg.3c0db816bdf0a3c826fb0d2e25484fbe.jpg

"Deus é amor, mas matou 99,99999% de todos os seres viventes do mundo com o diluvio.

Deus é misericórdia, mas condena as pessoas ao tormento eterno do inferno.

Deus é pai, mas abandonou seus filhos a servidão.

Deus é vida, mas condenou a humanidade a morte.

Deus é o senhor. Senhor das guerras, da morte, do ódio.

 

Ninguém que ame a humanidade, mataria 99,99999% da população, não só de humanos, bem como dos demais animais, por amor. Isso não é amor, é doença, psicose de um sádico que gosta de ver sua 'criação' sofrer e ainda quer 'pagar' de misericordioso, de deus amor.

 

Não quero seu amor; não quero sua misericórdia, não quero ser seu filho, não quero sua vida, não quero que seja meu senhor.

Tu és um psicótico, doente, hipócrita, assassino; não me venha querer se passar por bondoso, amoroso, misericordioso."

kttallan

Lord Sorte
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 06/03/13Posts: 1574Gênero: MasculinoChar no Tibia: Lord Sorte

Opa comecei chefe!

Obs: não acha melhor criar um grupo no skype para tirar duvidas?

 

 

 



-- Algoritmo Construção --

> Fazer a planta.
> Pegar Materiais
    > Se não tiver então, comprar.
> Colocar equipamentos de segurança.
    > Se não tiver equipamentos de segurança então, cancelar.
> Convocar a equipe.
    > Se a equipe faltou então, cancelar.
> Montar o alicerce.
> Começar a Construir.
    > Se faltar materiais então, comprar.
> Finalizar Construção.

 

                                                                Scripter em Treinamento

 

Codigos

 

Simples Pet Sistema < New

 

Assim que possivel mais codigos, com criatividade.

America

Xeque - Mate
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 22/03/17Posts: 166Gênero: Masculino

Muito Bom, Deixo o meu abaixo:

 

// -- Algoritmo Construção -- //> Pegar Materiais > Não tem, compre.> Use Equipamento de Segurança > Não está, cancele e aparece mensagem pedindo pra colocar> Chame á Equipe > Não está, cancelar obra> Montar Alicerce> Erguer Paredes > Falta de Materias, então compre.> Finalizar Obra

 

Espero ter conseguido =):

ZoR

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/03/17Posts: 60Gênero: Masculino
>> Pegar Material para fazer a planta

>>Ver Quanto sao a Equip

>>Ver se eles possuem o Material certo

>>colocar o equipamento certo

>>se faltou 1 cancelar

>>começar a construir

>>Finalizar

pronto reformulei @Poccnn

Poccnn

Enquanto houver armas no mundo, haverá guerra!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 07/03/16Posts: 1418Gênero: Masculino
42 minutos atrás, kttallan disse:

Obs: não acha melhor criar um grupo no skype para tirar duvidas?

Três motivos do porque nao faço grupo do Skype:

1 - o fórum foi feito para interação entre membros.

2 - não tenho tempo para ficar no skype.

3 - nem todos irão ficar conectados no sjype ao mesmo tempo.

 

Com relação a tarefa...

 

Primeiro: lógica.

que é  planta? Isso é  uma instrução ambígua, ou melhor, isso é  apenas o objetivo do código e não uma instrução. 

Seja mais direto em suas instruções como:

> obter requisitos para iniciar a planta:

 

Segundo: sequência lógica.

Para colocar equipamentos de segurança, requer-se ter alguém para o faze-lo, logo a instrução "> Convocar a equipe." Deve estar antes da instrução "> Colocar equipamentos de segurança.".

 

Terceiro: idealização.

O que seria construir? Construir o quê? 

Essas instruções não sabem qual seria o objetivo traçado.

> Montar o alicerce.

> Começar a Construir.

> Finalizar Construção. 

 

 

"Deus é amor, mas matou 99,99999% de todos os seres viventes do mundo com o diluvio.

Deus é misericórdia, mas condena as pessoas ao tormento eterno do inferno.

Deus é pai, mas abandonou seus filhos a servidão.

Deus é vida, mas condenou a humanidade a morte.

Deus é o senhor. Senhor das guerras, da morte, do ódio.

 

Ninguém que ame a humanidade, mataria 99,99999% da população, não só de humanos, bem como dos demais animais, por amor. Isso não é amor, é doença, psicose de um sádico que gosta de ver sua 'criação' sofrer e ainda quer 'pagar' de misericordioso, de deus amor.

 

Não quero seu amor; não quero sua misericórdia, não quero ser seu filho, não quero sua vida, não quero que seja meu senhor.

Tu és um psicótico, doente, hipócrita, assassino; não me venha querer se passar por bondoso, amoroso, misericordioso."

America

Xeque - Mate
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 22/03/17Posts: 166Gênero: Masculino
Agora, Poccnn disse:

Três motivos do porque nao faço grupo do Skype:

1 - o fórum foi feito para interação entre membros.

2 - não tenho tempo para ficar no skype.

3 - nem todos irão ficar conectados no sjype ao mesmo tempo.

 

Com relação a tarefa...

 

Primeiro: lógica.

que é  planta? Isso é  uma instrução ambígua, ou melhor, isso é  apenas o objetivo do código e não uma instrução. 

Seja mais direto em suas instruções como:

> obter requisitos para iniciar a planta:

 

Segundo: sequência lógica.

Para colocar equipamentos de segurança, requer-se ter alguém para o faze-lo, logo a instrução "> Convocar a equipe." Deve estar antes da instrução "> Colocar equipamentos de segurança.".

 

Terceiro: idealização.

O que seria construir? Construir o quê? 

Essas instruções não sabem qual seria o objetivo traçado.

> Montar o alicerce.

> Começar a Construir.

> Finalizar Construção. 

 

 

Thanks =):

Poccnn

Enquanto houver armas no mundo, haverá guerra!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 07/03/16Posts: 1418Gênero: Masculino
1 minuto atrás, America disse:

Muito Bom, Deixo o meu abaixo:

 

// -- Algoritmo Construção -- //> Pegar Materiais > Não tem, compre.> Use Equipamento de Segurança > Não está, cancele e aparece mensagem pedindo pra colocar> Chame á Equipe > Não está, cancelar obra> Montar Alicerce> Erguer Paredes > Falta de Materias, então compre.> Finalizar Obra

 

Espero ter conseguido =):

 

Idem meu comentário sobre o script do katallan.

1 minuto atrás, ZikaLord disse:
>> Andar ate x SQM (bloco,tile sla)>>Ser Teleportado para x lugar>>pegar x item>>andar ate x tile>>ser teleportado para x sala>>matar x monsters em x time>>ser teleportado a x lugar>>pegar premio>>ser teleportado para x lugar apos pegar premio

 

Não é a tarefa que eu pedi.

"Deus é amor, mas matou 99,99999% de todos os seres viventes do mundo com o diluvio.

Deus é misericórdia, mas condena as pessoas ao tormento eterno do inferno.

Deus é pai, mas abandonou seus filhos a servidão.

Deus é vida, mas condenou a humanidade a morte.

Deus é o senhor. Senhor das guerras, da morte, do ódio.

 

Ninguém que ame a humanidade, mataria 99,99999% da população, não só de humanos, bem como dos demais animais, por amor. Isso não é amor, é doença, psicose de um sádico que gosta de ver sua 'criação' sofrer e ainda quer 'pagar' de misericordioso, de deus amor.

 

Não quero seu amor; não quero sua misericórdia, não quero ser seu filho, não quero sua vida, não quero que seja meu senhor.

Tu és um psicótico, doente, hipócrita, assassino; não me venha querer se passar por bondoso, amoroso, misericordioso."

America

Xeque - Mate
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 22/03/17Posts: 166Gênero: Masculino

Segunda Tentativa:

 

// -- Algoritmo Construção -- //

> Pedir para o Engenheiro Civil fazer á planta
 > Pagar pela Planta, Convocar Equipe para obra e reunir materias
> Convocar á Equipe
 > Não está, cancelar obra
> Pegar Materiais
 > Não tem, compre.
> Chame á Equipe
 > Não está, cancelar obra
> Toda Equipe colocar Equipamento de Segurança
 > Não está, cancele e aparece mensagem pedindo pra colocar.
> Equipe Verificar Equipamento de Segurança
 > Não estão com Equipamento, cancelar obra
> Montar Alicerce
 > Falta de Materias, Então Compre
> Erguer Paredes
 > Falta de Materias, Então Compre
> Finalizar Obra
 > Receber Pagamento, Dividir pagamento com integrantes da equipe.

@Poccnn e agora? ta certo?

kttallan

Lord Sorte
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 06/03/13Posts: 1574Gênero: MasculinoChar no Tibia: Lord Sorte

@Poccnn

Planta é o projeto do que irei fazer, como se fosse um layout.

                                                                Scripter em Treinamento

 

Codigos

 

Simples Pet Sistema < New

 

Assim que possivel mais codigos, com criatividade.

Poccnn

Enquanto houver armas no mundo, haverá guerra!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 07/03/16Posts: 1418Gênero: Masculino

@America.

Alguns pontos que precisam ser tratados:

Desvincule tu do script.

Script não pode ser ambíguo e nem subjetivo. 

Não use termos como "pedi", use termos mais impositivos como "obter".

 

Desmembre os eventos; reunir a equipe é um evento, reunir materiais é outro.

Convocar Equipe para obra e reunir materias

Repetição do mesmo evento:

Tu chamou o evento convocar equipe três vezes seguidas.

 

Tenta fazer da seguinte forma:

Desmembra os requisitos dos eventos.

Primeiro faz uma lista do que é  preciso e depois outra lista do que será feito.

"Deus é amor, mas matou 99,99999% de todos os seres viventes do mundo com o diluvio.

Deus é misericórdia, mas condena as pessoas ao tormento eterno do inferno.

Deus é pai, mas abandonou seus filhos a servidão.

Deus é vida, mas condenou a humanidade a morte.

Deus é o senhor. Senhor das guerras, da morte, do ódio.

 

Ninguém que ame a humanidade, mataria 99,99999% da população, não só de humanos, bem como dos demais animais, por amor. Isso não é amor, é doença, psicose de um sádico que gosta de ver sua 'criação' sofrer e ainda quer 'pagar' de misericordioso, de deus amor.

 

Não quero seu amor; não quero sua misericórdia, não quero ser seu filho, não quero sua vida, não quero que seja meu senhor.

Tu és um psicótico, doente, hipócrita, assassino; não me venha querer se passar por bondoso, amoroso, misericordioso."

America

Xeque - Mate
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 22/03/17Posts: 166Gênero: Masculino
Agora, Poccnn disse:

@America.

Alguns pontos que precisam ser tratados:

Desvincule tu do script.

Script não pode ser ambíguo e nem subjetivo. 

Não use termos como "pedi", use termos mais impositivos como "obter".

 

Desmembre os eventos; reunir a equipe é um evento, reunir materiais é outro.

Convocar Equipe para obra e reunir materias

Repetição do mesmo evento:

Tu chamou o evento convocar equipe três vezes seguidas.

 

Tenta fazer da seguinte forma:

Desmembra os requisitos dos eventos.

Primeiro faz uma lista do que é  preciso e depois outra lista do que será feito.

 

OK =):

 

e agora?

 

// -- Algoritmo Construção -- //> Obter planta com Engenheiro Civil. > Pagar pela Planta.> Convocar á Equipe > Não está, cancelar obra> Obter Materiais > Não tem, compre.> Toda Equipe colocar Equipamento de Segurança > Não está, cancele e aparece mensagem pedindo pra colocar.> Verificar Equipamento de Segurança > Não estão com Equipamento, cancelar obra> Montar Alicerce > Falta de Materias, Então Compre> Erguer Paredes > Falta de Materias, Então Compre> Finalizar Obra > Obter Pagamento, Dividir pagamento com integrantes da equipe.

 

 

Poccnn

Enquanto houver armas no mundo, haverá guerra!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 07/03/16Posts: 1418Gênero: Masculino

@America.

Não insira coisas subjetivas ou muito específicas como: pagar pela planta. Se for um engenheiro já da propria empreiteira que construirá a obra, não necessariamente será "pago" pela planta.

 

 

Use termos mais concretos, diretos e impositivos.

 

-- requisitos

> obter planta para construção. 

> obter equipe.

> obter materias.

> obter equipamentos.

 

-- eventos

> preparar terreno.

> fazer a fundação. 

> construir as paredes.

> construir o teto.

> colocar piso, portas e janelas.

> Finalizar acabamento interior e exterior.

 

Básicamente seria uma casa, Mas as instruções foram precisas.

 

"Deus é amor, mas matou 99,99999% de todos os seres viventes do mundo com o diluvio.

Deus é misericórdia, mas condena as pessoas ao tormento eterno do inferno.

Deus é pai, mas abandonou seus filhos a servidão.

Deus é vida, mas condenou a humanidade a morte.

Deus é o senhor. Senhor das guerras, da morte, do ódio.

 

Ninguém que ame a humanidade, mataria 99,99999% da população, não só de humanos, bem como dos demais animais, por amor. Isso não é amor, é doença, psicose de um sádico que gosta de ver sua 'criação' sofrer e ainda quer 'pagar' de misericordioso, de deus amor.

 

Não quero seu amor; não quero sua misericórdia, não quero ser seu filho, não quero sua vida, não quero que seja meu senhor.

Tu és um psicótico, doente, hipócrita, assassino; não me venha querer se passar por bondoso, amoroso, misericordioso."

America

Xeque - Mate
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 22/03/17Posts: 166Gênero: Masculino

@Poccnn

Blz

 

Terceira Tentativa

 

// -- Algoritmo Construção -- //> Obter planta > Se não tiver, cancele á obra.> Obter Equipe > Se não tiver, cancele á obra.> Obter Materiais > Não tem, compre.> Toda Equipe colocar Equipamento de Segurança > Não está, cancele e aparece mensagem pedindo pra colocar.> Verificar Equipamento de Segurança > Não estão com Equipamento, cancelar obra> Preparar terreno. > Se não preparar, cancele á obra. > Falta de Materias, Então Compre> Montar Alicerce > Falta de Materias, Então Compre   Se não erguer alicerce, cancele á obra.> Erguer Paredes > Falta de Materias, Então Compre > Se não erguer, cancele á obra.> Erguer Tetos > Falta de Materias, Então Compre > Se não erguer, cancele á obra.> Colocar Pisos > Falta de Materias, Então Compre > Se não colocar, cancele á obra.> Finalizar Acabamento Interior e Exterior > Falta de Materias, Então Compre > Se não finalizar, cancele á obra.> Finalizar Obra, Entregar á construção pronta.

 

Creio que sejá isso =):

Poccnn

Enquanto houver armas no mundo, haverá guerra!
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 07/03/16Posts: 1418Gênero: Masculino

@America.

A sequência lógica ficou boa, mas perceba como ficou exaustivo o script.

 

Repetições.

Veja quantas vezes tu usou o termo "falta de materiais".

Tu poderia ter feito isso uma única vez. 

> obter materiais para a obra.

>> não tem; obra parada.

 

Assim tu não precisa ficar repetindo o mesmo evento em cada parte do script.

"Deus é amor, mas matou 99,99999% de todos os seres viventes do mundo com o diluvio.

Deus é misericórdia, mas condena as pessoas ao tormento eterno do inferno.

Deus é pai, mas abandonou seus filhos a servidão.

Deus é vida, mas condenou a humanidade a morte.

Deus é o senhor. Senhor das guerras, da morte, do ódio.

 

Ninguém que ame a humanidade, mataria 99,99999% da população, não só de humanos, bem como dos demais animais, por amor. Isso não é amor, é doença, psicose de um sádico que gosta de ver sua 'criação' sofrer e ainda quer 'pagar' de misericordioso, de deus amor.

 

Não quero seu amor; não quero sua misericórdia, não quero ser seu filho, não quero sua vida, não quero que seja meu senhor.

Tu és um psicótico, doente, hipócrita, assassino; não me venha querer se passar por bondoso, amoroso, misericordioso."

ZoR

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/03/17Posts: 60Gênero: Masculino
Spoiler

>> Pegar Material para fazer a planta

>>Ver Quanto sao a Equip

>>Ver se eles possuem o Material certo

>>colocar o equipamento certo

>>se faltou 1 cancelar

>>começar a construir

>>Finalizar