GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Retorno da GMBR!!!
por vinians Qui 14 Mar 2024, 19:07

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


Lógica ao programar - Introdução.

+2
CAPCOM Fã
JonathanMatemático
6 participantes

Ir para baixo

Lógica ao programar - Introdução. Empty Lógica ao programar - Introdução.

Mensagem por JonathanMatemático Seg 19 Mar 2012, 20:57

Lógica ao se programar - Introdução.


Arrisco dizer aqui que a maioria esmagadora das dúvidas relacionadas à Game Maker Lenguage (GML) são elementais, ou seja, se resolvem por uma simples visão lógica do problema, nada de equações complicadas para alcançar o objetivo. A partir dessa proposição decidi fazer algumas considerações (que beiram aulas) sobre lógica quando se programa, partindo de uma visão bem simples. Farei algumas considerações gerais, e, em sequencia, desenvolverei algumas problemas e explicarei qual seria a lógica para resolve-los. Espero que seja um material útil.

Para começar, vamos definir resumidamente o que é lógica. Lógica - por minhas palavras - é uma organização que faça sentido a um interpretador. Um exemplo na língua portuguesa, as sentenças "Carro azul." e "Azul carro.". A primeira forma faz sentido para o nós, brasileiros, já a segunda, não. Isso ocorre porque nosso cérebro é acostumado a ler e ouvir a primeira forma de organização (substantivo + adjetivo) e não a segunda (adjetivo + substantivo), a ordem importa. Claro, podemos até mesmo entender o que a segunda sentença deseja expressar, pois temos essa capacidade adaptativa, mas um computador, ao ler algum script, não terá essa sensibilidade, ele lerá ao pé da letra da forma que foi instruído a fazer. Se a sentença não obedecer a lógica do interpretador computacional, ou ele indicará um erro, ou, pior, ele executará uma ação diferente da planejada (digo isso pois, nesse caso, teríamos que ler todos os scripts referentes atrás de um erro lógico, processo que, dependendo do tamanho do projeto, leva até horas).

Obs.:
Spoiler:

Então, lógica ao programar refere-se, como já devem ter deduzido, a escrever dentro da lógica do console do Game Maker (GM).

Vamos, nessa aula introdutória, pensar em um exemplo lógico. Vamos dizer que eu queira que um variável a seja definida em função de b com a = 2b. Como eu faria isso? Vamos pensar na lógica do GML, como ele lê o que introduzimos? Em ordem sequencial. Logo, a resolução disso seria:

Código:
b = 2;
a = 2*b;

Esse código funcionaria, pois seguimos a lógica do GML que se baseia na leitura de "cima para baixo" dos scripts. O script seguinte estaria errado por conta dessa mesma lógica:

Código:
a = 2*b;
b = 2;

Esse script retornaria um erro, pois, até o instante que dizer que a = 2*b, não dissemos quanto vale b. Como o GML definirá o valor de a se nunca ouviu falar de b até o momento? Essa questão temporal é importantíssima, e costuma às vezes pegar "macacos velhos" da programação.

É isso por enquanto, na próxima aula (se assim posso chamar) nos aprofundaremos mais.


Off topic: eaí, o que acharam? Acho o tema que escolhi interessante pelo que venho notando pelo fórum. Existem diversos tutoriais falando diretamente da lógica dessa ou daquela estrutura, mas não vi muito material sobre o básico da lógica, como a questão temporal de interpretação dos códigos. Essa é minha primeira contribuição para o fórum. Trabalharei em alguns projetos mais simples antes de pensar em algoritmos de natureza matemática avançada. Até!
JonathanMatemático
JonathanMatemático

Data de inscrição : 17/03/2012
Reputação : 1
Número de Mensagens : 33
Prêmios : Lógica ao programar - Introdução. Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Lógica ao programar - Introdução. Empty Re: Lógica ao programar - Introdução.

Mensagem por CAPCOM Fã Seg 19 Mar 2012, 21:19

@JonathanMatemático

Parabéns meu amigo já sabia oque você nos introduziu e por isso digo que você explicou perfeitamente ,sua introdução ficou muito boa ,continue postando os tutoriais nesse nível e nosso conhecimento ira ficar mais elevado.

elementar caro amigo. Happy
CAPCOM Fã
CAPCOM Fã

Data de inscrição : 08/03/2012
Reputação : 1
Número de Mensagens : 58
Prêmios : Lógica ao programar - Introdução. Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://gabrielfelipe-games-app.blogspot.com/

Ir para o topo Ir para baixo

Lógica ao programar - Introdução. Empty Re: Lógica ao programar - Introdução.

Mensagem por Klior Seg 19 Mar 2012, 21:35

Meus parabéns pelo tutorial, gostei muito da sua escrita formal. Sobre o tema foi muito bem elaborado também, a maioria das duvidas aqui no fórum se da por essa falta de logica de programador.

Edit:
Off
Post número 300.
Lógica ao programar - Introdução. 300-sig
Klior
Klior

Data de inscrição : 07/03/2010
Reputação : 13
Número de Mensagens : 426
Prêmios : Lógica ao programar - Introdução. Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • C#
  • Javascript


Ir para o topo Ir para baixo

Lógica ao programar - Introdução. Empty Re: Lógica ao programar - Introdução.

Mensagem por saim Qui 22 Mar 2012, 09:10

JonathanMatemático escreveu:digo isso pois, nesse caso, teríamos que ler todos os scripts referentes atrás de um erro lógico, processo que, dependendo do tamanho do projeto, leva até horas
Já tive um problema que levou um pouco mais de tempo pra ser encontrado. Duas semanas olhando linha-por-linha as dezenas de scripts, procurando em qual linha de qual deles havia um erro - que não era desses que saltam numa janela, apenas uma reação inesperada do jogo. Por fim, durante o banho, uma engrenagem solta se encaixou e eu saquei que tinha invertido dois argumentos um uma função. Problemas de lógica podem ser BEM difíceis de encontrar.
JonathanMatemático escreveu:Essa questão temporal é importantíssima, e costuma às vezes pegar "macacos velhos" da programação.
Às vezes? Então eu não sou o macaco velho que achava que era... TODA HORA eu cometo esses erros. Agora já tenho mais facilidade de evitá-los e, quando são muito óbvios, de encontrá-los. Mas nunca parei de cometer essas gafes.

O tema é importante e realmente é pouco abordado, mas a linguagem está mais voltada praqueles que sabem do que você está falando. Talvez algumas alegorias, alguns exemplos relacionados ao jogo pronto deixassem o tutorial mais digerível para os novatos. Um exemplo que me vem à mente é tentar abrir uma porta verde com a chave vermelha ou sem chave nenhuma. Sem citar códigos, tente explicar como funcionaria a lógica numa situação dessas (...na colisão, o programa verificaria se a variável "chave_na_mão" tem o valor requerido pra abrir a porta, etc.).
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Lógica ao programar - Introdução. Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Lógica ao programar - Introdução. Empty Re: Lógica ao programar - Introdução.

Mensagem por JonathanMatemático Sex 23 Mar 2012, 14:03

Obrigado a todos pelos comentários.

Saim, vida de programador é mesmo o cão nessas horas, hehe. O próximo texto que produzir será nesse sentido, tentando atingir melhor o público alvo. Gostei do seu exemplo, tentarei postar neste fim de semana.
JonathanMatemático
JonathanMatemático

Data de inscrição : 17/03/2012
Reputação : 1
Número de Mensagens : 33
Prêmios : Lógica ao programar - Introdução. Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Lógica ao programar - Introdução. Empty Re: Lógica ao programar - Introdução.

Mensagem por Joton Sex 23 Mar 2012, 14:39

Realmente entender a lógica é o pilar principal para se programar e não é da noite pro dia, ou da semana, ou do mês, ou do ano é algo que é preciso ser estudado e praticado muito para ser um bom programador.

Na minha opinião achei o tutorial fraco, talvez por ser seu primeiro tuto, mas achei boa a iniciativa vou acompanhar os próximos.

Uma boa também seria fazer matemática voltada para jogos, até na internet é difícil encontrar material em português para iniciantes ou entendível, fica aí a dica pros matemáticos de plantão
Joton
Joton

Games Ranking : Nota B

Notas recebidas : A+B+C
Data de inscrição : 25/07/2010
Reputação : 5
Número de Mensagens : 867
Prêmios : Lógica ao programar - Introdução. Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 2 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker Studio 1.4
  • Unity
  • Javascript


http://jotonsn.blogspot.com/

Ir para o topo Ir para baixo

Lógica ao programar - Introdução. Empty Re: Lógica ao programar - Introdução.

Mensagem por JonathanMatemático Sex 23 Mar 2012, 16:28

Aceito a crítica, tentarei, como sempre, elevar o nível do conteúdo.

Sobre o material sobre matemática voltada para jogos, não é, nem de longe, minha especialidade (a matemática aplicada). Mas tentarei introduzir meus conhecimentos, que são, em sua grande maioria, teóricos nesse aspecto. Só preciso, antes disso, logicamente, me acostumar novamente ao GM e arrumar um tempo livre.
JonathanMatemático
JonathanMatemático

Data de inscrição : 17/03/2012
Reputação : 1
Número de Mensagens : 33
Prêmios : Lógica ao programar - Introdução. Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Lógica ao programar - Introdução. Empty Re: Lógica ao programar - Introdução.

Mensagem por Lauro Sex 23 Mar 2012, 18:10

Interessante, você explicou uma coisa simples que creio que todo mundo já tenha ficado horas tentando resolver. Eu, chorei pra aprender essa lição, de que o game maker apenas lê os códigos de cima para baixo, de esquerda para direita.
Existem outras coisas que também mudam o sentido no gm pelo simples modo de escrever, como a pontuação (, . ;) as aspas, e etc.
Isso ajuda muito ainda para quem está aprendendo gml, pois creio que esse tema não seja muito avançado.
Valeu! feliz2
Lauro
Lauro

Games Ranking : Nota D

Notas recebidas : C+D
Data de inscrição : 09/11/2010
Reputação : 11
Número de Mensagens : 855
Prêmios : Lógica ao programar - Introdução. Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Lógica ao programar - Introdução. Empty Re: Lógica ao programar - Introdução.

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos