Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var getSocketIO = new XMLHttpRequest();
  2. getSocketIO.open('GET', 'https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js');
  3. getSocketIO.send();
  4. var response = "";
  5. getSocketIO.onload = function() {
  6. if (getSocketIO.status == 200) {
  7.    response = getSocketIO.responseText;
  8.    alert("Now type in eval(response) in the console");
  9. }
  10. };
  11. var targetPlayerId = "";
  12. function moveBots() {
  13.  let actions = ['left', 'right', 'up'];
  14.   setTimeout(function () {
  15.           for(var i = 0;i < socketArray.length;i++){
  16.               socketArray[i].emit('release', actions[0]);
  17.               socketArray[i].emit('release', actions[1]);
  18.               socketArray[i].emit('release', actions[2]);
  19.           }
  20.      for(var i = 0;i < socketArray.length;i++){
  21.         let moveFlag = 0; //0 means don't move, 1 means move right, 2 means move left
  22.        let playerPos = getPlayerPos(socketArray[i].id);
  23.         if(playerPos.x == null){playerPos.x=400;}
  24.        var userPos = getPlayerPos(targetPlayerId);
  25.        if(userPos.x > playerPos.x){
  26.          moveFlag = 1;
  27.        }
  28.        if(userPos.x < playerPos.x){
  29.          moveFlag = 2;
  30.        }
  31.         if(playerPos.x < 400){ moveFlag = 1; }
  32.         if(playerPos.x > 400){ moveFlag = 2; }
  33.         if(moveFlag == 1){
  34.             socketArray[i].emit('press', 'right');
  35.         }else if(moveFlag == 2){
  36.             socketArray[i].emit('press', 'left');
  37.         }
  38.        socketArray[i].emit('press', 'shoot');
  39.        socketArray[i].emit('press', 'up');
  40.        socketArray[i].emit('update', userPos);
  41.      }
  42.       moveBots();
  43.   }, 100);
  44. }
  45. var socketArray = [];
  46. var xhr = "";
  47. function makeBots(lobby, number, prefix){
  48.   let tempLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  49.   for(var i = 0;i<number;i++){
  50.       xhr = new XMLHttpRequest();
  51.       xhr.open('GET', '/');
  52.       xhr.send();
  53.       var temp = io();
  54.       var name = String(prefix+" "+tempLetters[i%tempLetters.length]);
  55.       temp.emit('pick name', name);
  56.       temp.emit('join lobby', lobby);
  57.    socketArray.push(temp);
  58.   }
  59.  moveBots();
  60. }
  61. function randomMousePos() {
  62. var x = window.innerWidth * Math.random();
  63. var y = window.innerHeight * Math.random() + 100;
  64. return {
  65.   x: x,
  66.   y: y
  67. }
  68. }
  69. function getPlayerPos(playerID){
  70.  let index = -1;
  71.  for(var i = 0;i < gs.players.length;i++){
  72.       if(gs.players[i].id==playerID){
  73.           index=i;
  74.       }
  75.   }
  76.  if(index == -1){
  77.       return{
  78.           x: null,
  79.           y: null
  80.       };
  81.   }
  82.  return{
  83.    x: gs.players[index].x,
  84.    y: gs.players[index].y
  85.   };
  86. }
  87. var selectBox = document.createElement('div');
  88. selectBox.style.zIndex = 100;
  89. selectBox.id = 'selectBox';
  90. selectBox.style.position = 'fixed';
  91. selectBox.style.top = '10px';
  92. selectBox.style.left = '10px';
  93. selectBox.style.width = '300px';
  94. selectBox.style.height = '400px';
  95. selectBox.style.backgroundColor = '#222';
  96. selectBox.style.overflowY = 'scroll';
  97. document.body.appendChild(selectBox);
  98. function updateSelectBox(){
  99.  setTimeout(function(){
  100.       selectBox.innerHTML = "";
  101.       for(var i = 0;i < gs.players.length;i++){
  102.           let userBox = document.createElement('button');
  103.           userBox.innerHTML = gs.players[i].name;
  104.           userBox.innerHTML += '<span class="id" style="display:none">'+gs.players[i].id+'</span>';
  105.           userBox.style.width = '100%';
  106.           userBox.style.display = 'block';
  107.           userBox.style.padding = ' 10px 20px';
  108.      if(targetPlayerId == gs.players[i].id){
  109.        userBox.style.backgroundColor = 'green';
  110.      }
  111.           selectBox.appendChild(userBox);
  112.           selectBox.scrollTo(0, selectBox.scrollHeight);
  113.       }
  114.    updateSelectBox();
  115.   }, 500);
  116. }
  117. var targetPlayerId = "";
  118. document.addEventListener('click', function(e){
  119. if(e.target.tagName=="BUTTON"){
  120.   targetPlayerId = e.target.childNodes[1].innerHTML;
  121.   var buttonArray = document.querySelectorAll('button');
  122.   buttonArray.forEach(function(elem){elem.style.backgroundColor='';});
  123.  e.target.style.backgroundColor = 'green';
  124. }
  125. });
  126. updateSelectBox();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement