Sokoban com PyS60

3,023 views
3,064 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,023
On SlideShare
0
From Embeds
0
Number of Embeds
1,400
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sokoban com PyS60

  1. 1. Sokoban com PyS60 fábio cerqueira
  2. 2. eu  graduação na UECE  bolsista no LARCES  presidente da Acens, EJ da Computação  estudo Python desde junho de 2008  coordenador do PugCE
  3. 3. esta palestra é  breve introdução ao PyS60  case report do game Sokoban  mostrar simplicidade do python para mobile
  4. 4. Symbian OS  SO usado na maioria dos smarthphone Nokia  consórcio formado por vários fabricantes  plataforma S60
  5. 5. 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
  6. 6. 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
  7. 7. 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/
  8. 8. instalando  envie para seu celular os arquivos .sis  execute a instalação na ordem PythonForS60...sis PythonScriptShell...sis
  9. 9. Lista seus scripts Shell Libera o acesso ao console BlueTooth primeiro contato
  10. 10. hello world Elementos nativos de UI do PyS60 import appuifw appuifw.note(u'Hello World')
  11. 11. 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 ...
  12. 12. console Cuidado: rebelde!!!
  13. 13. emulador Só pra windows... ...Epoc32winscwcpython
  14. 14. appuifw  módulo para interação com o usuário  menus, dialogs, title, tabs, body, exit, screen orientation...  Canvas
  15. 15. estrutura da aplicação
  16. 16. key_codes  constantes com os valores das teclas
  17. 17. graphics  prove acesso as primitivas gráficas  capacidade de carregar imagens  class Image
  18. 18. e32  funções não relacionadas a UI  e que não estão na biblioteca padrão do Python  class Ao_lock
  19. 19. o jogo  jogo clássico e simples  usa recursos básicos para jogos 2D  é o meu “hello, world” para jogos 2D
  20. 20. 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
  21. 21. classes Representa um mapa  BMap  Character Personagem que atualiza o mapa  BoxWorld Funções gerais do jogo e eventos
  22. 22. canvas e callbacks  base do jogo para desenho e eventos  redraw  event
  23. 23. 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')) ) ) ]
  24. 24. código fonte
  25. 25. 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
  26. 26. 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'
  27. 27. obrigado!

×