sokoban com pys60

27
Sokoban com PyS60 fábio cerqueira

Upload: fabiocerqueira

Post on 09-Jul-2015

2.417 views

Category:

Technology


2 download

DESCRIPTION

Case Report sobre o desenvolvimento do game Sokoban em PyS60 para o primeiro evento do PUGCE

TRANSCRIPT

Page 1: Sokoban com PyS60

Sokoban com PyS60fábio cerqueira

Page 2: Sokoban com PyS60

eu graduação na UECE

bolsista no LARCES

presidente da Acens, EJ da Computação

estudo Python desde junho de 2008

coordenador do PugCE

Page 3: Sokoban com PyS60

esta palestra é breve introdução ao PyS60

case report do game Sokoban

mostrar simplicidade do python para mobile

Page 4: Sokoban com PyS60

Symbian OS SO usado na maioria dos smarthphone Nokia

consórcio formado por vários fabricantes

plataforma S60

Page 5: Sokoban com PyS60

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

Page 6: Sokoban com PyS60

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

Page 7: Sokoban com PyS60

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/

Page 8: Sokoban com PyS60

instalando envie para seu celular os arquivos .sis

execute a instalação na ordem

PythonForS60...sis

PythonScriptShell...sis

Page 9: Sokoban com PyS60

primeiro contato

Lista seus scriptsShell

Libera o acesso aoconsole BlueTooth

Page 10: Sokoban com PyS60

hello world

import appuifwappuifw.note(u'Hello World')

Elementos nativos de UI do PyS60

Page 11: Sokoban com PyS60

módulosimport appuifwimport key_codesimport graphicsimport e32import sysinfo

import messagingimport inboximport telephone

import cameraimport e32db...

Módulos que usei no jogo

Page 12: Sokoban com PyS60

console Cuidado: rebelde!!!

Page 13: Sokoban com PyS60

emuladorSó pra windows...

...\Epoc32\winscw\c\python

Page 14: Sokoban com PyS60

appuifw módulo para interação com o usuário

menus, dialogs, title, tabs, body, exit, screen

orientation...

Canvas

Page 15: Sokoban com PyS60

estrutura da aplicação

Page 16: Sokoban com PyS60

key_codes constantes com os valores das teclas

Page 17: Sokoban com PyS60

graphics prove acesso as primitivas gráficas

capacidade de carregar imagens

class Image

Page 18: Sokoban com PyS60

e32 funções não relacionadas a UI

e que não estão na biblioteca padrão do Python

class Ao_lock

Page 19: Sokoban com PyS60

o jogo jogo clássico e simples

usa recursos básicos para jogos 2D

é o meu “hello, world” para jogos 2D

Page 20: Sokoban com PyS60

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

Page 21: Sokoban com PyS60

classes BMap

Character

BoxWorld

Representa um mapa

Personagem que atualiza o mapa

Funções gerais do jogo e eventos

Page 22: Sokoban com PyS60

canvas e callbacks

base do jogo para desenho e eventos

redraw

event

Page 23: Sokoban com PyS60

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')) ) )]

Page 24: Sokoban com PyS60

código fonte

Page 25: Sokoban com PyS60

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

Page 26: Sokoban com PyS60

meus linkseu.links = {'blog': 'fabiocerqueira.wordpress.com',

'bookmark': 'delicious.com/fabiocerqueira',

'repository': 'github.com/fabiocerqueira',

'microblog': 'twitter.com/fabiocerqueira'}

eu.mail = '[email protected]'

Page 27: Sokoban com PyS60

obrigado!