Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var express = require('express');
- var app = express();
- var server = require('http').Server(app);
- var io = require('socket.io')(server);
- var rooms = 0;
- app.use(express.static('.'));
- app.get('/', function (req, res) {
- res.sendFile(__dirname + '/game.html');
- });
- io.on('connection', function (socket) {
- /**
- * Create a new game room and notify the creator of game.
- */
- socket.on('createGame', function (data) {
- socket.join('room-' + ++rooms);
- socket.emit('newGame', {
- name: data.name,
- room: 'room-' + rooms
- });
- });
- /**
- * Connect the Player 2 to the room he requested. Show error if room full.
- */
- socket.on('joinGame', function (data) {
- var room = io.nsps['/'].adapter.rooms[data.room];
- if (room && room.length == 1) {
- socket.join(data.room);
- console.log("pass");
- socket.to(data.room).emit("joined", {
- name: data.name,
- id: room
- });
- } else {
- socket.to(room).emit('err', {
- message: 'Sorry, The room is full!'
- });
- }
- });
- /**
- * Handle the turn played by either player and notify the other.
- */
- socket.on('played', function (data) {
- socket.broadcast.to(data.room).emit('turnPlayed', {
- tile: data.tile,
- index: data.index
- });
- });
- /**
- * Notify the players about the victor.
- */
- socket.on('gameEnded', function (data) {
- socket.broadcast.to(data.room).emit('gameEnd', data);
- });
- });
- server.on('listening', function () {
- console.log('ok, server is running');
- });
- server.listen(3000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement