Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Archived:Como desenvolver o jogo brick-breaker em PySymbian - Parte 2

From Wiki
Jump to: navigation, search

Archived.pngAquivado: Este artigo foi arquivado, pois o conteúdo não é mais considerado relevante para se criar soluções comerciais atuais. Se você achar que este artigo ainda é importante, inclua o template {{ForArchiveReview|escreva a sua justificativa}}.

Acredita-se que este artigo ainda seja válido no contexto original (quando ele foi escrito)


Article Metadata

Artigo
Tradução:
Por ivocalado
Última alteração feita por hamishwillee em 07 May 2013

Contents

Introdução

Na parte 1 desta série de artigos as funções para implementação da barra horizontal deslizante do nosso jogo Brick-breaker foram discutidas. Neste artigo - Parte 2, nós iremos aprender sobre as diferentes funções para manipulação dos tijolos.

As funções para manipulação dos tijolos incluem funções para desenho do númeo de tijolos necessários e a deleção dos tijolos existentes. As seguintes funções serão discutidas neste artigo:

1.draw_bricks: desenha os tijolos

2.erase_bricks: apaga tijolos

Parte 2

Neste jogo, nós inicializamos alguns parametros para os objetos que representam os tijolos. É possível alterar o valor dos parâmetros para obter uma personalização do jogo. Os tijolos podem ser substituídos por outras formas como apresentado na figura a seguir. Os parametros para tijolos simples que são usados neste jogo são inicializados da maneira a seguir:

# Initializing bricks parameter######
brick_x=10
brick_y=40
brick_width=32
brick_height=20
number_of_bricks=7
number_of_lines=3
Horizontal_Separator=2
Vertical_Separator=3
 
BrickColour=BLUE
BrickBorder=GREEN

draw_bricks()

Usando esta função, nós podemos desenha os tijolos tanto na horizontal quanto na vertical. No trecho de código abaixo serão criados 30 tijolos.

A definição da função draw_screen() é apresentada a seguir:

#definindo a função brick
def draw_bricks():
 
#definindo variáveis globais
global x1,y1,x2,y2, brick_x, brick_y, brick_width, brick_height,number_of_bricks, Horizontal_Separator,Vertical_Separator,number_of_lines
j=0
while j<number_of_lines:
i=0
 
#define as coordenadas do retângulo
x1=brick_x
y1=brick_y+(j*(brick_height+Vertical_Separator))
x2=x1+brick_width
y2=y1+brick_height
while (i<number_of_bricks):
 
drawing rectangle
img.rectangle((x1+ (i*brick_width),y1,x2+ (i*brick_width)-Horizontal_Separator,y2), width=1, outline=BrickBorder,fill= BrickColour)
i=i+1
handle_redraw(None)
j=j+1


erase_bricks()

Usando esta função nós podemos apagar os tijolos passando o número do tijolo que se quer apagar. A definição da função é apresentada abaixo:

#define a função para apagar os tijolos
def erase_bricks(number):
 
#define variáveis globais
global x1,y1,x2,y2, brick_x, brick_y, brick_width, brick_height,number_of_bricks, Horizontal_Separator,Vertical_Separator,number_of_lines
i=0
if (number < number_of_bricks):
i=number
x1=brick_x
y1=brick_y
x2=x1+brick_width
y2=y1+brick_height
 
#define variável global
img.rectangle((x1+ (i*brick_width),y1,x2+ (i*brick_width)-Horizontal_Separator,y2),fill= BLACK)
handle_redraw(None)
 
if (number < (2*number_of_bricks)) and (number > (number_of_bricks-1)):
i=number-number_of_bricks
x1=brick_x
y1=brick_y+(1*(brick_height+Vertical_Separator))
x2=x1+brick_width
y2=y1+brick_height
 
#desenhando o retângulo
img.rectangle((x1+ (i*brick_width),y1,x2+ (i*brick_width)-Horizontal_Separator,y2),fill= BLACK)
handle_redraw(None)
 
if (number < (3*number_of_bricks)) and (number > (2*number_of_bricks-1)):
i=number-(2*number_of_bricks)
x1=brick_x
y1=brick_y+(2*(brick_height+Vertical_Separator))
x2=x1+brick_width
y2=y1+brick_height
 
#desenhando o retângulo
img.rectangle((x1+ (i*brick_width),y1,x2+ (i*brick_width)-Horizontal_Separator,y2),fill= BLACK)
handle_redraw(None)


Com isso, finalizamos as funções dos tijolos (Parte 2) para o jogo Brick-Breaker.

No próximo artigo da série - Parte 3 - será abordado como rebater a bola em canvas, operações do jogo e, finalmente, as conclusões do jogo.

Capturas de tela

Os screenchots abaixo demonstram o funcionamento da função que cria os tijolos. Estas figuras são relevantes apenas para a Parte 2.


Draw screen.JPG BrickBreaker.JPG Erase brick.JPG

Links relacionados

This page was last modified on 7 May 2013, at 10:57.
367 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×