Вы находитесь на странице: 1из 16

Apostila Bsica de Lgica e Programao para Game Maker por Giosepe Luiz 1

Sumrio
1. Introduo a Lgica ................................................................................................ 03
2. Verdadeiro e Falso .................................................................................................. 03
3. Conectivo E e OU ................................................................................................... 03
4. Negao ................................................................................................................. 04
5. Introduo a Programao ..................................................................................... 04
6. Elementos Bsicos de um Cdigo Fonte ............................................................... 04
6.1 Palavras Reservadas .................................................................................................. 04
6.2 Comentrios ................................................................................................................ 04
6.3 Operadores .................................................................................................................. 04
6.4 Atribuio ..................................................................................................................... 04
6.5 Constantes .................................................................................................................. 05
6.6 Variveis ...................................................................................................................... 05
7. Arrays ...................................................................................................................... 06
7.1 Vetores ......................................................................................................................... 06
7.2 Matrizes ....................................................................................................................... 06
8. Expresses Lgicas e Aritmticas .......................................................................... 07
8.1 Operadores Aritmticos ............................................................................................... 07
8.2 Operadores Lgicos .................................................................................................... 07
8.3 Operadores Relacionais .............................................................................................. 07
8.4 Expresses Hbridas ................................................................................................... 07
8.5 Linearizao de Expresses ....................................................................................... 08
9. Plano cartesiano do Game Maker .......................................................................... 08
10. Condicional IF e ELSE .......................................................................................... 09
11. Condicional SWITCH ............................................................................................. 10
12. Lao de Repetio FOR ........................................................................................ 11
13. Lao de Repetio WHILE .................................................................................... 12
14. Lao de Repetio DO-UNTIL ............................................................................... 12
15. Funes ................................................................................................................. 13
15.1 Funes sem Retorno ............................................................................................... 14
15.2 Funes com Retorno ............................................................................................... 15

Apostila Bsica de Lgica e Programao para Game Maker por Giosepe Luiz 2

1. INTRODUO A LGICA
Muita gente desconhece a Lgica Matemtica, pois ela uma cincia que
geralmente ensinada no curso superior. Se baseia em clculos diretos, onde no so
utilizados nmeros, mas sim somente dois valores lgicos: VERDADEIRO ou FALSO.
As pessoas que trabalham com o Game Maker, porm desconhecem sobre a
linguagem de programao ou lgica, nem imaginam que ao mesmo tempo que esto se
divertindo, tambm esto aprendendo sobre os valores lgicos.

2. VERDADEIRO e FALSO
No paramos para notar, mas os valores lgicos
esto em nosso cotidiano, em qualquer coisa que
falamos, ouvimos , lemos ou escrevemos. O simples
ato de aprovar ou negar algo, um valor lgico.
Os valores lgicos so trabalhados em
linguagem de programao, onde um resultado ser
sempre verdadeiro ou falso, veja na tabela a seguir, os
respectivos sinnimos desses valores nas linguagens,
outras literaturas e at mesmo em nosso cotidiano:

3. CONECTIVOS OU e E
Imaginemos que voc tem 10 reais, e vai uma loja de utilidades onde tem um
carrinho custando 10 reais e uma boneca tambm no mesmo valor. Com esse dinheiro
voc somente poder comprar o carrinho OU a boneca. Caso v loja com 20 reais,
poder comprar o carrinho E a boneca.
Conectivo E (conjuno) - utilizado sempre
para dar uma ideia de simultaneidade. Ou seja, enquanto um
dos valores ou os dois valores forem falsos, o resultado lgico
sempre ser falso. Pode ser representado por and ou &&
Exemplo: Joo tem 20 anos (V) e no tem carteira de
motorista (F). Joo no pode dirigir (F).

Conectivo OU (disjuno) - utilizado para dizer se


ocorrer um evento ou outro, ou seja, se ocorrer um dos
eventos (verdadeiro) ou os dois eventos, o valor lgico ser
verdadeiro. Somente ser falso quando os dois eventos forem
falsos. Pode ser representado por or ou ||

Apostila Bsica de Lgica e Programao para Game Maker por Giosepe Luiz 3

Exemplo: A semana tem 8 dias (F) ou o Brasil o pas do futebol (V). O resultado dessa
disjuno verdadeira (V), pois a segunda proposio verdadeira.

4. NEGAO
A negao utilizada para efetuar a inverso de valores, ou
seja, se o valor verdadeiro ele fica falso e vice-versa.
Pode ser representado por no(x), ~x e !x, veja na tabela ao
lado.
5. INTRODUO A PROGRAMAO
Linguagem de programao um conjunto finito de smbolos utilizados para
escrever programas de computador ou criar jogos.
No caso trabalharemos com cdigos ligados a GML (Game Maker Language), que
basicamente a unio de algumas outras linguagens como C, C++ e Pascal.
Muitas pessoas acreditam que fazer um jogo no Game Maker somente arrastar
boto e ver acontecer. Porm, na realidade, existe muita lgica e programao envolvidos,
e isso que voc ver a seguir.

6. ELEMENTOS BSICOS DE UM CDIGO-FONTE (SCRIPTS)


6.1 Palavras Reservadas: palavras que tem um significado especial no cdigo, ou
seja, geralmente so aquelas palavras que executa algum comando e por isso no podem
ser usadas para outros fins, como nomear variveis. Exemplos: if, else, break, continue,
then, etc...
6.2 Comentrios: so palavras ou frases que no interferem no cdigo, sua funo
apenas explicativa, no altera nada na sequncia lgica do script. Para colocar um
comentrio insira // (duas barras) seguido da frase, caso seja s uma linha ou tambm
coloque o texto entre /* e */ (asterisco e barra) se for mais de uma linha.
6.3 Operadores Aritmticos e Lgicos: no cdigo fonte, os sinais matemticos e
lgicos so representados por:
+ (mais)
- (menos)
* (asterisco)
/ (barra)
== (2 iguais)

Soma e concatenao
Subtrao
Multiplicao
Diviso
Igualdade

! (exclamao)
true ou 1
false ou 0
> (maior)
< (menor)

Negao
Verdadeiro
Falso
Maior
Menor

6.4 Atribuio: uma das principais maneiras de armazenar uma informao numa
varivel. O smbolo de atribuio o igual (=), lembrado que = (atribuio) diferente de ==
(Igualdade)

Apostila Bsica de Lgica e Programao para Game Maker por Giosepe Luiz 4

Sintaxe: <variavel> = <constante> ou <variavel> ou <expressao>


Exemplo: personagem = 1+2
6.5 Constantes: so valores fixos que no mudam no decorrer da execuo,
geralmente atribudo a alguma varivel ou utilizado diretamente num chamado. So
constantes nmeros, strings, expresses e valores lgicos.
Strings so conjunto de caracteres, onde devem ser colocados entre 'e' (aspas simples)
ou entre e (aspas normal). O + (mais) entre duas strings faz a concatenao (fuso)
delas. Ex. de strings: carro, Orkut, etc... Concatenao: carro+casa=carrocasa
Inteiros so nmeros naturais inteiros, seja ele negativo ou positivo. E no se utiliza
aspas para atribu-los ou chama-los. Ex. de inteiros: -25, -52, 0, 78, 3, -1, 2, etc...
Flutuantes so nmeros reais, ou seja, aqueles que no so exatos. E no se utiliza
aspas para atribu-los ou chama-los. Ex. de flutuantes: 2.5, -1.2, 0.24, 4.87, -6.7, -8.1, etc.
Valores lgicos so condies verdadeiras ou falsas. No Game Maker podemos usar 1
(verdadeiro) e 0 (falso), mas para evitar erros e confuses com inteiros, o ideal usar true
ou false.
Expresses so clculos executados durante o processo, e pode obter resultado
aritmtico, lgico ou hbrido. Ex.: 2+6, 25-4*6, 5<4>6, 5+8<9, etc. Veremos logo mais,
detalhadamente sobre as expresses.
6.6 Variveis: so espaos na memria que guardam informaes durante a
execuo do jogo. Essas informaes podem variar no decorrer da execuo. Para
declarar o valor de uma varivel, necessrio colocar nos eventos Create, Game Start ou
Room Start, utilizando um sinal de atribuio (=). Exemplo: carro = 1. O valor de carro no
incio do jogo, ser 1.
Para alterar o valor de uma varivel no decorrer do jogo, basta que no evento, coloque a
varivel seguida do sinal de atribuio e do novo valor: carro = 3. Agora, carro vale 3. Mas
se voc quer acrescentar ou retirar valores da varivel, basta colocar um sinal matemtico
ao atribuir.
Exemplo: Digamos que casa = 2
casa = casa+3
Aqui, casa receber ela mesmo mais 3, agora passa a valer 5;
casa = casa-1
Agora, casa recebe ela menos -1, passa a valer 4;
casa = 8
Aqui casa recebe 8, onde seu novo valor;
casa = casa/2
Agora casa recebe ela dividido por dois, passa a valer 4;
casa = casa*3
Por fim, casa recebe ela multiplicado por 3, passando a valer 12.
Podemos resumir o cdigo de atribuio, exemplo: Envs de barra = barra+2 podemos
usar barra += 2. Vale para qualquer clculo aritmtico: +=, -=, *= e /=.
Exemplos de como chamar uma varivel com a funo Draw:
draw_text(x,y,casa)
Mostrar na tela o valor 12 da varivel casa.
draw_text(x,y,casa+15)
Mostrar na tela o valor 27 como resultado.
draw_text(x,y,casa+carros) Mostrar na tela o valor 12carros como resultado.

Apostila Bsica de Lgica e Programao para Game Maker por Giosepe Luiz 5

7. ARRAYS (VARIVEIS COM SETORES)


7.1 Vetores: so variveis que possuem vrios setores em seu espao de memria,
sendo assim, no necessrio declarar uma varivel mais de uma vez, basta declarar uma
vez e depois alterar os ndices atribuindo um valor diferente para cada um.
Sintaxe: <variavel>[<indice>]
Exemplo:
bloco = 0
Declaramos bloco com o valor 0;
bloco[0] = 2+1
O ndice 0 de bloco recebe resultado da expresso 2+1;
bloco[1] = 20
O ndice 1 de bloco recebe 20;
bloco[2] = false
O ndice 2 de bloco recebe valor lgico falso;
bloco[3] = texto O ndice 3 de bloco recebe string texto;
bloco[4] += 2-5
O ndice 3 de bloco recebe resultado de uma expresso.

Depois de atribuir um valor a um ndice de um vetor, ao exibi-lo ou compara-lo, devese indicar o ndice. Se por exemplo, declararmos o vetor bloco com 4 ndices, ao us-lo
(num evento Draw por exemplo), devemos indicar o valor do ndice, exemplo: bloco[2],
caso contrrio ele retornar o valor original da declarao e se colocar um ndice
inexistente, dar erro na execuo.
7.2 Matrizes: um Array tambm pode ser uma Matriz, ou seja, pode ter seus valores
guardados numa tabela. A declarao da varivel a mesma do vetor, poderem na
atribuio dos ndices separamos as colunas e linhas por vrgula:
Sintaxe: <variavel>[<col>,<lin>]
Exemplo:
bloco = 0
Declaramos bloco com o valor 0;
bloco[1,0] = frase Posio 1,0 de bloco recebe resultado da expresso 2+1;
bloco[2,0] = 20
Posio 2,0 de bloco recebe 20;
bloco[3,0] = false Posio 3,0 de bloco recebe valor lgico falso;
bloco[1,1] = 3+5
Posio 1,1 de bloco recebe resultado da expresso;
bloco[3,1] = true
Posio 3,1 de bloco recebe valor lgico verdadeiro;
bloco[0,2] = novo Posio 0,2 de bloco recebe string novo;
bloco[2,2] = 4*8-15 Posio 2,2 de bloco recebe resultado da expresso.

Os espaos que sobram (em cinza escuro riscado), so chamados de lixos, isso
porque so espaos perdidos. Se chamssemos, por exemplo, o ndice bloco[0,1] o Game
Maker retornar 0 (falso), se fosse num outro compilador de softwares (como DevC++), iria
aparecer um monte de smbolos sem sentido. Esses espaos perdidos tambm consomem
Apostila Bsica de Lgica e Programao para Game Maker por Giosepe Luiz 6

memria, por isso siga sempre essa dica: Nunca deixe espaos em branco num array, seja
ele um vetor ou uma matriz.
Exemplos de como chamar um array com a funo Draw:
draw_text(x,y,bloco[1])
Mostrar na tela o valor 20 do vetor bloco
draw_text(x,y,bloco[3,1]) Mostrar na tela o valor lgico 1 da matriz bloco.

8. EXPRESSES LGICAS E ARITMTICAS


Expresso um conjunto de variveis e/ou constantes que se relacionam por meio
de operadores e a sua avaliao gera um resultado.
Operadores so elementos que atual sobre operandos e produzem um resultado. De
acordo com o nmero de operandos, podem ser chamados de:
Binrios: atuam sobre dois operandos como soma, subtrao, diviso, etc...
Unrios: atuam sobre um operando como sinal de negativo e negao.
8.1 Operadores Aritmticos: sempre iro retornar um valor numrico seja ele
inteiro ou flutuante, exemplos: 2+5=7, 2.5*2=5, 2-5=-3, etc...
8.2 Operadores Lgicos: sempre retorna um valor lgico, ou seja, verdadeiro ou
falso, exemplo: true or false = true
8.3 Operadores Relacionais: sempre retorna valores lgicos, ou seja, faz uma
comparao entre operandos, exemplos: 8<2=false, -52<50=true, 5!=5=false, etc...
8.4 Expresso Hbrida: pode ter operadores aritmticos, lgicos e relacionais,
porm sempre ir retornar um valor lgico. Exemplo: 5+3-5<45-10=true

Apostila Bsica de Lgica e Programao para Game Maker por Giosepe Luiz 7

8.5 Linearizao de Expresses: o ato de desmanchar uma expresso,


colocando-a numa linha s. Veja o exemplo a seguir:

Na linguagem de programao, no h como colocar essa frmula no cdigo fonte,


para isso devemos linearizar, respeitando os operadores e sua precedncia. Assim:

(2+sqrt(4*2+8))/(2*2*2)
Como todos devem saber desde o ensino fundamental, numa expresso sem
parnteses, os operadores tem uma ordem de precedncia que devemos seguir (tabelas
acima), onde que se errado o clculo, o resultado pode ser diferente do esperado. Mas
para nossa felicidade, os compiladores em geral, executam respeitando essa precedncia
automaticamente, basta inserirmos corretamente a expresso utilizando parnteses para
indicar a precedncia exata e para ficar mais agradvel visualmente.
Quanto a questo de raiz quadrada e exponenciao, o Game Maker j conta com
funes especficas para isso e para outros clculos. Por exemplo: raiz quadrada de 16
sqrt(16) e a potncia de 8 sqr(8).

9. PLANO CARTESIANO DO GAME MAKER


Todos estamos acostumados com aquele plano cartesiano que aprendemos quando
ainda estamos no ensino mdio onde na linha x, positivo direita do zero e negativo
direita e onde em y, positivo para cima e negativo para baixo. Pois esquea desse plano
cartesiano, porque o do Game Maker a linha do y inversa, veja abaixo porque.

Apostila Bsica de Lgica e Programao para Game Maker por Giosepe Luiz 8

10. CONDICIONAL IF E ELSE


Basicamente a condicional If (em traduo livre se), trabalha com os valores
lgicos, verdadeiro e falso. Se no ocorre um evento, ento ocorre outro. Veja o exemplo 1
a seguir logo mais leia a explicao:

EXEMPLO 1
Se Joo > 18 anos
ento Poder dirigir

Bom, camos numa questo lgica, onde


Joo s poder dirigir se tiver mais de 18
anos, caso contrrio no poder.

Nesse exemplo 2, utilizamos um e, onde


EXEMPLO 2
Maria s poder se casar se tiver 21 anos e
Se (Maria == Solteira) && (Maria > 21 anos) estiver solteira. Caso somente um dos
ento Maria pode se casar
eventos seja verdadeiro, ela no poder se
casar.

EXEMPLO 3
Se (Paula > 0 reais) ou (Paula == 0 reais)
ento Paula ficar em casa

No exemplo 3, Paula pode ou no ter


dinheiro que ficar em casa do mesmo jeito.

Mas como isso ficaria no Game Maker? Bom, no GM utilizamos no lugar de se, o
if e no lugar de ento, usamos { } (abre e fecha chaves).

EXEMPLO 4
If 5 > 3 {
draw_text(x,y,maior)
}

Se a condio for verdadeira, executar


tudo o que estiver entre chaves. Lembrando
que, se for s uma linha no necessrio o
uso da chaves, pode ser na mesma linha da
expresso: If 5 > 3 draw_text(x,y,maior)

Caso queira colocar mais uma condio caso ela seja falsa, a entra em ao o else (que
em traduo livre seno).

EXEMPLO 5
Se carro < 60Km/h
ento No leva multa
Seno Ele multado

EXEMPLO 6
Se (5 == 5) && (5!=6)
ento igual
Seno diferente

Para inserir essas condies no Game Maker, a sintaxe bem parecida com a do Game
Maker, porm envs de seno, utilizamos else. Vamos fazer o exemplo 7 usando o 4:
Apostila Bsica de Lgica e Programao para Game Maker por Giosepe Luiz 9

EXEMPLO 7
If 5 > 3 {
draw_text(x,y,maior)
} else {
draw_text(x,y,menor)
}

Se o nmero 5 for maior que 3, escreva


maior, seno, escreva menor.
E alm de constantes como inteiros,
flutuantes, lgicos e strings, tambm
podemos utilizar variveis para comparar.

EXEMPLO 8
If carro < 60 {
draw_text(x,y,No multado)
} else {
draw_text(x,y, multado)
}

Se o carro no ultrapassar 60 Km/h, ele no


ser multado, porm caso ultrapasse, ele
ser multado.

Bom, ainda existe um terceiro caso que podemos adicionar, veja no problema a seguir:
Faa um script onde escreva na tela se o numero digitado pelo usurio maior, menor ou
igual a 5.
A questo a seguinte, como podemos colocar essa terceira condio se s
obtemos duas? (If e Else)
A resposta simples, porque podemos inserir sempre uma funo dentro da outra, ou seja,
podemos colocar uma condicional dentro da outra, veja na resoluo a seguir:

EXEMPLO 9
If numero > 5 {
draw_text(x,y,Maior)
} else {
if numero < 5 {
draw_text(x,y,Menor)
} else draw_text(x,y,Igual)
}

numero a varivel onde ficar guardado


o valor que o usurio digitar. Se ele digitar
um nmero maior que 5, ir escrever na tela
Maior, seno, se colocar um nmero
menor, vai escrever Menor, seno,
escrever Igual.
Lembrando que bom sempre identar.
Identar dar um recuo direita na linha
inferior, para que a mesma fique
compreensvel.

11. CONDICIONAL SWITCH


Na condicional Switch (escolha), testada uma varivel numa sequncia de linhas at
que seja encontrada uma coincidncia. Aps ser encontrada, ser encerrada a condio.
Veja o exemplo a seguir:
Apostila Bsica de Lgica e Programao para Game Maker por Giosepe Luiz 10

EXEMPLO 1
n=5
switch (n)
{
case 1:
draw_text(room_width/2, room_height/2, "Um")
break;
case 2:
draw_text(room_width/2, room_height/2, "Dois")
break;
default:
draw_text(room_width/2, room_height/2, "Nenhum");
}

EXEMPLO 2
switch (keyboard_key)
{
case vk_left:
case vk_numpad4:
x -= 4;
break;
case vk_right:
case vk_numpad6:
x += 4;
break;
}

O n vale 5, aps entrar na


condio, ser verificado em
cada caso qual igual a varivel.
Quando encontrar uma linha igual
ao valor da varivel, ele sar da
condio.
O break (parar), serve para
parar o teste ao encontrar a linha
verdadeira, no continuando a
verificao.
O default (padro), uma
linha onde ativada quando
nenhuma das condies
anteriores verdadeira.

O usurio ir pressionar uma


tecla, entrando na condio:
Caso essa tecla for direcional
esquerdo ou numero 4 x
receber -4 (ou ganhar 4 para a
esquerda). Caso seja direcional
direito ou numero 6 x receber
4 (ou ganhar 4 para a direita).

12. LAO DE REPETIO FOR


Comando for (para em traduo livre), um conjunto de execues com um
nmero pr determinado de repeties, ou seja, ele executar um loop at que a varivel
final chegue. Exemplo:

EXEMPLO 1
Para M de 0 a 100 faa
()
fimpara

Nesse exemplo, ele executar o () at que


M chegue a 100 (de 1 em 1).

Agora veja como fica no Game Maker:

Apostila Bsica de Lgica e Programao para Game Maker por Giosepe Luiz 11

EXEMPLO 2
for (M=0; M==100; M+=1) {
()
}

A diferena para a linguagem do Game


Maker que somente escrevemos o for
(para), e em seguida indicamos a varivel
que comear, com o valor inicial, o valor
final e quando ser acrescentado a cada
loop (separados por ponto-e-virgula).

EXEMPLO 3
for (i=0; i<=60; M+=1) {
carro+=2
}

No final da execuo desse lao, o valor de i


ser 60 e da varivel carro ser 120.

13. LAO DE REPETIO WHILE


O While (Enquanto), um comando onde s tem fim quando a execuo falsa,
ou seja, s sai do loop quando a sequncia de comandos for diferente da condio.
Exemplo:

EXEMPLO 1
m=1
while (m < 200)
{
m = m + 1;
draw_text(room_width/2, room_height/2, m)
}

Enquanto m for menor que 200, execute o


que est entre chaves.
Na chaves, m a cada loop, ir receber ele
e mais um e escrever na tela..
Ao chegar em 200, sair do loop, parando
de adicionar a m.

Caractersticas principais do While:


O comando pode ser vazio, simples ou bloco;
Ele executado desde que a condio seja;
Testa a condio antes de executar o lao, ou seja, se a condio for falsa ele nem
executar o lao, enquanto o Do-until executa o lao para depois ver se a condio
falsa ou verdadeira.

14. LAO DE REPETIO DO-UNTIL


Os programadores em geral, conhecem o Do-while (Faa-enquanto), porm a
linguagem do Game Maker utiliza o Do-until (Faa-at que) quase o mesmo caso do
While, a diferena que ele testa a condio depois de executar a sequncia de
comandos, e s sara do lao aps a condio ser verdadeira. Vamos rever o exemplo
anterior usando o Do-until:
Apostila Bsica de Lgica e Programao para Game Maker por Giosepe Luiz 12

EXEMPLO 1
m=1
do {
m = m + 1;
draw_text(room_width/2, room_height/2, m)
} until (m == 200)

Execute o que est entre chaves, at que


m seja igual a 200.
Na chaves, m a cada loop, ir receber ele
e mais um e escrever na tela..
Ao chegar em 200, sair do loop, parando
de adicionar a m.

Veja um outro exemplo do Do-until:

EXEMPLO 2
do {
j += 1
draw_text(room_width/2, room_height/2,
"No 500")
} until (j == 500)

Escreva a frase na tela e adicione 1 ao j


at que j seja igual a 500.

15. FUNES
Unidade autnoma no cdigo, que executa uma tarefa particular. Alm de deixar o
cdigo mais organizado, ele pode ser utilizado em mais de um evento ou objeto, deixando o
jogo mais leve. Para isso usaremos tambm a pasta Scripts que se localiza na navegao
lateral do Game Maker. Veja o esquema a seguir:

1. Pasta com Lista de Funes (ou Scripts),;


2. Nome dada funo (que mais tarde ser usada para cham-la no objeto);
3. Lista com as execues da funo, onde argument<num> padro;
4. Lista contando seus objetos, onde podem ou no usar funes.
Sintaxe Scripts: <variavel> = argument<num>
Sintaxe Objects: <funcao>(arg0,arg1,arg2...)
Apostila Bsica de Lgica e Programao para Game Maker por Giosepe Luiz 13

15.1 Funes sem Retorno: uma funo que no utiliza um retorno de uma
execuo especfica. Retornando a ltima linha de comando, e se necessrio acumulando
mais valores das anteriores.

EXEMPLO 1
Pasta Objects
draw_text(room_width/2, room_height/2,
teste(20))
Pasta Scripts nome teste
i = argument0
i += 30

EXEMPLO 2
Pasta Objects
draw_text(room_width/2, room_height/2,
outroteste(3,45))
Pasta Scripts nome outroteste
m = argument0
n = argument1
i = 6+3
k = m+n

Ser desenhado na tela o valor executado


na funo teste, onde argument0 20.
No script, o argument0 foi atribudo para a
variavel i, onde em seguida foi adicionado
30 ao valor original, retornando 50 no
objeto.

Ser desenhado na tela o valor executado


por outroteste, onde argument0 3 e
argument1 45.
No script, o argument0 foi atribudo para m
e argument1 para n.
Logo em seguida foi calculado em i a
expresso 6+3 e no fim foi somado m
com n e atribudo para k.
Mas como diz na explicao acima, ele
somente retorna a ltima linha, ento a linha
i = 6+3 no tem valor significativo para o
objeto.

15.2 Funes com Retorno: uma funo que utiliza um retorno para colocar no
objeto a expresso ou varivel. Veja os exemplos a seguir:

EXEMPLO 1
Pasta Objects
draw_text(room_width/2, room_height/2,
reto(15))
Pasta Scripts nome reto
p = argument0
p += 10
return p+23

EXEMPLO 2
Pasta Objects
draw_text(room_width/2, room_height/2,
reto2(4,55))

Ser desenhado na tela o valor executado


na funo reto, onde argument0 15.
No script, o argument0 foi atribudo para a
variavel p, onde em seguida foi adicionado
10 ao valor original, retornando p mais 50
para o objeto.

Ser desenhado na tela o valor executado


por reto2, onde argument0 4 e
argument1 55.
No script, o argument0 foi atribudo para o
e argument1 para h.

Apostila Bsica de Lgica e Programao para Game Maker por Giosepe Luiz 14

Pasta Scripts nome reto


o = argument0
h = argument1
i = 6+3
return m+n

Logo em seguida foi calculado em i a


expresso 6+3. Mas no final ele pede
retorno somente da soma das variveis m
com n, ignorando a varvel i e sua
expresso.

Uma funo tem muitas utilidades na criao de um jogo ou programa. No exemplo


abaixo, foi feita uma estrutura com funo:
EXEMPLO 3
Nome da Funo: jogo01
if (keyboard_key == argument0){
x -= 4
} else {
if (keyboard_key == argument1){
x += 4
}
}
Objeto 01: alfabeto evento Step

Objeto 02: direcionais evento Step

jogo01(ord('A'), ord('D'))

jogo01(vk_left, vk_right)

Veja que, chamamos o cdigo de teclado em 2 objetos diferentes e com teclas


diferentes, s que os dois utilizam a mesma funo, que fazer os objetos andarem para
esquerda e para a direita. Sendo assim no precisamos repetir o cdigo duas vezes.

Enfim, existem vrias outras funes prprias do Game Maker, da prxima vez falarei
mais sobre o assunto. Obrigado pelo download e pela leitura.

Apostila Bsica de Lgica e Programao para Game Maker por Giosepe Luiz 15

Editado por Giosepe Luiz


giosepe_luiz3@hotmail.com
Verso do Game Maker Usada: 8.0
29 de maio de 2010
Curitiba - Paran - Brasil
Conhea mais sobre o Game Maker, baixe sprites, engines, outros e
tenha a ajuda que precisar nos sites a seguir:

http://www.gamemakerbrasil.com

http://www.spriters-resource.com

Saiba tudo sobre Informtica e Tecnologia, obtendo dicas e downloads


das melhores fontes e sites da web!

http://www.dicasemgeral.com

Apostila Bsica de Lgica e Programao para Game Maker por Giosepe Luiz 16

Вам также может понравиться