Entrar
Últimos assuntos
» player não consegue andarpor 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
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
[Carlos - Tutorial] Operadores Relacionais.
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"?
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.
// 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.
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.
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.
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.
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.
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.
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.
Agora que já sabemos o que são operadores relacionais vamos ver quais são eles.
- Diferença (<> ou !=):
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.
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.
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.
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.
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.
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.- Games Ranking :
Notas recebidas : C
Data de inscrição : 26/09/2010
Reputação : 8
Número de Mensagens : 271
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Carlos - Tutorial] Operadores Relacionais.
Ó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!
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)
Re: [Carlos - Tutorial] Operadores Relacionais.
Eu concordo com o AlexFC, se eu fosse iniciante eu não entenderia nada, está muito complicado.
Re: [Carlos - Tutorial] Operadores Relacionais.
Desculpa dizer, mas não entendi nada sobre está coisa de Operadores Relacionais, alguém pode explicar um pouco mais?
Super Games- Games Ranking :
Notas recebidas : C
Data de inscrição : 10/06/2010
Reputação : 36
Número de Mensagens : 2800
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 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++
Re: [Carlos - Tutorial] Operadores Relacionais.
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.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!
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!
Re: [Carlos - Tutorial] Operadores Relacionais.
Falha minha. Testei com uma sprite, por isso não funciono.
spr==spr_morto
Sorry
FLWS!
Sorry
FLWS!
Re: [Carlos - Tutorial] Operadores Relacionais.
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: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.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!
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.
Carlos L.- Games Ranking :
Notas recebidas : C
Data de inscrição : 26/09/2010
Reputação : 8
Número de Mensagens : 271
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos