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
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

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

» 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


[Carlos - Tutorial] Operadores Relacionais.

5 participantes

Ir para baixo

[Carlos - Tutorial] Operadores Relacionais. Empty [Carlos - Tutorial] Operadores Relacionais.

Mensagem por Carlos L. Qui 07 Abr 2011, 14:14

Nome: Operadores Relacionais.
Descrição: Uma breve explicação sobre "Operadores Relacionais".
Nível de dificuldade: Iniciante.
Requerimentos: Game Maker 8.

O que são "Operadores Relacionais"?

  • Operadores Relacionais como o próprio nome cita, é a relação entre seus operandos onde essa relação dará uma expressão lógica, mas ai você me pergunta "O que são operandos?".
    Operando e um dos argumentos de uma relação.
NOOOOOSSA, não entendi nada! Veja a imagem que da para entender melhor.
[Carlos - Tutorial] Operadores Relacionais. Operadoresrelacionais
OBS.: Operadores Relacionais também são Operadores Binários, pois, eles atuam sobre dois operandos.

Agora que já sabemos o que são operadores relacionais vamos ver quais são eles.

  • Diferença (<> ou !=):
Esse operador verifica se dois "operandos" são diferentes caso essa verificação seja verdadeira ele resultará em um comando definido pelo programador.
// Exemplo do uso do operador de diferença.
var i, j; // Declara-se as variáveis.
i = 12;// Atribui-se um valor a elas.
j = 11;

if (i <> j) then // Faço a comparação e caso ela retorne um valor verdadeiro executa uma ação.
{
draw_set_halign(fa_center); // Alinha o texto ao cento na horizontal.
draw_set_valign(fa_center); // Alinha o texto ao cento na vertical.
draw_text(room_width / 2, room_height / 2, 'i <> j'); // Desenha o texto no centro da tela.
}

Entendendo o que foi feito:
Declara-se as variáveis e atribui-se um valor a cada uma das duas, no caso acima(12, 11), agora vem a relação entre seus operandos que no caso acima pergunta se elas são diferentes, como a expressão e verdadeira(comparação resulta em um resultado lógico) ele mostrará uma mensagem na tela.


  • Menor que(<):

Esse operador verifica se o primeiro operando e menor que o primeiro, caso sim resultará em uma ação.
// exemplo do uso do operador menor que.
var i, j;
i = 10;
j = 11;

if (i < j) then
{
draw_set_halign(fa_center);
draw_set_valign(fa_center);
draw_text(room_width / 2, room_height / 2, 'i < j');
}

Entendendo o que foi feito:
Declara-se as variáveis, executa-se a checagem entre as mesmas caso o resultado seja verdadeiro mostra o resultado na tela, que foi o caso acima.


  • Maior que(>):

Esse operador é o contrario do operador < (menor que), nesse caso ele verifica se o primeiro operando e maior que o primeiro, caso sim resultará uma ação.
// exemplo do uso do operador maior que.
var i, j;
i = 11;
j = 10;

if (i > j) then
{
draw_set_halign(fa_center);
draw_set_valign(fa_center);
draw_text(room_width / 2, room_height / 2, 'i < j');
}

Entendendo o que foi feito:
Declara-se as variáveis, executa-se a checagem entre as mesmas caso o resultado seja verdadeiro mostra o resultado na tela, que foi o caso acima.


  • Menor ou igual a (<=) e Maior ou igual a(>=):

Esses operadores irão executar uma checagem, que no caso do menor ou igual a verificará se uma declaração citada e menor ou igual a outra declaração, e depois executará um comando.
Já no caso do maior ou igual a que ele irá fazer o contrário do menor ou igual a, ou seja, ele verificará se uma primeira declaração e maior ou igual a uma segunda, para depois executar um comando. Observe que ambas as sentenças resultará em um resultado lógico.

//Exemplo do Operador Menor ou igual a.
var i, j;
i = 11;
j = 12;

if (i <= j) then
{
draw_set_halign(fa_center);
draw_set_valign(fa_center);
draw_text(room_width / 2, room_height / 2, 'i <= j');
}
//Exemplo do Operador Maior ou igual a.
var i, j;
i = 12;
j = 12;

if (i >= j) then
{
draw_set_halign(fa_center);
draw_set_valign(fa_center);
draw_text(room_width / 2, room_height / 2, '>=');
}


Entendendo o que foi feito:
Nos dois casos ele checou o resultado das variáveis no caso da primeira se era menor ou igual, e no caso da segunda se era maior ou igual, e posteriormente executou uma ação.


  • Igualdade(= ou ==):

Por fim nós temos o sinal de igualdade cujo nome dispensa qualquer explicação, pois ele verifica se ambas as declarações são iguais.

var i, j;
i = 12;
j = 11;

if (i == j) then
{
draw_set_halign(fa_center);
draw_set_valign(fa_center);
draw_text(room_width / 2, room_height / 2, 'i == j');
}

Entendendo o que foi feito:
Nesse caso o programa lê as variáveis verifica as variáveis e caso elas forem iguais mostra o resultado na tela.
OBS.: Caso você for fazer uma declaração nunca se esqueça de usar o (=), pois o (==) e mais usado para fazer comparação entre valores, variáveis distintas

Ufa terminei, e isso a e pessoal espero que gostem foi uma explicação breve que creio eu que poderá ajudar alguém. [Carlos - Tutorial] Operadores Relacionais. 471712

Edit.: Adicionado a legenda no primeiro exemplo, explicando o código, não adicionei em todos, pois eles são iguais a única coisa que muda é a comparação feita, e também adicionei a observação sobre o uso das igualdade.



Última edição por Carlos L. em Qua 20 Abr 2011, 09:21, editado 4 vez(es)
Carlos L.
Carlos L.

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 26/09/2010
Reputação : 8
Número de Mensagens : 271
Prêmios : [Carlos - Tutorial] Operadores Relacionais. 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

[Carlos - Tutorial] Operadores Relacionais. Empty Re: [Carlos - Tutorial] Operadores Relacionais.

Mensagem por All-x Qui 07 Abr 2011, 19:16

Ótimo tutorial, o que falta para o pessoal é entender lógica. É o que estava faltando. Só acho que os exemplos deviam ser mais simples. Mas ok, esta muito bom.

Creio que o pessoal vai gostar muito, Good job man!

FLWS!


Última edição por Alex FC em Qui 07 Abr 2011, 22:34, editado 1 vez(es)
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : [Carlos - Tutorial] Operadores Relacionais. Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • C ou C++


https://redscreensoft.com

Ir para o topo Ir para baixo

[Carlos - Tutorial] Operadores Relacionais. Empty Re: [Carlos - Tutorial] Operadores Relacionais.

Mensagem por .:Allison:. Qui 07 Abr 2011, 19:24

Eu concordo com o AlexFC, se eu fosse iniciante eu não entenderia nada, está muito complicado.
.:Allison:.
.:Allison:.

Games Ranking : Nota B

Notas recebidas : B
Data de inscrição : 25/07/2010
Reputação : 4
Número de Mensagens : 630
Prêmios : [Carlos - Tutorial] Operadores Relacionais. Empty

Medalhas x 0 Tutoriais x 14 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://clubmaker.forumeiros.com

Ir para o topo Ir para baixo

[Carlos - Tutorial] Operadores Relacionais. Empty Re: [Carlos - Tutorial] Operadores Relacionais.

Mensagem por Super Games Qui 07 Abr 2011, 21:49

Desculpa dizer, mas não entendi nada sobre está coisa de Operadores Relacionais, alguém pode explicar um pouco mais?
Super Games
Super Games

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 10/06/2010
Reputação : 36
Número de Mensagens : 2799
Prêmios : [Carlos - Tutorial] Operadores Relacionais. Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Java
  • C ou C++


Ir para o topo Ir para baixo

[Carlos - Tutorial] Operadores Relacionais. Empty Re: [Carlos - Tutorial] Operadores Relacionais.

Mensagem por vinians Qui 07 Abr 2011, 21:59

Alex FC escreveu:Ótimo tutorial, o que falta para o pessoal é entender lógica. É o que estava faltando. Só acho que os exemplos deviam ser mais simples. Mas ok, esta muito bom.

Creio que o pessoal vai gostar muito, Good job man!

Edit:

O GM não aceita (dependendo do caso) "==", destaque isso no tutorial. Vlw?

FLWS!
O GM sempre aceita '==' desde que seja usado como operador relacional (relação de igualdade). Para atribuição sempre use o '='. Mesmo que o '==' não seja obrigatório, ele facilita e leitura do código pois diferencia uma relação de uma atribuição.

Quanto ao tutorial está ótimo. Ficou bem formatado e bem simples de entender. Você pode inclusive fazer uma sequência de tutoriais relacionados a GML pois embora já existam muitos tutoriais desse tipo nunca são demais, pois uma pessoa pode não entender a didática de outro tutorial e entender a sua e vice-versa.
Flws!
vinians
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2715
Prêmios : [Carlos - Tutorial] Operadores Relacionais. Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para baixo

[Carlos - Tutorial] Operadores Relacionais. Empty Re: [Carlos - Tutorial] Operadores Relacionais.

Mensagem por All-x Qui 07 Abr 2011, 22:33

Falha minha. Testei com uma sprite, por isso não funciono.
spr==spr_morto
Sorry tonto

FLWS!
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : [Carlos - Tutorial] Operadores Relacionais. Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • C ou C++


https://redscreensoft.com

Ir para o topo Ir para baixo

[Carlos - Tutorial] Operadores Relacionais. Empty Re: [Carlos - Tutorial] Operadores Relacionais.

Mensagem por Carlos L. Sex 08 Abr 2011, 05:46

Alex FC escreveu:Ótimo tutorial, o que falta para o pessoal é entender lógica. É o que estava faltando. Só acho que os exemplos deviam ser mais simples. Mas ok, esta muito bom.

Creio que o pessoal vai gostar muito, Good job man!

Edit:

O GM não aceita (dependendo do caso) "==", destaque isso no tutorial. Vlw?

FLWS!

Opa primeiramente valeu pelos comentários, também acho que o pessoal poderia dar uma estudada em lógica, fazer um escopo do que quer antes de começar um jogo, um programa para não se perder. Sobre os exemplos eu procurei simplificar ao máximo vou adicionar uma legenda nas funções para o pessoal entender melhor.
E no caso dos sinais foi que eu esqueci de adicionar a observação mais também já vou endireitar.

X-Games escreveu:Eu concordo com o AlexFC, se eu fosse iniciante eu não entenderia nada, está muito complicado.

Eu particularmente não achei que ficou complicado mais como falei acima vou colocar umas legendas para o melhor entendimento do pessoal.

Super Games escreveu:Desculpa dizer, mas não entendi nada sobre está coisa de Operadores Relacionais, alguém pode explicar um pouco mais?

Opa isso não tem segredo e só a manipulação do sinal correto para chegar a um resultado final. Por exemplo.

if (distance_to_point(500, 80) > 20) then
{
// Executa uma ação;
}

Ou seja quando estiver a uma posição maior do que 20 dos pontos citados ele executa uma ação, simples e fácil. Do mesmo jeito que usei o maior poderia usar qualquer um dos operadores relacionais para obter resultado desejado.

vinians escreveu:
Alex FC escreveu:Ótimo tutorial, o que falta para o pessoal é entender lógica. É o que estava faltando. Só acho que os exemplos deviam ser mais simples. Mas ok, esta muito bom.

Creio que o pessoal vai gostar muito, Good job man!

Edit:

O GM não aceita (dependendo do caso) "==", destaque isso no tutorial. Vlw?

FLWS!
O GM sempre aceita '==' desde que seja usado como operador relacional (relação de igualdade). Para atribuição sempre use o '='. Mesmo que o '==' não seja obrigatório, ele facilita e leitura do código pois diferencia uma relação de uma atribuição.

Quanto ao tutorial está ótimo. Ficou bem formatado e bem simples de entender. Você pode inclusive fazer uma sequência de tutoriais relacionados a GML pois embora já existam muitos tutoriais desse tipo nunca são demais, pois uma pessoa pode não entender a didática de outro tutorial e entender a sua e vice-versa.
Flws!

Opa grande vinians eu tinha esquecido de postar esse pequeno detalhe mais como falei vou dar um edit para o pessoal.
Sobre a formatação eu gosto das coisas bem formatadas pois eu acho que a organização e tudo principalmente em um tutorial onde sem uma boa escrita e uma boa formatação o assunto pode ser o melhor do mundo mais ninguém vai entender.
Sobre a sequência de tutoriais tenho que ver pois esse ano tenho vestibular e tenho que estudar pois quero passar, mais creio eu que de para tentar postar um tutorial a cada semana.


flw
Carlos L.
Carlos L.

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 26/09/2010
Reputação : 8
Número de Mensagens : 271
Prêmios : [Carlos - Tutorial] Operadores Relacionais. 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

[Carlos - Tutorial] Operadores Relacionais. Empty Re: [Carlos - Tutorial] Operadores Relacionais.

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

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