Beispiel #1
0
	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)
Beispiel #2
0
	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)
Beispiel #3
0
	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)
Beispiel #4
0
	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
Beispiel #5
0
	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