Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

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

Tutoriais, videoaulas, guias e downloads para te ajudar nos estudos.
Avatar do usuário
All-x
Administrador
Administrador
Reações: 8
Mensagens: 621
Localização: Dourados-MS

Contato:

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

Mensagem por All-x » Sex Abr 29, 2016 3:01 pm

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: Selecionar todos

[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: Selecionar todos

//pontuação igual a 0
pontos = 0
-Agora no step coloque:

Código: Selecionar todos

//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: Selecionar todos

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: Selecionar todos

//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: Selecionar todos

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: Selecionar todos

//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:

Imagem

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

Código: Selecionar todos

//pontos iniciais igual a 10000
pontos = 10000
Substitua o que esta no Key press-> Space por:

Código: Selecionar todos

//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: Selecionar todos

//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: Selecionar todos

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

Código: Selecionar todos

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: Selecionar todos

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: Selecionar todos

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: Selecionar todos

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.

Imagem

É 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: Selecionar todos

//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.

*/
Aula Anterior: #IEM Aula 02 - Variáveis/Constantes
Próxima aula: #IEM Aula 04 - If/While e Expressões

FLWS!
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante