×
Namespaces

Variants
Actions

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

From Nokia Developer 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 13:57.
72 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.

×