Nos jogos, uma
das operações mais usadas e importantes é o uso de
valores aleatórios, ou seja, frequentemente precisamos obter um
número qualquer, sem que se saiba dele à princípio.
Usamos a função Random para isso:
Valor:= Random(10);
A variável
Valor receberá um valor entre 0 e 10 (não
incluido o valor 10).
Outra estrutura
muito usada é a declaração case...
of... Ela é uma espécie
de central otimizada de decisões - um "ninho" de if
then, organizados em função de uma única
variável (numérica inteira ou caracter). Digamos que uma
variável Vlx controla determinadas decisões. Se Vlx
for igual a 1, então uma segunda variável (Valor)
deverá receber o valor 4; se for 2, então Valor
será acrescida de 2; se Vlx estiver entre 5
e 9, então Valor será diminuido de 1:
case Vlx of
1: Valor:= 4;
2: Valor:= Valor + 2;
5..9: Valor:= Valor -1;
end;
No campo das
variáveis, dispomos de uma estrutura muito usada em jogos. São
os chamados arrays ou matrizes. São coleções de variáveis
do mesmo tido, identificadas por um índice. São declaradas
como as demais variáveis:
var
Valores: array[0..10] of integer;
Nesta declaração,
teremos 11 (0 a 10) variáveis inteiras, que
poderão ser referenciadas pelo nome Valores e pelo índice
(dentro de [ ] ). Por exemplo:
Valores[0]:= 10;
Valores[5]:= 15;
Esse tipo de
variável é muito usada com loopings for...
do...
for Tm:= 0 to 10 do Valores[Tm]:= 0;
Os arrays não
são apenas numéricos, podendo inclusive ser compostos por
strings. Por exemplo:
var
Frases: array[0..10] of string;
Como os arrays
só comportam o mesmo tipo de variável, em conjunto com eles
dispomos de uma declaração chamada record
(ou registro) a qual nos permite modelar uma variável de acordo
com nossas necessidades.
Por exemplo:
num jogo temos os personagens, que serão descritos por um conjunto
de três variáveis: Nome, Dinheiro e Vida.
Nome é uma variável string; Dinheiro é
uma variável numérica (integer) e Vida é uma
variável booleada, ou seja, possui apenas duas possibilidades: true
ou false.
Antes de declarar
um array de personagens, configuramos a sua estrutura:
type
Personagem = record
Nome: string;
Dinheiro: integer;
Vida: boolean;
end;
A seguir declaramos
o array de personagens:
var
Pessoa: array[0..10] of Personagem;
De agora em diante
podemos usar em nossa programação construções
do tipo:
Pessoa[0].Nome:= 'Nome da pessoa 0';
Pessoa[0].Dinheiro:= 10000;
Pessoa[0].Vida:= true;
|