##### 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:How to develop brick-breaker game in PySymbian - Part 3

Aquivado: 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)

Brick-Breaker is a simple arcade game where the player moves a paddle on the screen and bounces a ball towards bricks at the top of the screen. When the ball hits a brick it breaks and the ball bounces back - the objective of the game is to destroy all the bricks. This is the third and final article explaining the PySymbian implementation of Brick-Breaker - it covers code for the moving ball, intializing the bricks parameter, slider parameter and sequence of calling functions.

Article
Created: nirpsis (21 Jul 2009)
Last edited: hamishwillee (08 May 2013)

02 Aug
2009

## Introduction

Finally we have the last article in the series of "How to develop brick-breaker game in Python. If you have followed the previous articles in this series, then after finishing this one, you should be able to create your own Brick-breaker or similar game using PySymbian.

In this article we learn about the code for the moving ball, intializing the bricks parameter, slider parameter and sequence of calling functions. Let's discuss them in detail.

## Code for moving the ball

Here we have a little code for moving the ball in canvas. This ball is moving automatically.

Thus the code for moving the ball could be as follows:

# import module
import e32,random
import time
import appuifw
import graphics
import math
BLACK=(0,0,0)
GREEN=(0,255,0)
RED=(255,0,0)
running=1

#define exit function
def quit():
global running
running=0

appuifw.app.exit_key_handler=quit

#Set the screen to large
appuifw.app.screen='large'

#Create an instance of Canvas and set it as the application's body
canvas=appuifw.Canvas()
appuifw.app.body=canvas
j,k=canvas.size

#define circle coordinate
x1vel=10
y1vel=10
x1=150
y1=300
speed=15

while running:
global x1,y1,x1vel,y1vel

if((x1<0) or(x1>j-15)):
x1vel=x1vel*-1
if ((y1<0) or (y1>k-15)):
y1vel=y1vel*-1
x1=x1+x1vel
y1=y1+y1vel
x2=x1+speed
y2=y1+speed

#draw circle
canvas.ellipse((x1,y1,x2,y2),outline=None,fill=RED)

# Sleep for 0.1
e32.ao_sleep(0.1)

#clear canvas
canvas.clear(BLACK)
e32.ao_yield()

## Sequence of calling functions

The defined functions need to be called in a proper sequence. sequence of calling functions are as follows:

draw_screen()
draw_slider()
draw_bricks()
erase_bricks(12) #Should be called when collision is detected- See Related Links

app_lock = e32.Ao_lock()
app_lock.wait()

## Screenshots

The this article in the series- Part 3 for brick-Breaker , cover whole brick breaker game in canvas.

This concludes the series of articles about creating the game.