Biblioteca Allegro

  • View
    699

  • Download
    1

Embed Size (px)

Text of Biblioteca Allegro

Marvson Allan

Ao terminar a leitura do capitulo 20, voc j deve ter uma tima noo de programao. - Essa noo que voc ganhou vale para qualquer linguagem de programao. - Essa noo que voc ganhou vale tambm para iniciar a produo de um jogo em qualquer linguagem. Todas as linguagens usam IF, FOR, arrays e ponteiros.. principalmente funes. Por isso no interessa muito em qual linguagem voc est programando, e sim,o que voc sabe fazer com ela. Se voc est lendo a biblioteca, voc com certeza j escreveu algum cdigo em C++ para treinar sua programao e sua forma de pensar. Antes de sair por ai programando jogos, precisamos ter uma certa organizao do cdigo fon dos te programas, para que consigamos ler o mesmo cdigo algum outro dia.

VOC PRECIS S BER...- A organizao de cdigo necessria para que voc possa entender o que escreveu. - A organizao de cdigo obrigatria para que voc possa reutilizar seucdigo fonte. Para organizar o cdigo voc precisa seguir regras fundamentais e obrigatrias.

1 - Ao declarar variveis, voc deve tomar cuidado para no agrupar uma linha muito grande de variveis. Utilize sempre vrias linhas, dando um enter entre os tipos de variveis.

int a, b, c, valor, numero, xab, contador, teste, coisa; int a = 10, b, c, d=15, valor, coisa, variavel21, contador=0; int numero_jogadores, posicao_peca_x, vari; Exemplo correto: int a = 0; int b = 0; int valor = 0; int xab = 0; int numero_jogadores = 0; int posicao_peca_x = 0;

2 - Observe sempre de separar com espaos variveis que no combinam com as de cima ( por exemplo, posicionamento de peas com nmeros de jogadores ). Isto torna a leitura mais fcil. 3 - Sempre inicie as variveis.

Exemp

Dec

t t mente e

nd

i eis

d que n de e se us d :

21 - O g niz de Cdig

int a=0;b=30;Exem o correto:

int a = 0; int b = 30;

5 - Ao iniciar as variveis mantenha uma ordem nas atribui es;

int aviao = 0; int posicao_x = 0; int posi = 0;Exem o correto:

int aviao int posicao_x int posi

= 0; = 0; = 0;

Usando o exem o acima, variveis que tem nome menor ficam longe das que tem nome maior Isso mantem o c digo ainda mais organizado

int int int int int

aviao = 0; b=0; posicao_x = 0; x=0; posi = 0;

Exem lo correto:

int aviao int posicao_x int posi int b = 0; int a = 0;

= 0; = 0; = 0;

6 - ente sem r e escrever o nome da varivel por exemplo, usando o separador _. Se no for possvel, digite um comentrio sobre o que a varivel faz;

Q H

Exe plo o al en e erra o ue n o eve ser usa oH P I H G F G G F

B 9

Exe plo o al en e erra o ue n o eve ser usa o9 A @ 9 8 7 8 8 7

3 0

Exe plo o al en e erra o ue n o eve ser usa o0 2 1 0 ) ( ) ) (

#

Exe plo o al en e erra o ue n o eve ser usa o" ! & 6 54 E %$ 54 C

'

4 - Sem

e deixe es

s ao iniciar as variveis

D

int pos_per; int px; int py; Exemplo correto: int posicao_personagem; int personagem_px; // posio x do personagem; int personagem_py; // posicao y do personagem;

VOC PRECIS S BER...Abreviar nome das variveis preguia.. se voc tem preguia ao programar, ento desista de programar jogos. 7 - Mantenha distancia em nmeros na hora das operaes matemticas. Utilize mais variveis para ajudar nas operaes, de forma que a operao fique fcil de ler

int num=0; num = 10*(4/2*(3-1)); Exemplo correto: int num = 0; int auxiliar = 0; auxiliar = ( ( 4 / 2 ) * ( 3 1 ) ); num = 10 * auxiliar;

8 - IMPORTANTE: Indentar sempre os cdigos com extruturas de controle.

if(a==1){ ....... } while (ab!=true) { .... } for (i=0;inumero = menor->numero; menor->numero = chave; pprimeiro = pprimeiro ->proximo; } return true; }Exemplo correto:

bool selecao_direta( fila *pprimeiro ) { fila *proximo, *atual, *menor; int chave; while ( pprimeiro != NULL ) { proximo = (*pprimeiro).proximo; atual = pprimeiro; menor = atual; while ( proximo != NULL ) {// nesse caso muito importante usar as chaves " { } " e identar o if if ( (*proximo).numero < (*menor).numero ) { menor = proximo; }

proximo = proximo->proximo; } chave = atual->numero; atual->numero = menor->numero; menor->numero = chave; pprimeiro = pprimeiro->proximo; }

i f

Exe plo o al en e erra o ue n o eve ser usa of h q g f e p d e e d

c

return true; }

10 - No utilizar o comando Do While O comando do while deixa as linguas de programao confusas, por isso, no interessante utilizar Qualquer c d igo em qualquer linguagem pode ser escrito seguido essas observa es importantes.

Recentemente fora levantado um tpico no nosso forum sobre a organizao do cdigo. No captulo 21 ns aprendemos a melhor forma de se programar um jogo, organizando o cdigo como programao e no como um projeto. Com este tutorial adicional, pretendo dar mais dicas para tornar a programao de jogos mais organizada. Fazer um jogo um projeto que contm vrias etapas. Nem sempre precisamos seguir todas as etapas, mais algumas so indispensveis para a concluso sem atrasos ( perda de tempo ) do projeto. Este tipo de contedo discutido em vrios sites e em vrias outras reas, simplesmente por que um assunto relacionado ao tempo! Quanto mais tempo gasto, mais caro se torna a sua idia. Quanto mais organizada for a sua ideia e o seu projeto, melhor ele ser implementado e mais rpido o jogo ser concludo. Eu vou abordar aqui a criao de um jogo no estilo Arkanoid.

Como a idia criar um jogo ao estilo do Arkanoid, precisamos estudar como este jogo funciona e descrever todos os funcionamentos e idias do jogo. Se voc est criando um jogo que ainda no foi inventado, o processo ser o mesmo. A descrio da idia muito importante para sabermos o que realmente queremos fazer e para adotar mudanas no projeto. Exemplo: - Um jogo aonde o jogador controla uma raquete ( ou shape ) que vai rebater uma ou vrias bolas. - O objetivo do jogo ser destruir todas as peas do cenrio, fazendo com que a bola entre em contato com essas peas. - Cada pea vai fazer com que uma ao seja disparada no jogo, criando novas bolas, aumentando a velocidade, etc. - Quanto todas as peas forem destruidas, o jogador enviado diretamente para a proxima fase. - Quando a bola no for rebatida, o jogador perde uma vida. Observe que especificamos detalhes do jogo, sua descrio e regras. A descrio inicia da idia no deveria ser mudada durante a execuo do projeto.

v uv

1 At

a

y

vw

v

Es e ap ulo para ue w

j possu exper n a e

y vu

u

v

y xt

vwvu

21 At

onal 1

r an za

o e

o pro ra a o

s

r

Observe que na minha idia de Arkanoid, mudei alguns conceitos do jogo original. Neste ponto tambm, so definidas algumas historias e cenarios do jogo, no precisam ser completas.

Agora iremos definir as regras do jogo. Essas regras podem sofrer altera e s durante a execuo do projeto, por que as vezes nem sempre conseguimos programar tudo o que queremos. - O Jogo vai ter uma historia ? - O jogo vai ter uma animao inicial ?? Como ela vai ser ? - O Jogo vai ter uma tela inicial ? - Quais sero as op es do menu ? - Quais sero as telas do jogo ? - Descrever as telas do jogo.. - Descrio das regras para o Jogador - Descrio das regras para o Jogador para cada tela ou cenrio - Descrio das regras do jogo para cada tela ou cenario - Descrio das regras para upgrades, inimigos, jogabilidade

Quando voc for definir as regras, voc no precisa levar em considerao tecnologias que sero utilizadas. Isto por que, as regras podero ser alteradas mais tarde. Esta no a hora de pensar em qual linguagem programar ou qual programa de modelagem utilizar.

3 I en f an o a ores e arefasEsta aqui uma das partes mais importantes ao se fazer um projeto pois ela define como ser feita a programao. Voc deve identificar atores de a e s nas regras e idias descritas acima. Nada muito tcnico ainda. Exemplo: - Bola A bola pode se mover pelo cenario A bola pode colidir com uma pea e destrui-la A bola pode colidir com a raquete do jogador, que vai rebatela para outra direo - Raquete do jogador A A A A raquete raquete raquete raquete do do do do jogador jogador jogador jogador pode pode pode pode se mover apenas na horizontal para os lad os se mover mais rapido ou mais devagar ter tamanhos diferentes rebater a bola

- Cenario O O O O cenario cenario cenario cenario pode pode pode pode ter ter ter ter tamanhos diferentes vrias peas uma imagem de fundo apenas um jogador

d

e

e

e d

d

2

Des r

o e e ras

O cenario pode ter vrias bolas O cenario deve controlar para que as bolas no saiam de seus limites

Eu identifiquei alguns atores e tarefas deles acima. Nem sempre se consegue identificar todos os atores, por isso talvez voc v precisar alterar este parte mais tarde.

Este mtodo de desenvolvimento no igual ao UML, Por favor, no confunda! Os atores no UML so usurios e/ou outros meios externos que desenvolvem algum papel em relao ao sistema. Voc pode usar a UML para ajudar no seu projeto tambm. Alm de definir os atores e possveis tarefas, voc vai definir diagramas que iro ajudar voc a identificar quem sero as classes. Estude UML tambm! http://pt.wikipedia.org/wiki/UML Aps identificar os atores do passo 3, podemos procurar quais deles sero classes, e quais fu e s cada n classe vai executar. Pense da seguinte maneira! Voc vai criar uma classe para alguma coisa que ir ter vrias variveis e que ir desempenhar vrias tarefas no seu jogo. Bola, Jogador e Cenrio desempenham vrias tarefas, como vimos acima, ent ficou fcil de saber quem o sero nossas classes. Com as tarefas de cada um, tambm podemos conhecer de antemo qua