Exemplo n.º 1
0
/** Update a cell that the user has clicked on the server side, then broadcast the change to all clients **/
function updateWorldCell(x, y) {
	// wArray = JSON.parse(wArray);
	// wArray[y][x] = (wArray[y][x]+1)%144;
	// wArray = JSON.stringify(wArray); 
	// broadcastUpdateWorld();
	wsServer.broadcastUTF(JSON.stringify({ kind:'updateWorld', data:beachArray }));
};
Exemplo n.º 2
0
Arquivo: server.js Projeto: comoc/test
	connection.on('message', function(message) {
		if (message.type === 'utf8') {
			console.log('Received Message: ' + message.utf8Data);
			server.broadcastUTF(message.utf8Data);
		}
		else if (message.type === 'binary') {
			console.log('Received Binary Message of ' + message.binaryData.length + ' bytes');
			connection.broadcastBytes(message.binaryData);
		}
	});
Exemplo n.º 3
0
/** Gets the game going once there are 2 players **/
function runGame() {
	determineFirstTurn(); // Pick a first player
	// Give all players new cards	
	issuePlayersNewCards();
	var sendSeat = JSON.stringify({kind:'yourTurn'}); // Let that player know it's his turn
	seats[whoseTurn].connection.send(sendSeat);
	var yourDealer = JSON.stringify({kind:'newDealer', dealer: whoseTurn});
	wsServer.broadcastUTF(yourDealer);
	// Now nothing to do, but wait to hear that he has finished making his turn from the 'madeTurn' message
}
Exemplo n.º 4
0
 stream.on('data', function(data) {
   if (data['user'] && data['user']['id'] === FOLLOWING_ID) {
     data['source']                                     = undefined;
     data['contributors']                               = undefined;
     data['entities']                                   = undefined;
     data['favorited']                                  = undefined;
     data['lang']                                       = undefined;
     data['truncated']                                  = undefined;
     data['in_reply_to_status_id']                      = undefined;
     data['in_reply_to_status_id_str']                  = undefined;
     data['in_reply_to_user_id']                        = undefined;
     data['in_reply_to_user_id_str']                    = undefined;
     data['in_reply_to_screen_name']                    = undefined;
     data['user']['name']                               = undefined;
     data['user']['screen_name']                        = undefined;
     data['user']['url']                                = undefined;
     data['user']['description']                        = undefined;
     data['user']['protected']                          = undefined;
     data['user']['followers_count']                    = undefined;
     data['user']['friends_count']                      = undefined;
     data['user']['listed_count']                       = undefined;
     data['user']['created_at']                         = undefined;
     data['user']['favourites_count']                   = undefined;
     data['user']['utc_offset']                         = undefined;
     data['user']['time_zone']                          = undefined;
     data['user']['geo_enabled']                        = undefined;
     data['user']['verified']                           = undefined;
     data['user']['statuses_count']                     = undefined;
     data['user']['lang']                               = undefined;
     data['user']['contributors_enabled']               = undefined;
     data['user']['is_translator']                      = undefined;
     data['user']['profile_background_color']           = undefined;
     data['user']['profile_background_image_url']       = undefined;
     data['user']['profile_background_image_url_https'] = undefined;
     data['user']['profile_background_tile']            = undefined;
     data['user']['profile_image_url']                  = undefined;
     data['user']['profile_image_url_https']            = undefined;
     data['user']['profile_link_color']                 = undefined;
     data['user']['profile_sidebar_border_color']       = undefined;
     data['user']['profile_sidebar_fill_color']         = undefined;
     data['user']['profile_text_color']                 = undefined;
     data['user']['profile_use_background_image']       = undefined;
     data['user']['default_profile']                    = undefined;
     data['user']['default_profile_image']              = undefined;
     data['user']['following']                          = undefined;
     data['user']['follow_request_sent']                = undefined;
     data['user']['notifications']                      = undefined;
     util.puts('[' + new Date() + ']EEW ' + JSON.stringify(data));
     wsServer.broadcastUTF(JSON.stringify(data));
   }   
 }); 
Exemplo n.º 5
0
/**		GET THE PLAYER UP TO DATE		**/
function getUpToDate( whichNewPlayer ) {
	if ( gameRunning ) {	
		for(var i =0; i<=4; i++) {
			if( (seats[i].occupied == true) && (i != whichNewPlayer) ) {					
				var broadcastNumber  = i+1;
				var newPlayer = JSON.stringify({ kind:'newOtherPlayer', seatNumber: broadcastNumber });
				seats[whichNewPlayer].connection.send(newPlayer);
			}					
		}			
		var yourDealer = JSON.stringify({kind:'newDealer', dealer: whoseTurn});
		wsServer.broadcastUTF(yourDealer);			
		var card1 = pickRandomCard();
		var card2 = pickRandomCard();
		if(whichNewPlayer==0) {
			seat0Cards.push(card1);
			seat0Cards.push(card2);
		}
		else if(whichNewPlayer==1) {
			seat1Cards.push(card1);
			seat1Cards.push(card2);
		}
		else if(whichNewPlayer==2) {
			seat2Cards.push(card1);
			seat2Cards.push(card2);
		}
		else if(whichNewPlayer==3) {
			seat3Cards.push(card1);
			seat3Cards.push(card2);
		}
		else if(whichNewPlayer==4) {
			seat4Cards.push(card1);
			seat4Cards.push(card2);
		}
		var sendSeat = JSON.stringify({kind:'issueCards', cardOne: card1, cardTwo: card2});
		seats[whichNewPlayer].connection.send( sendSeat );	
	}
}
Exemplo n.º 6
0
 self.broadcast = function(data){
     ws.broadcastUTF(JSON.stringify(data));
 };
Exemplo n.º 7
0
 connection.on('message', function(message) {
     wsServer.broadcastUTF(message.utf8Data);
 });
Exemplo n.º 8
0
setInterval(function () {wsServer.broadcastUTF("");}, 30 * 1000);
Exemplo n.º 9
0
/** Send the up to date list of message to every client **/
function broadcastMessage() {
	wsServer.broadcastUTF(JSON.stringify({ type:'message', data: messages }));
}
Exemplo n.º 10
0
function broadcastUpdateWorld() {
	wsServer.broadcastUTF(JSON.stringify({ kind:'updateWorld', data:wArray }));
}
Exemplo n.º 11
0
function broadcastPlayerSatDown( message ) {
	wsServer.broadcastUTF(JSON.stringify({ kind:'newOtherPlayer', seatNumber: message }));
}
Exemplo n.º 12
0
    connection.on('message', function(message) {    	
        if (message.type === 'utf8') {
        	// Extract the message
        	var json = JSON.parse(message.utf8Data);
        	/**			PLAYER IS TRYING TO SIT DOWN		**/
        	if ( json.kind == 'playerSatDown' ) {
				var sitInfo = JSON.parse(json.data);        			
				switch(sitInfo.seat) {
				case "p1Sit":
					if ( seats[0].occupied == false ) {		
						seats[0].occupied = true;
						seats[0].id = myId;
						seats[0].connection = connection;
						var sendSeat = JSON.stringify({kind:'sitInquiry', sitInquiry:'true', whichSeat:'1'});
						connection.send(sendSeat);
						numPlayers++;
						if (numPlayers > 2) { getUpToDate(0); }
						broadcastPlayerSatDown(1);						
					}
					break;
				case "p2Sit":
					if ( seats[1].occupied == false ) {		
						seats[1].occupied = true;
						seats[1].id = myId;
						seats[1].connection = connection;
						var sendSeat = JSON.stringify({kind:'sitInquiry', sitInquiry:'true', whichSeat:'2'});
						connection.send(sendSeat);
						numPlayers++;
						if (numPlayers > 2) { getUpToDate(1); }
						broadcastPlayerSatDown(2);
					}
					break;
				case "p3Sit":
					if ( seats[2].occupied == false ) {		
						seats[2].occupied = true;
						seats[2].id = myId;
						seats[2].connection = connection;
						var sendSeat = JSON.stringify({kind:'sitInquiry', sitInquiry:'true', whichSeat:'3'});
						connection.send(sendSeat);
						numPlayers++;
						if (numPlayers > 2) { getUpToDate(2); }
						broadcastPlayerSatDown(3);
					}
					break;
				case "p4Sit":
					if ( seats[3].occupied == false ) {		
						seats[3].occupied = true;
						seats[3].id = myId;
						seats[3].connection = connection;
						var sendSeat = JSON.stringify({kind:'sitInquiry', sitInquiry:'true', whichSeat:'4'});
						connection.send(sendSeat);
						numPlayers++;
						if (numPlayers > 2) { getUpToDate(3); }
						broadcastPlayerSatDown(4);
					}
					break;
				case "p5Sit":
					if ( seats[4].occupied == false ) {		
						seats[4].occupied = true;
						seats[4].id = myId;
						seats[4].connection = connection;
						var sendSeat = JSON.stringify({kind:'sitInquiry', sitInquiry:'true', whichSeat:'5'});
						connection.send(sendSeat);
						numPlayers++;
						if (numPlayers > 2) { getUpToDate(4); }
						broadcastPlayerSatDown(5);
					}
					break;
				}
				
				// If the increase in numPlayers means that there are now 2, then the game can begin
				if ( (numPlayers == 2) && (gameRunning == false) ) {
					gameRunning = true;
					runGame();
				} 
				
				
        	} 
			/**		PLAYER HAS MADE THEIR TURN		**/
			else if ( (json.kind == 'madeTurn') && (gameRunning == true) ) {
				if( seats[whoseTurn].id == myId ) { // He can only make a move if its his turn
					//console.log("Player id:" + myId + " has " + json.how + "ed.");
					// Tell him it's not his turn anymore
					var notTurn = JSON.stringify({kind:'notYourTurn'}); // Let the next player know it's his turn
					seats[whoseTurn].connection.send(notTurn);	
					// Figure out who's turn it should be
					determineNextTurn(); 	
					// has there been a completed rotation				
					if( whoseTurn == dealerPosition) {
						//console.log("Reached the dealer again.");
						// There has been a completed rotation...
						if ( state == "preflop" ) {
							state = "flop";
							flop1Card = pickRandomCard();
							flop2Card = pickRandomCard();
							flop3Card = pickRandomCard();
							var rotation = JSON.stringify({kind:'completedRotation', currentState: "flop", newCard1: flop1Card, newCard2: flop2Card, newCard3: flop3Card});
						} else if ( state == "flop" ) {
							state = "turn";
							turnCard = pickRandomCard();
							var rotation = JSON.stringify({kind:'completedRotation', currentState: "turn", newCard1: turnCard});
						} else if ( state == "turn" ) {
							state = "river";
							riverCard = pickRandomCard();
							var rotation = JSON.stringify({kind:'completedRotation', currentState: "river", newCard1: riverCard});
						} else if ( state == "river" ) {
							state = "preflop";
							var rotation = JSON.stringify({kind:'completedRotation', currentState: "preflop"});							
							wsServer.broadcastUTF({ kind:'newPost', post: "Round Over"});							
							// Reset the Round
							usedCardBank = new Array(20);
							
							var playHands = [];
							playHands[0] = 0;
							playHands[1] = 0;
							playHands[2] = 0;
							playHands[3] = 0;
							playHands[4] = 0;
							
							for(var i =0; i<=4; i++) {
								if( (seats[i].occupied == true) ) {		
									var playName;
									var c1;
									var c2;
									if ( i==0 ) {playName="seatZero"; c1=seat0Cards[0]; c2=seat0Cards[1];}
									else if ( i==1 ) {playName="seatOne"; c1=seat1Cards[0]; c2=seat1Cards[1];}
									else if ( i==2 ) {playName="seatTwo"; c1=seat2Cards[0]; c2=seat2Cards[1];}
									else if ( i==3 ) {playName="seatThree"; c1=seat3Cards[0]; c2=seat3Cards[1];}
									else if ( i==4 ) {playName="seatFour"; c1=seat4Cards[0]; c2=seat4Cards[1];}			
									playHands[i] = {player:playName, hand:whatHand(c1, c2, flop1Card, flop2Card, flop3Card, turnCard, riverCard)};
								}					
							}
							// Evaluate the players' hands to see who won
							compareHands(
								playHands[0],
								playHands[1],
								playHands[2],
								playHands[3],
								playHands[4]
							);							
							
							var resultsMessage = "Player sitting at " + winningPlayers[0].player + " won with " + titleToHandName(winningPlayers[0].hand.title) + ".";
							wsServer.broadcastUTF(JSON.stringify({ kind:'resultsMessage', post: resultsMessage}));
									
							// Reset the server's stored cards for players and center 5
							seat0Cards = [];
							seat1Cards = [];
							seat2Cards = [];
							seat3Cards = [];
							seat4Cards = [];
							
							// Give players new cards
							issuePlayersNewCards();
						}
						wsServer.broadcastUTF(rotation);
						//seats[whoseTurn].connection.send(rotation);	
					}
					// Tell this guy it's now his turn
					var sendSeat = JSON.stringify({kind:'yourTurn'}); // Let the next player know it's his turn
					seats[whoseTurn].connection.send(sendSeat);		
										
					var yourDealer = JSON.stringify({kind:'newDealer', dealer: whoseTurn});
					wsServer.broadcastUTF(yourDealer);		
				}
			}
			/**		PLAYER HAS POSTED A MESSAGE		**/
			else if ( json.kind == 'newPost' ) {
				var newPost = json.post;
				wsServer.broadcastUTF(JSON.stringify({ kind:'newPost', post: newPost}));
			}			
        } 
    });