added starting game
This commit is contained in:
parent
2ed1894b6d
commit
3f07e71ce0
@ -1,14 +1,6 @@
|
||||
var express = require('express');
|
||||
var router = express.Router();
|
||||
|
||||
//starts game
|
||||
router.post('/start', function (req, res){
|
||||
/* set interval:
|
||||
draw a number <1,6>
|
||||
update positions
|
||||
*/
|
||||
|
||||
});
|
||||
router.get('/roll', function (req, res){
|
||||
res.send({number: Math.ceil(Math.random() * 6)});
|
||||
});
|
||||
|
||||
@ -12,12 +12,21 @@ var changeReadyState = (req, res, exit) =>{
|
||||
let index = updatedPlayers.findIndex(
|
||||
player => (player._id).toString() == (req.session.playerId).toString()
|
||||
);
|
||||
if(!exit)
|
||||
{updatedPlayers[index].ready = !updatedPlayers[index].ready;}
|
||||
else {updatedPlayers[index].ready = false;}
|
||||
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;
|
||||
}
|
||||
|
||||
RoomModel.findOneAndUpdate({
|
||||
_id: req.session.roomId
|
||||
}, {players: updatedPlayers}, function(err, doc){
|
||||
}, updatedDoc, function(err, doc){
|
||||
if (err){
|
||||
console.log(err)
|
||||
}
|
||||
|
||||
@ -7,7 +7,6 @@ var colors = ['red','blue','green','yellow'];
|
||||
|
||||
//creating new room in db
|
||||
router.post('/add', function (req, res) {
|
||||
console.log(req.session);
|
||||
RoomModel.findOne( { full: false, started: false }, function (err, results) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
@ -19,6 +18,7 @@ router.post('/add', function (req, res) {
|
||||
started: false,
|
||||
players: [{
|
||||
name: req.body.name,
|
||||
nowMoving: false,
|
||||
ready: false,
|
||||
color: colors[0]
|
||||
}],
|
||||
@ -31,7 +31,6 @@ router.post('/add', function (req, res) {
|
||||
res.status(200).send('Joined!');
|
||||
})
|
||||
.catch(err => res.status(400).json('Error: ' + err))
|
||||
|
||||
}else {
|
||||
let players = results.players;
|
||||
|
||||
@ -42,17 +41,22 @@ router.post('/add', function (req, res) {
|
||||
});
|
||||
|
||||
let updateObj = { players: players }
|
||||
players.length === 4 ? updateObj.full = true : updateObj.full = false;
|
||||
|
||||
// Checks if room is full => if true start game
|
||||
if (players.length === 4) {
|
||||
updateObj.full = true; // Room is full
|
||||
updateObj.started = true; // Game started
|
||||
updateObj.players[0].nowMoving = true; //First joined player moving
|
||||
}
|
||||
RoomModel.findOneAndUpdate(
|
||||
{ _id: results._id }, //find room by id
|
||||
updateObj)
|
||||
.then(()=>{
|
||||
req.session.roomId = results._id;
|
||||
req.session.playerId = updateObj.players[updateObj.players.lenght - 1]._id;
|
||||
req.session.playerId = updateObj.players[updateObj.players.length-1]._id;
|
||||
req.session.name = req.body.name;
|
||||
res.status(200).send('Joined!');
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@ -67,7 +71,7 @@ router.get('/', function(req,res){
|
||||
console.log(err)
|
||||
}
|
||||
else{
|
||||
res.send({ players: docs.players});
|
||||
res.send(docs);
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
@ -10,11 +10,12 @@ var RoomSchema = new Schema({
|
||||
name: String,
|
||||
color: String,
|
||||
ready: Boolean,
|
||||
nowMoving: Boolean,
|
||||
}],
|
||||
pawns: [{
|
||||
color: String,
|
||||
position: Number,
|
||||
}],
|
||||
positions: {
|
||||
type: Map,
|
||||
of: Array,
|
||||
}
|
||||
});
|
||||
|
||||
var RoomModel = mongoose.model('RoomModel', RoomSchema );
|
||||
|
||||
@ -23,6 +23,7 @@ const PORT = 3000|| process.env.PORT;
|
||||
|
||||
//DATABASE CONFIG
|
||||
const mongoose = require("mongoose");
|
||||
mongoose.set('useFindAndModify', false);
|
||||
const CONNECTION_URI = require("./credentials.js").MONGODB_URL;
|
||||
|
||||
mongoose.connect(CONNECTION_URI, {
|
||||
|
||||
@ -22,7 +22,7 @@ const Navbar = () => {
|
||||
}
|
||||
useEffect(()=>{
|
||||
//sending ajax every 3 sec
|
||||
setInterval(fetchData, 3000);
|
||||
setInterval(fetchData, 1000);
|
||||
},[]);
|
||||
|
||||
return(
|
||||
|
||||
Loading…
Reference in New Issue
Block a user