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
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


[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 : 2800
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
  • Godot
  • Javascript
  • 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 : 2716
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


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