Sokoban com PyS60
Upcoming SlideShare
Loading in...5
×
 

Sokoban com PyS60

on

  • 3,072 views

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

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

Statistics

Views

Total Views
3,072
Views on SlideShare
2,115
Embed Views
957

Actions

Likes
0
Downloads
27
Comments
0

6 Embeds 957

http://fabiocerqueira.wordpress.com 949
http://www.slideshare.net 3
http://webcache.googleusercontent.com 2
url_unknown 1
https://www.google.com 1
https://fabiocerqueira.wordpress.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Sokoban com PyS60 Sokoban com PyS60 Presentation Transcript

  • Sokoban com PyS60 fá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? isso já em 2007  mais de 100 milhões de celulares vendidos  comunidade ativa nos fóruns da Nokia  Várias opções de linguagens e plataformas python C++ javaME flashLite
  • e o PyS60? PyS60 1.4.*, versão 2.2.2 do CPython  facilidade do Python  boa parte da biblioteca padrão da linguagem  será totalmente integrado no S60  fácil acesso aos recursos do celular GPS câmera audio gráficos SMS
  • download... O meu é um n78  depende do modelo do celular  descubra qual a sua versão → croozeus  arquivos ↓ X é sua versão PythonForS60_1_4_5X_.sis PythonScriptShell_1_4_5_X.sis 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
  • Lista seus scripts Shell Libera o acesso ao console BlueTooth primeiro contato
  • hello world Elementos nativos de UI do PyS60 import appuifw appuifw.note(u'Hello World')
  • módulos import appuifw import key_codes Módulos que usei no jogo import graphics import e32 import sysinfo import messaging import inbox import telephone import camera import e32db ...
  • console Cuidado: rebelde!!!
  • emulador Só pra windows... ...Epoc32winscwcpython
  • 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 Representa um mapa  BMap  Character Personagem que atualiza o mapa  BoxWorld Funções gerais do jogo e eventos
  • canvas e callbacks  base do jogo para desenho e eventos  redraw  event
  • menus appuifw.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 links eu.links = {'blog': 'fabiocerqueira.wordpress.com', 'bookmark': 'delicious.com/fabiocerqueira', 'repository': 'github.com/fabiocerqueira', 'microblog': 'twitter.com/fabiocerqueira'} eu.mail = 'fabiocerqueira@pugce.org'
  • obrigado!