added painting pawns based on data from server
This commit is contained in:
@@ -1,6 +1,24 @@
|
||||
var express = require('express');
|
||||
var router = express.Router();
|
||||
|
||||
function setNextPlayer(req, res){
|
||||
RoomModel.findOne({_id: req.session.roomId}, function (err, doc){
|
||||
if (err) {
|
||||
res.status(500).send(err)
|
||||
} else {
|
||||
const index = doc.players.findIndex( player => player.nowMoving === true);
|
||||
const roomSize = doc.player.length;
|
||||
doc.players[index].nowMoving = false;
|
||||
if(index++ === roomSize){
|
||||
doc.players[0].nowMoving = true;
|
||||
}else{
|
||||
doc.players[index].nowMoving = true;
|
||||
}
|
||||
RoomModel.findOneAndUpdate({_id: req.session.roomId}, doc);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
router.get('/roll', function (req, res){
|
||||
res.send({number: Math.ceil(Math.random() * 6)});
|
||||
});
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
var express = require('express');
|
||||
var router = express.Router();
|
||||
var RoomModel = require('../schemas/room');
|
||||
|
||||
var changeReadyState = (req, res, exit) =>{
|
||||
RoomModel.findOne({_id: req.session.roomId}, function (err, doc){
|
||||
if (err) {
|
||||
@@ -12,13 +11,11 @@ var changeReadyState = (req, res, exit) =>{
|
||||
let index = updatedPlayers.findIndex(
|
||||
player => (player._id).toString() == (req.session.playerId).toString()
|
||||
);
|
||||
console.log(doc, updatedPlayers, index);
|
||||
if(!exit) updatedPlayers[index].ready = !updatedPlayers[index].ready;
|
||||
else updatedPlayers[index].ready = false;
|
||||
const updatedDoc = {
|
||||
players: updatedPlayers
|
||||
}
|
||||
console.log(updatedPlayers.filter(player => player.ready).length);
|
||||
if(updatedPlayers.filter(player => player.ready).length >= 2){
|
||||
updatedDoc.started = true;
|
||||
updatedDoc.players[0].nowMoving = true;
|
||||
|
||||
+21
-8
@@ -1,16 +1,27 @@
|
||||
var express = require('express');
|
||||
var router = express.Router();
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
const RoomModel = require('../schemas/room');
|
||||
|
||||
var RoomModel = require('../schemas/room');
|
||||
const colors = ['red','blue','green','yellow'];
|
||||
|
||||
var colors = ['red','blue','green','yellow'];
|
||||
function getStartPositions(){
|
||||
const startPositions = [];
|
||||
for( let i = 0; i < 16; i++){
|
||||
let pawn = {};
|
||||
pawn.position = i;
|
||||
if(i < 4) pawn.color = colors[0];
|
||||
else if(i < 8) pawn.color = colors[1];
|
||||
else if(i < 12) pawn.color = colors[2];
|
||||
else if (i < 16) pawn.color = colors[3]
|
||||
startPositions.push(pawn);
|
||||
}
|
||||
return startPositions;
|
||||
}
|
||||
|
||||
//creating new room in db
|
||||
router.post('/add', function (req, res) {
|
||||
RoomModel.findOne( { full: false, started: false }, function (err, results) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
}
|
||||
if (err) console.log(err);
|
||||
if (!results) {
|
||||
let newRoom = new RoomModel({
|
||||
createDate: new Date,
|
||||
@@ -22,6 +33,7 @@ router.post('/add', function (req, res) {
|
||||
ready: false,
|
||||
color: colors[0]
|
||||
}],
|
||||
pawns: getStartPositions(),
|
||||
});
|
||||
newRoom.save()
|
||||
.then(function(){
|
||||
@@ -46,6 +58,7 @@ router.post('/add', function (req, res) {
|
||||
updateObj.full = true; // Room is full
|
||||
updateObj.started = true; // Game started
|
||||
updateObj.players[0].nowMoving = true; //First joined player moving
|
||||
updateObj.pawns = startPositions
|
||||
}
|
||||
RoomModel.findOneAndUpdate(
|
||||
{ _id: results._id }, //find room by id
|
||||
@@ -77,4 +90,4 @@ router.get('/', function(req,res){
|
||||
)
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
module.exports = router;
|
||||
|
||||
@@ -6,6 +6,7 @@ var RoomSchema = new Schema({
|
||||
createDate: Date,
|
||||
started: Boolean,
|
||||
full: Boolean,
|
||||
timer: Number,
|
||||
players: [{
|
||||
name: String,
|
||||
color: String,
|
||||
|
||||
Reference in New Issue
Block a user