Conectar-se

Esqueci minha senha

Últimos assuntos
» colisão de queda após outra colisão dando problema
Ontem à(s) 18:08 por Lighter

» [Duvida] O que aprender
Ontem à(s) 15:32 por Markituh

» BUILD FAILED: Cannot find BUILD.xml
Ontem à(s) 14:50 por ReisBlender

» Nota de esclarecimento - GMBR voltou!
Sex 23 Jun 2017, 20:33 por Willy

» Regras do Fórum
Sex 23 Jun 2017, 19:02 por GMBR

» Retorno da GMBR!!!
Ter 24 Jan 2017, 15:43 por GMBR

» Jogo Dengue HTML
Seg 30 Nov 2015, 16:17 por guga

» Criando IA Simples para inimigos
Qua 25 Nov 2015, 19:22 por DJDAVYD

» Ordenar variavel em ordem decrescente
Sex 28 Ago 2015, 21:09 por Kodained

» Crio Trilha Sonora para Games!
Qui 27 Ago 2015, 13:50 por Isaias Malafaia

» Problema com Colisão
Qui 27 Ago 2015, 12:30 por The_Game

» Quem quer Uma Engine, e de Quê?
Qui 27 Ago 2015, 09:22 por theguitarmester

» [RESOLV]Como adicionar 2 objetos na mesma posição?
Qua 26 Ago 2015, 11:38 por Bhryenno Kelvyn Carlson

» Sistema de porta!!!
Ter 25 Ago 2015, 21:29 por theguitarmester

» Venda de objetos em Inventário - Multiplicado
Seg 24 Ago 2015, 18:33 por AG Hydra

» Atirar na direção certa
Seg 24 Ago 2015, 09:03 por theguitarmester

» Western Duels
Seg 24 Ago 2015, 07:47 por theguitarmester

» Problemas na compilação android
Dom 23 Ago 2015, 23:43 por Zero.

» Dúvida sobre strings, lendo txt
Sab 22 Ago 2015, 20:31 por Pai véi

» Como estabilizar um som
Sab 22 Ago 2015, 19:03 por Isquilo_Roedor

» Janela Modal
Sab 22 Ago 2015, 09:23 por Pai véi

» Sobre instance Creation Code
Sab 22 Ago 2015, 08:39 por Pai véi

» LudumDare #33
Sex 21 Ago 2015, 21:17 por WellingtonBecker

» Como fazer um temporizador
Sex 21 Ago 2015, 19:02 por Isquilo_Roedor

» GMS sempre salva projeto ao compilar?
Sex 21 Ago 2015, 12:32 por Pai véi

Quem está conectado
18 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 18 Visitantes

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36

#IEM Aula 03 - Operações matemáticas

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

#IEM Aula 03 - Operações matemáticas

Mensagem por Alex FC em Qui 31 Dez 2009, 19:38

INTRODUÇÃO EM GML



Aula 03 - Operações Matemáticas



(Atualizado 08/02/2015)

Aqui vou ensinar a usar as quatro operações matemáticas (adição, subtração, divisão e multiplicação).

A estrutura funciona da seguinte forma:

Código:
[variável][sinal] =[variável, expressão ou numero]

Adição:

Como vimos na aula passada uma variável pode guardar números então vamos fazer o seguinte:

-Crie um objeto e em seu evento Create coloque:

Código:
//pontuação igual a 0
pontos = 0

-Agora no step coloque:

Código:
//somando  1 ponto
pontos += 1

Como o Step é um evento constante, ele sempre vai ocorrer enquanto este objeto existir. "+" é o sinal de adição, então o número aumentará.

-Mas para poder ver o que esta ocorrendo, vamos usar um código no evento de desenhos, o Draw:

Código:
draw_text(10, 10, pontos)

Isso desenha um texto na tela informando o valor da variável na posição x 10 e y 10 na room.

Não procure entender esse código agora. Faça o seguinte, coloque esse objeto na room e vamos ver o que acontece. Execute.

Depois de  executar você deve ter visto um número aumentando sem parar no canto esquerdo superior de sua tela. Essa é a adição em ação. Lembrando que você pode usar números menores que 1, como 0.25 e número menores que 0, como -1, -7 e etc (Fazendo o jogo se sinal). Não apague nada, usaremos esse mesmo objeto na próxima operação.

Subtração:

Substitua o código do step por esse:

Código:
//subtraindo -1 ponto
pontos -= 1

Agora execute ele novamente. Dessa vez você verá o número diminuindo e ficando negativo. É a Subtração em ação seu sinal é "-".

Multiplicação:

Ainda no mesmo objeto substitua o código do Create por:

Código:
pontos = 2

Fazemos isso pois se multiplicarmos 0 por outro número ele continuará 0 (0*5=0).

No mesmo objeto delete o evento step, e adicione o evento Key press-> Space e coloque o seguinte código:

Código:
//multiplicando pontos por 2
pontos *= 2

Execute o jogo e não aperte espaço muitas vezes, pois o número chegará ao seu limite e o jogo travará. Nessa operação os números aumentam rapidamente, é a multiplicação em ação e seu sinal é "*".

Divisão:



Continuando no mesmo objeto, substitua o código do create por este:

Código:
//pontos iniciais igual a 10000
pontos = 10000

Substitua o que esta no Key press-> Space por:

Código:
//dividindo pontos por 2
pontos /= 2

Depois de ter executado, você deve ter percebido a divisão do número até chegar em 0, essa é a divisão em ação e seu sinal é "/". E como 0 dividido por 0 é igual a 0, ele para por ai (Acontece um erro, pois nada pode ser dividido por 0).

Considerações:

Veja que usamos as operações diretamente nas variáveis, modificando-as. Mas e se quisermos que o resultado da divisão de 5 por 2 vá para nossa variável?

- Simples, fazemos isso:

Código:
//Pontos terá o valor  de 5 dividido por 2, que é 2.5
pontos = 5/2
- Também podemos usar outras variáveis e obter outros resultados:

Código:
//Pontos terá o valor da divisão do valor da variável score em 2
pontos = score/2

Código:
A = 5

B = 4

C = A + B

Note que não usamos o operador "=" junto com o operador matemático. Caso usássemos aconteceria um erro.

Você pode usar parenteses para definir a ordem das operações:

Código:
A = 5

B = 3

C = (A+B) / 2

Ou seja, primeiramente soma A + B e depois divide seu resultado por 2. Caso estivesse sem parenteses a divisão iria ser executada primeiro, ou seja B divido por 2 somado a A.

Operadores div e mod:

São operadores de divisão, mas são diferentes de "/".

- div:
retorna um valor inteiro da divisão:

Código:
valor=5 div 2

O resultado seria 2,5 em uma divisão normal com "/". Mas como só retorna um número inteiro o resultado é 2.

- mod: retorna o restante de uma divisão:

Código:
valor= 5 mod 2

Ele retorna o que o div ignora, ou seja o RESTO da divisão que é 1. E quando a divisão é exata 0 é retornado, pois não há sobra.



É como entregar 50 balas para 20 crianças, você dá 2 para cada uma e fica com 10.

Comentários:

Como deve ter percebido nos códigos, sempre coloco "//" e uma frase explicando o código, esses são os comentários e não influenciam nada no jogo, depois de por "//" o resto da linha a ser digitado será um comentário. Há também como comentar em blocos definindo o incio com "/*" e o fim com "*/".

Exemplo:

Código:
//Está linha não serve pra nada
minha_var = 50

/*Aqui eu posso pular uma linha

E continuar a comentar, isso estando dentro do bloco de comentários.

*/

Próxima aula: if



FLWS!


Última edição por Alex FC em Qua 11 Fev 2015, 10:06, editado 16 vez(es) (Razão : Atualização)
avatar
Alex FC

Ranking : Nota A
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2503
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1

Ver perfil do usuário http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: #IEM Aula 03 - Operações matemáticas

Mensagem por lucas mendes em Sex 01 Jan 2010, 00:43

muito boa essa aula!
não sabia como era a multiplicação e nem a divisão no gm!
além disso, como é q vc faz esses banners q agente clica e vai pra uma determinada pagina?

Vlw!!! Very Happy
avatar
lucas mendes

Data de inscrição : 04/05/2009
Número de Mensagens : 416
Insígnias de JAM :

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

Prêmios
   :
   :
   : 1

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: #IEM Aula 03 - Operações matemáticas

Mensagem por Alex FC em Sex 01 Jan 2010, 00:52

Muito obrigado. O link embutidos nas imagens são feitos com o seguinte código:

Código:
[url=www.enreço.com][img]link da imgem[/img][/url]

Espero ter esclarecido sua dúvida.

FLWS!
avatar
Alex FC

Ranking : Nota A
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2503
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1

Ver perfil do usuário http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: #IEM Aula 03 - Operações matemáticas

Mensagem por lucas mendes em Sex 01 Jan 2010, 00:56

esclareceu sim!
vlw.
avatar
lucas mendes

Data de inscrição : 04/05/2009
Número de Mensagens : 416
Insígnias de JAM :

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

Prêmios
   :
   :
   : 1

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: #IEM Aula 03 - Operações matemáticas

Mensagem por Alex FC em Dom 21 Out 2012, 12:31

Aula atualizada - 21/10/12:

- Melhora na grafia e explicação;
- Adição de exemplos;
- Atualização das imagens.

Ps: As próximas aulas serão atualizadas em breve.

FLWS!
avatar
Alex FC

Ranking : Nota A
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2503
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1

Ver perfil do usuário http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: #IEM Aula 03 - Operações matemáticas

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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