Ola amigos, no artigo anterior, vimos como instalar o Monkey e tivemos o primeiro contato com um programinha bem simples só pra dar o "gostinho" da linguagem. Agora, vamos conhecer um pouco melhor essa linguagem e nos aprofundar um pouco mas em seus não tão grandes mistérios.
Visão GeralA linguagem Monkey possui a seguinte estrutura geral:
- O código fonte do programa deve ter a extensão .monkey criada automaticamete caso use o editor padrão da linguagem.
- Tudo deve iniciar na função Main() que é chamada automaticamente pelo runtime da linguagem
- A linguagem é composta por MÓDULOS que são como se fossem bibliotecas para acesso a diversas funcionalidades não incluidas no módulo padrão.
- O módulo padrão chama-se "monkey" e é adicionado automaticamente ao seu programa
- Um módulo funciona basicamente como um "namespace" do c# e outras linguagens. Para usar um módulo use o comando "import"
- A linguagem vem com um módulo chamado "mojo" que é utilizado para acesso aos gráficos, sons e entrada do usuário. Esse módulo é bem leve e é garantido que funcione em diversos dispositivos diferentes.
- Exitem outros módulos disponíveis que podem obtidos no site da linguagem. Alguns so funcionam na versão paga. Mas para jogos simples o mojo dá conta do recado.
Mergulhando no MonkeyUsando VariáveisToda linguagem de programação possui algum meio de armazenamento te dados na memória ou seja, variáveis, e no Monkey não é diferente. As variáveis são locais onde armazenamos coisas como por exemplo a posição
x e y do nosso player, seus
pontos e seu
nome, etc. Uma variável deve ter um nome e um tipo para que possamos utilizá-la. Os tipos são os seguintes:
- Bool
que pode assumir os valores True ou False - Int
para definir valores inteiros como 10, 20, 0 etc - Float
para valores em ponto flutuante como 1.2, 100.56 etc - String
para armazenar cadeia de caracteres como em "MonkeyBR", "Pedro" etc - Object
que armazena objetos - Array
que armazena uma sequencia de valores que devem ser acessados por um índice como nome[1]
Uma coisa importante no Monkey é que ele é, como várias outras linguagens (C, Java, C++) o são,
"case sensitive", ou seja ele
DIFERENCIA maiúsculas de minúscula. Veja abaixo exemplo de nome de variáveis:
local x:int = 10
'cria e incializa um inteiro com 10
local str:String
'declara uma variavel chamada str
local Str:String
'declara outra variavel chamada Str que é diferente de str e de STR....Para declarar uma variável coloque o "nome" seguido de ":" e seguido do tipo como observado acima.
Variáveis LocaisComo você deve ter observado acima, criamos algumas variáves e usamos o identificador
"Local" para cria-las. Variáveis locais são variáveis
temporárias que desaparecem quando o "escopo" onde foram criadas não é mais válido. Um escopo é por exemplo um corpo de uma
função ou
método, comandos de bloco como IF, While e For. Geralmente isso não é um problema pois não faria sentido utilizar uma variável temporária fora do seu campo de atuação. Veja abaixo a sintaxe geral de declaração de uma
variável local:
Local Identificador: Tipo
[
= Expressão ]
Tudo que estiver entre [ ] é opcional.
Variáveis GlobaisVariáveis globais são variáveis
permanentes que duram durante
toda a execução do programa. Elas deve ser declaradas a
nível de módulo ou dentro de uma
definição de classe, não pode ser criada em uma função ou método. Esse tipo de variável só deve ser utilizada caso seu uso seja realmente necessario pois prejudica a legibilidade do programa e pode criar muitos erros difícies de descubrir. A sintaxe geral de declaração é a mesma para variáveis locais apenas mudamos para Global, veja:
Global Identifier : Type [
= Expression ]
ConstantesUma constante é um valor que não muda durante todo o programa e é criado em tempo de compilação. Geralmente utilizamos constantes para nomear alguns valores que são importantes no escopo do programa que estamos criando. Por exemplo, observe o trecho de código a seguir:
- Código:
-
If (modo = APRESENTACAO) then DrawImage(imgLogotipo, x, y, 0, 1, 1, 0)
Veja que estamos perguntando se a variáfvel
modo está com o valor chamado
APRESENTACAO. Mas qual é o valor de
APRESENTACAO ? Bom, em nosso programa poderiamos ter criado 3 constantes assim:
- Código:
-
Const APRESENTACAO = 1Const MENU = 2Const JOGANDO = 3
Deste modo, em nosso código poderiamos mudar o
estado do jogo para "
Jogando" fazendo assim:
- Código:
-
modo = JOGANDO
Fica muito mais facail saber em qual modo estamos se usássemos numeros diretamente veja:
- Código:
-
If (modo = 1) then DrawImage(imgLogotipo, x, y, 0, 1, 1, 0)
(modo = 1) ? WTF ? Viu como é importante ?
Constantes podem ser declaradas a nível de
módulo,
classe ou em escopo
local (embora eu ache que nesse caso não adianta muito) .
Método geral de declaração de constantes:
Const Identificador: Tipo = Expressao
ou
Const Identificador = ExpressaoBem amigos, é isso por enquanto! No próximo artigo, vamos falar sobre Expressões, Loops, Decisões etc Fique ligado!