View
2.418
Download
2
Category
Preview:
DESCRIPTION
Case Report sobre o desenvolvimento do game Sokoban em PyS60 para o primeiro evento do PUGCE
Citation preview
Sokoban com PyS60fábio cerqueira
eu graduação na UECE
bolsista no LARCES
presidente da Acens, EJ da Computação
estudo Python desde junho de 2008
coordenador do PugCE
esta palestra é breve introdução ao PyS60
case report do game Sokoban
mostrar simplicidade do python para mobile
Symbian OS SO usado na maioria dos smarthphone Nokia
consórcio formado por vários fabricantes
plataforma S60
por que S60?
mais de 100 milhões de celulares vendidos
comunidade ativa nos fóruns da Nokia
Várias opções de linguagens e plataformas
isso já em 2007
python
flashLite
C++ javaME
e o PyS60? facilidade do Python
boa parte da biblioteca padrão da linguagem
será totalmente integrado no S60
fácil acesso aos recursos do celular
câmeraSMSaudio gráficos
PyS60 1.4.*, versão 2.2.2 do CPython
GPS
download... depende do modelo do celular
descubra qual a sua versão → croozeus
arquivos ↓
PythonForS60_1_4_5X_.sis
PythonScriptShell_1_4_5_X.sis
O meu é um n78
X é sua versão
http://sourceforge.net/projects/pys60/files/pys60/
instalando envie para seu celular os arquivos .sis
execute a instalação na ordem
PythonForS60...sis
PythonScriptShell...sis
primeiro contato
Lista seus scriptsShell
Libera o acesso aoconsole BlueTooth
hello world
import appuifwappuifw.note(u'Hello World')
Elementos nativos de UI do PyS60
módulosimport appuifwimport key_codesimport graphicsimport e32import sysinfo
import messagingimport inboximport telephone
import cameraimport e32db...
Módulos que usei no jogo
console Cuidado: rebelde!!!
emuladorSó pra windows...
...\Epoc32\winscw\c\python
appuifw módulo para interação com o usuário
menus, dialogs, title, tabs, body, exit, screen
orientation...
Canvas
estrutura da aplicação
key_codes constantes com os valores das teclas
graphics prove acesso as primitivas gráficas
capacidade de carregar imagens
class Image
e32 funções não relacionadas a UI
e que não estão na biblioteca padrão do Python
class Ao_lock
o jogo jogo clássico e simples
usa recursos básicos para jogos 2D
é o meu “hello, world” para jogos 2D
mapas salvos no próprio código
uma lista de dicionários:
{“text”:”string do mapa”, “size”: (w,h), “pos”: (x,y)}
símbolos representando partes da imagem
classes BMap
Character
BoxWorld
Representa um mapa
Personagem que atualiza o mapa
Funções gerais do jogo e eventos
canvas e callbacks
base do jogo para desenho e eventos
redraw
event
menusappuifw.app.menu = [ (u"Reiniciar", lambda:self.startMap(self.num_map)), (u"Ir para", self.changeMap), ( u"Modo", ( (u"Retrato", lambda:self.modeGame('portrait')), (u"Paisagem", lambda:self.modeGame('landscape')) ) )]
código fonte
referências Wiley Mobile Python Rapid Prototypingof
Applications on the Mobile Platform
Python For S60 1.4.5
http://pys60.garage.maemo.org/doc/s60/s60.html
meus linkseu.links = {'blog': 'fabiocerqueira.wordpress.com',
'bookmark': 'delicious.com/fabiocerqueira',
'repository': 'github.com/fabiocerqueira',
'microblog': 'twitter.com/fabiocerqueira'}
eu.mail = 'fabiocerqueira@pugce.org'
obrigado!
Recommended