Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "_id": "5adefce3c4892c0fa1a5078a",
- "nombre": "ailynn",
- "edad": 282,
- "raza": "caucasico",
- "puntosVida": 100,
- "ataque": 30,
- "playerNumber": "ninguno",
- "__v": 0
- }
- var User = require("../models/User");
- var Weapon = require('../models/Weapon');
- var weaponCount = require('./weapon');
- var turno = 0; // player 1 turn
- //CREATE USERS
- function createUser(req, res){
- nombre = req.body.nombre;
- edad = req.body.edad;
- raza = req.body.raza;
- puntosVida = req.body.puntosVida;
- ataque = req.body.ataque;
- playerNumber = 'ninguno';
- var user = new User({
- nombre:nombre,
- edad:edad,
- raza:raza,
- puntosVida: puntosVida,
- ataque:ataque,
- playerNumber: playerNumber,
- });
- user.save(function(err, user_new) {
- if(err){
- res.status(500).send({message:err.message});
- res.status(500).send(user.nombre.toUpperCase() + ' ya ha sido creado, pruba otro nombre diferente');
- } else {
- res.status(200).send(user_new);
- }
- });
- }
- //FIND USERS
- function findAvailableUsers(req,res){
- User.find({},function(err, users){
- if (err) {
- res.status(500).send({message:err.message});
- } else {
- res.status(200).send(users);
- }
- });
- }
- //GIVE WEAPON TO USERS =>
- function giveWeaponToUser(req,res){
- var userName = req.body.nombre;
- var weaponName = req.body.arma;
- var count = 0;
- //counting remaining weapons
- Weapon.find({"nombre": weaponName},function (err, weaponName){
- for (var i = 0; i < weaponName.length; i++) {
- if (weaponName[i].available === true) {
- count++;
- }
- }
- });
- //find weapons which match the body query and the boolean true to convert to false
- Weapon.findOneAndUpdate({"nombre":weaponName, "available": true},{$set:{"available":false}}, function(err, weapon){
- if (err) {
- res.status(500).send({message:err.message});
- } else if(weapon === null){
- res.status(500).send("NO " + weaponName.toUpperCase() + 'S' + " AVAILABLE IN STOCK OR TYPED WRONG (We have pistola, cuchillo, escopeta, bazooka)");
- } else {
- //assign weapon to user selected
- User.findOneAndUpdate({"nombre":userName}, {$set:{"arma":weapon._id}}, function(err, user){
- if (err) {
- res.status(500).send({message:err.message});
- } else if(user === null){ // no name found
- res.status(500).send("NO NAME FOUND: " + userName.toUpperCase() + ", Create it first!");
- console.log(user);
- } else if(user.armaId !== 'ningunId'){ //reasign another weapon message
- res.status(500).send(userName + ' changed the weapon and now have: ' + weaponName.toUpperCase() + ' with ID: ' + weapon._id + 'n Remaining ' + weaponName.toUpperCase() + 'S: ' + count);
- } else { //give first weapon if doesnt have
- res.status(200).send('Weapon ' + "(" + weaponName.toUpperCase() + ")" + ' with ID: ' + weapon._id + ' has been assigned to ' + userName + 'n Remaining ' + weaponName.toUpperCase() + 'S: ' + count);
- }
- });
- }
- });
- }
- function findUser(req,res){
- User.find({"_id":req.params.id}, function(err, user){
- if(err){
- res.status(500).send({message:err.message});
- } else{
- res.status(200).send(user);
- }
- });
- }
- //FIND USER WITH OBJECT ID
- function findUserWithWeaponObj(req, res){
- User.find({"_id":req.params.id})
- .populate({path: 'arma'})// LE PASO EL OBJECTiD Y DESPLIEGO EL OBJETO DEL ARMA
- .exec(function(err, user){
- if (err) {
- res.status(500).send({message:err.message});
- } else{
- res.status(200).send(user);
- }
- });
- }
- //ATTACK
- function attack(req,res){
- var player1 = req.body.ataca;
- var player2 = req.body.atacado;
- User.find({$or:[{"nombre": player1}, {"nombre":player2}]}, function(err, user){
- var jugador1 = user[0];//FRAN
- var jugador2 = user[1];//AILYN
- if (user[0] === undefined || user[1] === undefined) {
- res.status(500).send('No user mactch our DB, create it before play');
- } else {
- if (turno === 0) {//TURNO PRIMERO(FRAN)
- let vidaRestante = jugador2.puntosVida - jugador1.arma.dano;
- if (jugador2.puntosVida <= 0) {
- res.status(200).send(jugador2.nombre + ' HA PERDIDO');
- } else {
- User.updateOne({"nombre":player2},{$set:{"playerNumber":"player2", "puntosVida":vidaRestante}}, function(err, jugador1){
- // res.status(200).send('TURNO DE: ' + player1 + ' (' + turno + ')' + 'n' + jugador1);
- res.status(200).send('TURNO DE: ' + player1 + ', vida restante: ' + vidaRestante);
- turno = 1;
- });
- }
- }else {//TURNO SEGUNDO(AILYN)
- let vidaRestante = jugador1.puntosVida - jugador2.arma.dano;
- if (jugador1.puntosVida <= 0) {
- res.status(200).send(jugador1.nombre + ' HA PERDIDO');
- }else {
- User.updateOne({"nombre":player1},{$set:{"playerNumber":"player1", "puntosVida":vidaRestante}}, function(err, jugador2){
- // res.status(200).send('TURNO DE: ' + player2 + ' (' + turno + ')' + 'n' + jugador2);
- res.status(200).send('TURNO DE: ' + player2 + ', vida restante: ' + vidaRestante);
- turno = 0;
- });
- }
- }
- }
- });
- }
- //INSERT IMAGE
- function insertImage(req,res){
- var imagePath = req.files.image.path;//image is my field to fill in the body
- var userId = req.params.id;
- User.findOneAndUpdate({_id:userId}, {imagen:imagePath}, function(err, user){//image(ver mi model)
- if (err) {
- res.status(500).send({message:err.message});
- } else{
- res.status(200).send('Image: ' + imagePath + ' attached to user: ' + user.nombre);
- }
- });
- }
Add Comment
Please, Sign In to add comment