#-*- coding: utf-8 -*-
#######################################################
# 
# telaConexoes.py
# Python implementation of the Class TelaConexoes
# Generated by Enterprise Architect
# Created on:      31-mai-2011 17:39:32
# Original author: Wander Jardim
# 
#######################################################

import sysinfo
from graphics import Image
import appuifw
import key_codes
import time
import e32

from constantes import *
import util

class TelaConexoes:

    def __init__(self):
        self.largura_tela, self.altura_tela = util.getTamanho_tela()
        self.tela_conexao = Image.new((self.largura_tela,self.altura_tela))
        self.tela_conexao.clear((15,126,0))


    def tela_aguarda_conexoes(self, canvas, conexao):
        self.canvas = canvas
        self.conexao = conexao
        self.canvas.blit(self.tela_conexao)
        #self.canvas.clear()
        lado1 = self.largura_tela/3
        lado2 = self.altura_tela/5
        #self.tela_conexao = Image.new((self.largura_tela,self.altura_tela))
        #self.tela_conexao.clear((15,126,0))
        
        self.tela_conexao.text((lado1,lado2), u"Aguardando Jogadores", fill = RGB_BLACK,font=(u'Nokia Hindi S60',20,appuifw.STYLE_BOLD))  
        #Texto de controde de vezes q passa
        #self.tela_conexao.text((10,40), u"Essa é a %s vez que passo aki" % self.cont, fill = RGB_RED,font=(u'Nokia Hindi S60',20,appuifw.STYLE_BOLD))
        
        
        # Desenha botaozinho para cancelar e sair
        self.tela_conexao.rectangle(((5,self.altura_tela - 30), (45,self.altura_tela - 5)), fill=RGB_BLUE, width=5)
        self.tela_conexao.text((7,self.altura_tela - 8), u"Cancelar", fill = RGB_BLACK,font=(u'Nokia Hindi S60',15,appuifw.STYLE_BOLD)) 
        
        self.canvas.blit(self.tela_conexao)
        
        if self.conexao.esta_conectado():
            pos = 115
            while True:
                try:
                    data = self.conexao.recebe_comando()
                except:
                    break
                    
                if data == '':
                    break
                elif data=='cmd:jogadoresconectado':
                    e32.ao_sleep(1)
                    self.conexao.envia_comando("OK:jogadoresconectado")
                    cmd = self.conexao.recebe_comando()
                    infoJogadores = cmd.split('|')
                    self.mostraJogadoresConectados(infoJogadores)
                elif data.startswith('jogadorcnt:'):
                    dadosJogadorConectado = data.split(':')
                    self.desenhaNomeJogador(dadosJogadorConectado[1],dadosJogadorConectado[2])
                elif data.startswith('jogadorcpucnt:'):
                    self.conexao.envia_comando("OK:jogadorcpucnt")
                    dadosJogadorCPU = data.split(':')
                    self.desenhaNomeJogador(dadosJogadorCPU[1],dadosJogadorCPU[2])
                elif data=='iniciaPartida':
                    e32.ao_sleep(2)
                    self.conexao.envia_comando("OK:iniciaPartida")
                    break
                    #self.iniciaPartica(self.conexao)
                else:
                    print "Vou imprimir o q recebi: %s" % data
                    self.tela_conexao.text((10,lado2+pos), u"Recebi: %s" % data, fill = RGB_BLACK,font=(u'Nokia Hindi S60',20,appuifw.STYLE_BOLD))
                    self.canvas.blit(self.tela_conexao)
                    pos += 15
                
    def cancelaConexoes(self, event):
        self.conexao.fechar()


    def mostraJogadoresConectados(self, infoJogadores):
        pos = 0
        for infoJogador in infoJogadores:
            dadosJogador = infoJogador.split(':')
            if dadosJogador!= ['']: 
                self.desenhaNomeJogador(dadosJogador[0], dadosJogador[1])
            

    def desenhaNomeJogador(self, nome, pos):
        bordaDir = self.largura_tela - 190
        bordaEsq = 30
        bordaTop = 30
        bordaPe = self.altura_tela - 30
        meioH = self.largura_tela / 2
        meioV = self.altura_tela / 2
        
        if pos == '0':
            self.tela_conexao.text((meioH, bordaPe), u"%s" % nome, fill = RGB_BLACK,font=(u'Nokia Hindi S60',20,appuifw.STYLE_BOLD))
        elif pos =='1':
            self.tela_conexao.text((bordaEsq,meioV), u"%s" % nome, fill = RGB_BLUE,font=(u'Nokia Hindi S60',20,appuifw.STYLE_BOLD))
        elif pos == '2':
            self.tela_conexao.text((meioH,bordaTop), u"%s" % nome, fill = RGB_RED,font=(u'Nokia Hindi S60',20,appuifw.STYLE_BOLD))
        elif pos =='3':
            self.tela_conexao.text((bordaDir,meioV), u"%s" % nome, fill = RGB_PURPLE,font=(u'Nokia Hindi S60',20,appuifw.STYLE_BOLD))
        
        self.canvas.blit(self.tela_conexao)
a4e408c7928296ba9ff85d709c102a338b5db975
#-*- coding: utf-8 -*-
#######################################################
# 
# telaConexoes.py
# Python implementation of the Class TelaConexoes
# Generated by Enterprise Architect
# Created on:      31-mai-2011 17:39:32
# Original author: Wander Jardim
# 
#######################################################

import sysinfo
from graphics import Image
import appuifw
import key_codes
import time
import e32

from constantes import *
import util

class TelaConexoes:

    def __init__(self):
        self.largura_tela, self.altura_tela = util.getTamanho_tela()
        self.tela_conexao = Image.new((self.largura_tela,self.altura_tela))
        self.tela_conexao.clear((15,126,0))


    def tela_aguarda_conexoes(self, canvas, conexao):
        self.canvas = canvas
        self.conexao = conexao
        self.canvas.blit(self.tela_conexao)
        #self.canvas.clear()
        lado1 = self.largura_tela/3
        lado2 = self.altura_tela/5
        #self.tela_conexao = Image.new((self.largura_tela,self.altura_tela))
        #self.tela_conexao.clear((15,126,0))
        
        self.tela_conexao.text((lado1,lado2), u"Aguardando Jogadores", fill = RGB_BLACK,font=(u'Nokia Hindi S60',20,appuifw.STYLE_BOLD))  
        #Texto de controde de vezes q passa
        #self.tela_conexao.text((10,40), u"Essa é a %s vez que passo aki" % self.cont, fill = RGB_RED,font=(u'Nokia Hindi S60',20,appuifw.STYLE_BOLD))
        
        
        # Desenha botaozinho para cancelar e sair
        self.tela_conexao.rectangle(((5,self.altura_tela - 30), (45,self.altura_tela - 5)), fill=RGB_BLUE, width=5)
        self.tela_conexao.text((7,self.altura_tela - 8), u"Cancelar", fill = RGB_BLACK,font=(u'Nokia Hindi S60',15,appuifw.STYLE_BOLD)) 
        
        self.canvas.blit(self.tela_conexao)
        
        if self.conexao.esta_conectado():
            pos = 115
            while True:
                try:
                    data = self.conexao.recebe_comando()
                except:
                    break
                    
                if data == '':
                    break
                elif data=='cmd:jogadoresconectado':
                    e32.ao_sleep(1)
                    self.conexao.envia_comando("OK:jogadoresconectado")
                    cmd = self.conexao.recebe_comando()
                    infoJogadores = cmd.split('|')
                    self.mostraJogadoresConectados(infoJogadores)
                elif data.startswith('jogadorcnt:'):
                    dadosJogadorConectado = data.split(':')
                    self.desenhaNomeJogador(dadosJogadorConectado[1],dadosJogadorConectado[2])
                elif data.startswith('jogadorcpucnt:'):
                    self.conexao.envia_comando("OK:jogadorcpucnt")
                    dadosJogadorCPU = data.split(':')
                    self.desenhaNomeJogador(dadosJogadorCPU[1],dadosJogadorCPU[2])
                elif data=='iniciaPartida':
                    e32.ao_sleep(2)
                    self.conexao.envia_comando("OK:iniciaPartida")
                    break
                    #self.iniciaPartica(self.conexao)
                else:
                    print "Vou imprimir o q recebi: %s" % data
                    self.tela_conexao.text((10,lado2+pos), u"Recebi: %s" % data, fill = RGB_BLACK,font=(u'Nokia Hindi S60',20,appuifw.STYLE_BOLD))
                    self.canvas.blit(self.tela_conexao)
                    pos += 15
                
    def cancelaConexoes(self, event):
        self.conexao.fechar()


    def mostraJogadoresConectados(self, infoJogadores):
        pos = 0
        for infoJogador in infoJogadores:
            dadosJogador = infoJogador.split(':')
            if dadosJogador!= ['']: 
                self.desenhaNomeJogador(dadosJogador[0], dadosJogador[1])
            

    def desenhaNomeJogador(self, nome, pos):
        bordaDir = self.largura_tela - 190
        bordaEsq = 30
        bordaTop = 30
        bordaPe = self.altura_tela - 30
        meioH = self.largura_tela / 2
        meioV = self.altura_tela / 2
        
        if pos == '0':
            self.tela_conexao.text((meioH, bordaPe), u"%s" % nome, fill = RGB_BLACK,font=(u'Nokia Hindi S60',20,appuifw.STYLE_BOLD))
        elif pos =='1':
            self.tela_conexao.text((bordaEsq,meioV), u"%s" % nome, fill = RGB_BLUE,font=(u'Nokia Hindi S60',20,appuifw.STYLE_BOLD))
        elif pos == '2':
            self.tela_conexao.text((meioH,bordaTop), u"%s" % nome, fill = RGB_RED,font=(u'Nokia Hindi S60',20,appuifw.STYLE_BOLD))
        elif pos =='3':
            self.tela_conexao.text((bordaDir,meioV), u"%s" % nome, fill = RGB_PURPLE,font=(u'Nokia Hindi S60',20,appuifw.STYLE_BOLD))
        
        self.canvas.blit(self.tela_conexao)