def handleInsuMessage(self, message, socket): player = self.getPlayerFromSocket(socket) #Send erorr messages to player in lobby who tries to ante if ( player in self.lobby ): player.strike() errorMessage = "[errr|" + str(player.strikeNumber) + "|Error: " \ + "You can't insure ni the lobby]" errorMessage.rstrip('\r\n') try: socket.send(errorMessage) self.strikeout(player) except: if ( player == None ): player = Player(s, None) self.removePlayer( player) finally: return if ( isValidInsuMessage(message, player) ): amount = getAnteAmount(message) #Can't insure greater than half your bet if ( amount > int(player.bet * .5) ): player.strike() errorMessage = "[errr|" + str(player.strikeNumber) + "|Error: " \ + "Can't insure more than half your bet.]" errorMessage.rstrip('\r\n') try: socket.send(errorMessage) self.strikeout(player) except: if ( player == None ): player = Player(s, None) self.removePlayer( player) finally: return if ( amount > player.cash ): player.strike() errorMessage = "[errr|" + str(player.strikeNumber) + "|Error: " \ + "Not enough money to insure.]" errorMessage.rstrip('\r\n') try: socket.send(errorMessage) self.strikeout(player) except: if ( player == None ): player = Player(s, None) self.removePlayer( player) finally: return player.insure(amount) print amount print player.id + 'insu: ' + str(amount)
def handleAnteMessage(self, message, socket): player = self.getPlayerFromSocket(socket) #Send erorr messages to player in lobby who tries to ante if ( player in self.lobby and isValidAnteMessage(message, player) ): player.strike() errorMessage = "[errr|" + str(player.strikeNumber) + "|Error: " \ + "You can't ante in the lobby.]" errorMessage.rstrip('\r\n') socket.send(errorMessage) self.strikeout(player) return #if it's a vliad ante message if ( isValidAnteMessage(message, player) ): amount = getAnteAmount(message) #Return Error if ante is below min if ( amount < MIN_ANTE ): player.strike() errorMessage = "[errr|" + str(player.strikeNumber) + \ "|Error: " + "Min bet not met.]" errorMessage.rstrip('\r\n') try: socket.send(errorMessage) self.strikeout(player) except: if ( player == None ): player = Player(s, None) self.removePlayer( player) finally: return #Return error if ante given si greater than player's cash if ( amount > player.cash ): player.strike() errorMessage = "[errr|" + str(player.strikeNumber) + \ "|Error: " + "Not enough money.]" errorMessage.rstrip('\r\n') try: socket.send(errorMessage) self.strikeout(player) except: if ( player == None ): player = Player(s, None) self.removePlayer( player) finally: return player.ante(amount)
def handleTurnDown(self, message, socket): player = self.getPlayerFromSocket(socket) if ( player.stay or player.down or len(player.hand1) > 2 or player.split ): player.strike() errorMessage = "[errr|" + str(player.strikeNumber) + "|Error: " + \ "You can't do that.]" errorMessage.rstrip('\r\n') try: socket.send(errorMessage) self.strikeout(player) except: if ( player == None ): player = Player(s, None) self.removePlayer( player) finally: return if player.cash < player.bet : player.strike() errorMessage = "[errr|" + str(player.strikeNumber) + "|Error: " + \ "nt enuff money]" errorMessage.rstrip('\r\n') try: socket.send(errorMessage) self.strikeout(player) except: if ( player == None ): player = Player(s, None) self.removePlayer( player) finally: return card = self.deck.draw() player.hand1.append(card) player.down = True player.double() message = '[stat|' + player.id + '|down|' + card if ( self.getHandValue(player.hand1) > 21 ): message = message + '|busty|' + player.getBet() + ']' else: message = message + '|bustn|' + player.getBet() + ']' message.rstrip('\r\n') self.broadcastMessage(message)
def handleMessageDuringInsurance(self, message, socket): messageList = splitMessage(message) #If spit was empty it means message as invalid if ( not messageList and self.isJoin(socket) ): player = self.getPlayerFromSocket(socket) player.strike() errorMessage = "[errr|" + str(player.strikeNumber) + "|Error: " + \ "Garbage message]" errorMessage.rstrip('\r\n') try: socket.send(errorMessage) self.strikeout(player) except: if ( player == None ): player = Player(s, None) self.removePlayer( player) finally: return for msg in messageList: if ( isValidJoinMessage(msg, socket) ): self.handleJoinMessage(msg, socket) return if ( not isValidJoinMessage(msg, socket) and msg[1:5] == 'join' ): player = self.getPlayerFromSocket(socket) self.removePlayer( player) return if ( not self.isJoin(socket) ): return elif ( not isValidMessageFormat(msg) ): player = self.getPlayerFromSocket(socket) player.strike() errorMessage = "[errr|" + str(player.strikeNumber) + "|Error: " + \ "Garbage message]" errorMessage.rstrip('\r\n') try: socket.send(errorMessage) self.strikeout(player) except: if ( player == None ): player = Player(s, None) self.removePlayer( player) finally: return elif ( isValidChatMessage(msg, self.getPlayerFromSocket(socket)) ): self.handleChatMessage(msg, socket) return elif ( isValidAnteMessage(msg, self.getPlayerFromSocket(socket)) ): player = self.getPlayerFromSocket(socket) player.strike() errorMessage = "[errr|" + str(player.strikeNumber) + "|Error: " + \ "Cant ante right now.]" errorMessage.rstrip('\r\n') try: socket.send(errorMessage) self.strikeout(player) except: if ( player == None ): player = Player(s, None) self.removePlayer( player) finally: return elif ( isValidTurnMessage(msg, self.getPlayerFromSocket(socket)) ): player = self.getPlayerFromSocket(socket) player.strike() errorMessage = "[errr|" + str(player.strikeNumber) + "|Error: " + \ "Not your turn.]" errorMessage.rstrip('\r\n') try: socket.send(errorMessage) self.strikeout(player) except: if ( player == None ): player = Player(s, None) self.removePlayer( player) finally: return elif ( isValidInsuMessage(msg, self.getPlayerFromSocket(socket)) ): self.handleInsuMessage(msg, socket) return
def handleMessageDuringWait(self, message, socket): """ Look at the message and parse it accordingly during wait stages. """ messageList = splitMessage(message) if ( not messageList and self.isJoin(socket) ): player = self.getPlayerFromSocket(socket) player.strike() errorMessage = "[errr|" + str(player.strikeNumber) + "|Error: " + \ "Garbage message]" errorMessage.rstrip('\r\n') try: socket.send(errorMessage) self.strikeout(player) except: if ( player == None ): player = Player(s, None) self.removePlayer( player) finally: return for msg in messageList: if ( not isValidJoinMessage(msg, socket) and msg[1:5] == 'join' ): player = self.getPlayerFromSocket(socket) self.removePlayer( player) return if ( isValidJoinMessage(msg, socket) ): self.handleJoinMessage(msg, socket) return if ( not self.isJoin(socket) ): return elif ( not isValidMessageFormat(msg) ): player = self.getPlayerFromSocket(socket) player.strike() errorMessage = "[errr|" + str(player.strikeNumber) + "|Error: " + \ "Garbage message]" errorMessage.rstrip('\r\n') try: socket.send(errorMessage) self.strikeout(player) except: if ( player == None ): player = Player(s, None) self.removePlayer( player) finally: return elif ( isValidChatMessage(msg, self.getPlayerFromSocket(socket)) ): self.handleChatMessage(msg, socket) return elif ( isValidAnteMessage(msg, self.getPlayerFromSocket(socket)) ): player = self.getPlayerFromSocket(socket) player.strike() errorMessage = "[errr|" + str(player.strikeNumber) + "|Error: " + \ "Can't Ante]" errorMessage.rstrip('\r\n') try: socket.send(errorMessage) self.strikeout(player) except: if ( player == None ): player = Player(s, None) self.removePlayer( player) finally: return elif ( isValidTurnMessage(msg, self.getPlayerFromSocket(socket)) ): player = self.getPlayerFromSocket(socket) player.strike() print msg + 'hello' errorMessage = "[errr|" + str(player.strikeNumber) + "|Error: " + \ "Not your turn during wait]" errorMessage.rstrip('\r\n') try: socket.send(errorMessage) self.strikeout(player) except: if ( player == None ): player = Player(s, None) self.removePlayer( player) finally: return elif ( isValidInsuMessage(msg, self.getPlayerFromSocket(socket)) ): player = self.getPlayerFromSocket(socket) player.strike() errorMessage = "[errr|" + str(player.strikeNumber) + "|Error: " + \ "You can't insure.]" errorMessage.rstrip('\r\n') try: socket.send(errorMessage) self.strikeout(player) except: if ( player == None ): player = Player(s, None) self.removePlayer( player) finally: return