sokoban com pys60

Post on 09-Jul-2015

2.418 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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!

top related