Guest User

Untitled

a guest
Apr 24th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.59 KB | None | 0 0
  1. {
  2. "_id": "5adefce3c4892c0fa1a5078a",
  3. "nombre": "ailynn",
  4. "edad": 282,
  5. "raza": "caucasico",
  6. "puntosVida": 100,
  7. "ataque": 30,
  8. "playerNumber": "ninguno",
  9. "__v": 0
  10. }
  11.  
  12. var User = require("../models/User");
  13. var Weapon = require('../models/Weapon');
  14. var weaponCount = require('./weapon');
  15. var turno = 0; // player 1 turn
  16.  
  17. //CREATE USERS
  18. function createUser(req, res){
  19. nombre = req.body.nombre;
  20. edad = req.body.edad;
  21. raza = req.body.raza;
  22. puntosVida = req.body.puntosVida;
  23. ataque = req.body.ataque;
  24. playerNumber = 'ninguno';
  25.  
  26. var user = new User({
  27. nombre:nombre,
  28. edad:edad,
  29. raza:raza,
  30. puntosVida: puntosVida,
  31. ataque:ataque,
  32. playerNumber: playerNumber,
  33. });
  34.  
  35. user.save(function(err, user_new) {
  36. if(err){
  37. res.status(500).send({message:err.message});
  38. res.status(500).send(user.nombre.toUpperCase() + ' ya ha sido creado, pruba otro nombre diferente');
  39. } else {
  40. res.status(200).send(user_new);
  41. }
  42. });
  43. }
  44.  
  45. //FIND USERS
  46. function findAvailableUsers(req,res){
  47. User.find({},function(err, users){
  48. if (err) {
  49. res.status(500).send({message:err.message});
  50. } else {
  51. res.status(200).send(users);
  52. }
  53. });
  54. }
  55.  
  56. //GIVE WEAPON TO USERS =>
  57. function giveWeaponToUser(req,res){
  58.  
  59. var userName = req.body.nombre;
  60. var weaponName = req.body.arma;
  61. var count = 0;
  62.  
  63.  
  64. //counting remaining weapons
  65. Weapon.find({"nombre": weaponName},function (err, weaponName){
  66. for (var i = 0; i < weaponName.length; i++) {
  67. if (weaponName[i].available === true) {
  68. count++;
  69. }
  70. }
  71. });
  72.  
  73. //find weapons which match the body query and the boolean true to convert to false
  74. Weapon.findOneAndUpdate({"nombre":weaponName, "available": true},{$set:{"available":false}}, function(err, weapon){
  75. if (err) {
  76. res.status(500).send({message:err.message});
  77. } else if(weapon === null){
  78. res.status(500).send("NO " + weaponName.toUpperCase() + 'S' + " AVAILABLE IN STOCK OR TYPED WRONG (We have pistola, cuchillo, escopeta, bazooka)");
  79. } else {
  80. //assign weapon to user selected
  81. User.findOneAndUpdate({"nombre":userName}, {$set:{"arma":weapon._id}}, function(err, user){
  82.  
  83. if (err) {
  84. res.status(500).send({message:err.message});
  85. } else if(user === null){ // no name found
  86. res.status(500).send("NO NAME FOUND: " + userName.toUpperCase() + ", Create it first!");
  87. console.log(user);
  88.  
  89. } else if(user.armaId !== 'ningunId'){ //reasign another weapon message
  90. res.status(500).send(userName + ' changed the weapon and now have: ' + weaponName.toUpperCase() + ' with ID: ' + weapon._id + 'n Remaining ' + weaponName.toUpperCase() + 'S: ' + count);
  91. } else { //give first weapon if doesnt have
  92. res.status(200).send('Weapon ' + "(" + weaponName.toUpperCase() + ")" + ' with ID: ' + weapon._id + ' has been assigned to ' + userName + 'n Remaining ' + weaponName.toUpperCase() + 'S: ' + count);
  93. }
  94. });
  95. }
  96. });
  97. }
  98.  
  99. function findUser(req,res){
  100.  
  101. User.find({"_id":req.params.id}, function(err, user){
  102. if(err){
  103. res.status(500).send({message:err.message});
  104. } else{
  105. res.status(200).send(user);
  106. }
  107. });
  108. }
  109.  
  110. //FIND USER WITH OBJECT ID
  111. function findUserWithWeaponObj(req, res){
  112.  
  113. User.find({"_id":req.params.id})
  114. .populate({path: 'arma'})// LE PASO EL OBJECTiD Y DESPLIEGO EL OBJETO DEL ARMA
  115. .exec(function(err, user){
  116. if (err) {
  117. res.status(500).send({message:err.message});
  118. } else{
  119. res.status(200).send(user);
  120. }
  121. });
  122. }
  123.  
  124. //ATTACK
  125. function attack(req,res){
  126. var player1 = req.body.ataca;
  127. var player2 = req.body.atacado;
  128.  
  129. User.find({$or:[{"nombre": player1}, {"nombre":player2}]}, function(err, user){
  130. var jugador1 = user[0];//FRAN
  131. var jugador2 = user[1];//AILYN
  132.  
  133.  
  134. if (user[0] === undefined || user[1] === undefined) {
  135. res.status(500).send('No user mactch our DB, create it before play');
  136. } else {
  137.  
  138. if (turno === 0) {//TURNO PRIMERO(FRAN)
  139. let vidaRestante = jugador2.puntosVida - jugador1.arma.dano;
  140.  
  141. if (jugador2.puntosVida <= 0) {
  142. res.status(200).send(jugador2.nombre + ' HA PERDIDO');
  143. } else {
  144. User.updateOne({"nombre":player2},{$set:{"playerNumber":"player2", "puntosVida":vidaRestante}}, function(err, jugador1){
  145. // res.status(200).send('TURNO DE: ' + player1 + ' (' + turno + ')' + 'n' + jugador1);
  146. res.status(200).send('TURNO DE: ' + player1 + ', vida restante: ' + vidaRestante);
  147. turno = 1;
  148. });
  149. }
  150.  
  151. }else {//TURNO SEGUNDO(AILYN)
  152. let vidaRestante = jugador1.puntosVida - jugador2.arma.dano;
  153.  
  154. if (jugador1.puntosVida <= 0) {
  155. res.status(200).send(jugador1.nombre + ' HA PERDIDO');
  156. }else {
  157. User.updateOne({"nombre":player1},{$set:{"playerNumber":"player1", "puntosVida":vidaRestante}}, function(err, jugador2){
  158. // res.status(200).send('TURNO DE: ' + player2 + ' (' + turno + ')' + 'n' + jugador2);
  159. res.status(200).send('TURNO DE: ' + player2 + ', vida restante: ' + vidaRestante);
  160. turno = 0;
  161. });
  162. }
  163.  
  164. }
  165. }
  166. });
  167. }
  168.  
  169. //INSERT IMAGE
  170. function insertImage(req,res){
  171.  
  172. var imagePath = req.files.image.path;//image is my field to fill in the body
  173. var userId = req.params.id;
  174.  
  175. User.findOneAndUpdate({_id:userId}, {imagen:imagePath}, function(err, user){//image(ver mi model)
  176. if (err) {
  177. res.status(500).send({message:err.message});
  178. } else{
  179. res.status(200).send('Image: ' + imagePath + ' attached to user: ' + user.nombre);
  180. }
  181. });
  182. }
Add Comment
Please, Sign In to add comment