def process_event(self, event): if event.type==mesh.CONNECT: log.debug("CONNECT") self.connected = True if mesh.is_initiating(): self.initiator = True elif event.type==mesh.PARTICIPANT_ADD: log.debug("PARTICIPANT_ADD") # If participant added to the application, not me if event.handle <> mesh.my_handle(): self.friend_connected = True self.friend_handle = event.handle elif event.type==mesh.PARTICIPANT_REMOVE: log.debug("PARTICIPANT_REMOVE") # If friend I am playing with stopped if event.handle == self.friend_handle: self.friend_connected = False self.friend_handle = None if self.game<>None: self.game.stop() elif event.type==mesh.MESSAGE_MULTI: log.debug("MESSAGE_MULTI") elif event.type==mesh.MESSAGE_UNI: log.debug("MESSAGE_UNI: " + event.content) toks = event.content.split(':') if toks[0]<>'startedGame' and self.game==None: log.error("Message received without Game opened") # startedGame Message elif toks[0]=='startedGame': if self.initiator: log.error("startedGame from other not initiator") else: # Start game at receiving friend side self.invitation_started = True # Receive sorted cards mazo = eval(toks[1]) self.invitation_mazo = mazo # openCards Message elif toks[0]=='openCards': self.game.open_cards(True) # attributeSelected Message elif toks[0]=='attributeSelected': attr = eval(toks[1]) self.game.attribute_selected(attr, True) # stop Message elif toks[0]=='stop': self.game.stop(True) # finishShowingCards Message elif toks[0]=='finishShowCards': insertion_order = eval(toks[1]) self.game.finish_show_cards(True, insertion_order) else: return False return True
def run(self): running = True while running: milliseconds = self.clock.tick(25) # maximum number of frames per second # Event-management loop with support for pausing after X seconds (20 here) events = pausescreen.get_events() # Now the main event-processing loop if events: for event in events: log.debug( "Event: %s", event ) if event.type == pygame.QUIT: running = False elif event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: running = False elif event.type == pygame.MOUSEBUTTONDOWN: if event.button == 1: # Si no estaba jugando, conecto y comienzo if self.estoyConectado and self.hayAmigo and not self.jugando: # inicio juego self.iniciarJuego(True, None) elif event.type==mesh.CONNECT : log.debug("CONNECT") self.estoyConectado = True if mesh.is_initiating(): self.miJugador = 1 # Cruz else: self.miJugador = -1 # Circulo elif event.type==mesh.PARTICIPANT_ADD: log.debug("PARTICIPANT_ADD") # Si no soy yo if event.handle <> mesh.my_handle(): self.hayAmigo = True self.handleAmigo = event.handle # Si soy el servidor comienzo el primer juego if mesh.is_initiating(): self.iniciarJuego(True, None) elif event.type==mesh.PARTICIPANT_REMOVE: log.debug("PARTICIPANT_REMOVE") elif event.type==mesh.MESSAGE_MULTI: log.debug("MESSAGE_MULTI") elif event.type==mesh.MESSAGE_UNI: log.debug("MESSAGE_UNI: " + event.content) toks = event.content.split(':') if toks[0] == 'configJugadores': # inicio juego self.iniciarJuego(False, toks[1] == 'True') elif toks[0] == 'registroJugada': jugada = int(toks[1]) self.juego.registroJugada(jugada, self.miJugador) self.miTurno = True self.jugadas += 1 self.evaluarJuego() #juego.printResult("Empate") #Fin chequeo de ganador pygame.display.flip() # Tomamos acciones if self.jugando and self.miTurno: jugada = self.juego.playMe(self.miJugador) self.miTurno = False self.jugadas += 1 mesh.send_to(self.handleAmigo, "registroJugada:" + str(jugada)) self.evaluarJuego()
def run(self): running = True while running: milliseconds = self.clock.tick(25) # maximum number of frames per second # Procesamos los eventos pendientes # Estos eventos son los que se disparan mientras el oponente esta haciendo su jugada events = pygame.event.get() if events: for event in events: log.debug("Event: %s", event) if event.type == pygame.QUIT: running = False elif event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: running = False elif event.type == pygame.MOUSEBUTTONDOWN: if event.button == 1: # Si no estaba jugando, conecto y comienzo if self.estoyConectado and self.hayAmigo and not self.jugando: # inicio juego self.iniciarJuego(True, None) elif event.type==mesh.CONNECT : log.debug("CONNECT") self.estoyConectado = True if mesh.is_initiating(): #self.miJugador = 1 # Cruz self.miJugador = self.juego.X else: #self.miJugador = -1 # Circulo self.miJugador = self.juego.O elif event.type==mesh.PARTICIPANT_ADD: log.debug("PARTICIPANT_ADD") # Si no soy yo if event.handle <> mesh.my_handle(): self.hayAmigo = True self.handleAmigo = event.handle # Si soy el servidor comienzo el primer juego if mesh.is_initiating(): self.iniciarJuego(True, None) elif event.type==mesh.PARTICIPANT_REMOVE: log.debug("PARTICIPANT_REMOVE") elif event.type==mesh.MESSAGE_MULTI: log.debug("MESSAGE_MULTI") elif event.type==mesh.MESSAGE_UNI: log.debug("MESSAGE_UNI: " + event.content) toks = event.content.split(':') if toks[0] == 'configJugadores': # inicio juego self.iniciarJuego(False, toks[1] == 'True') elif toks[0] == 'registroJugada': jugada = int(toks[1]) self.juego.registroJugada(jugada, self.miJugador) self.miTurno = True self.jugadas += 1 self.evaluarJuego() #juego.printText("Empate") #Fin chequeo de ganador pygame.display.flip() # Tomamos acciones if self.jugando and self.miTurno: jugada = self.juego.playMe(self.miJugador) self.miTurno = False self.jugadas += 1 mesh.send_to(self.handleAmigo, "registroJugada:" + str(jugada)) self.evaluarJuego()
def run(self): running = True while running: milliseconds = self.clock.tick(25) # maximum number of frames per second # Procesamos los eventos pendientes # Estos eventos son los que se disparan mientras el oponente esta haciendo su jugada events = pygame.event.get() if events: for event in events: # log.debug("Event: %s", event) if event.type == pygame.QUIT: running = False elif event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: running = False elif self.jugando: if event.key == pygame.K_r: log.debug("PRESIONO Roca") self.juego.registroJugada(self.juego.Roca, self.juego.Yo) mesh.send_to(self.handleAmigo, "registroJugada:" + str(self.juego.Roca)) self.evaluarJuego() elif event.key == pygame.K_p: log.debug("PRESIONO Papel") self.juego.registroJugada(self.juego.Papel, self.juego.Yo) mesh.send_to(self.handleAmigo, "registroJugada:" + str(self.juego.Papel)) self.evaluarJuego() elif event.key == pygame.K_t: log.debug("PRESIONO tijera") self.juego.registroJugada(self.juego.Tijera, self.juego.Yo) mesh.send_to(self.handleAmigo, "registroJugada:" + str(self.juego.Tijera)) self.evaluarJuego() elif event.type == pygame.MOUSEBUTTONDOWN: if event.button == 1: # Si no estaba jugando, conecto y comienzo if self.estoyConectado and self.hayAmigo and not self.jugando: # inicio juego self.iniciarJuego(True) elif event.type==mesh.CONNECT : log.debug("CONNECT") self.estoyConectado = True elif event.type==mesh.PARTICIPANT_ADD: log.debug("PARTICIPANT_ADD") # Si no soy yo if event.handle <> mesh.my_handle(): self.hayAmigo = True self.handleAmigo = event.handle # Si soy el servidor comienzo el primer juego if mesh.is_initiating(): self.iniciarJuego(True) elif event.type==mesh.PARTICIPANT_REMOVE: log.debug("PARTICIPANT_REMOVE") elif event.type==mesh.MESSAGE_MULTI: log.debug("MESSAGE_MULTI") elif event.type==mesh.MESSAGE_UNI: log.debug("MESSAGE_UNI: " + event.content) toks = event.content.split(':') if toks[0] == 'comenzarJuego': # inicio juego self.iniciarJuego(False) elif toks[0] == 'registroJugada': jugada = int(toks[1]) self.juego.registroJugada(jugada, self.juego.Oponente) self.evaluarJuego() #juego.printText("Empate") #Fin chequeo de ganador elif event.type==self.timereventid: pygame.time.set_timer(self.timereventid, 0) self.evaluarJuegoFin() pygame.display.flip()