Advertisement
Guest User

Untitled

a guest
Jul 24th, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.98 KB | None | 0 0
  1. var user = PropertiesService.getUserProperties();
  2. var ss = SpreadsheetApp.getActiveSpreadsheet();
  3. var sheet = ss.getSheets()[0];
  4.  
  5. /*
  6. * Launched when clicked on the start button
  7. */
  8. function start() {
  9. if(user.getKeys().length){
  10. Browser.msgBox('You are already in the session, remove your self first to create a new player');
  11. return;
  12. }
  13. var htmlOutput = HtmlService
  14. .createHtmlOutputFromFile('NewPlayer')
  15. .setWidth(220)
  16. .setHeight(260);
  17.  
  18. SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'New Player')
  19. }
  20.  
  21. function createPlayer(formObject){
  22. var userName = formObject.psnName;
  23. var color = formObject.color;
  24. user.setProperties({name: userName,
  25. color: color})
  26.  
  27. // Only 10 players at a time can use the list
  28. var playerCells = sheet.getRange(7, 1, 10).getValues();
  29.  
  30. for(var p = 0; p < playerCells.length; p++){
  31.  
  32. if(playerCells[p][0] == ''){
  33. sheet.getRange(p + 7, 1).setValue(userName);
  34. sheet.getRange(p + 7, 2).setBackground(color);
  35. sheet.getRange(p + 7, 3).setValue('0/92')
  36. user.setProperties({p_num: p, moves: 0}, false)
  37. break;
  38. }
  39. }
  40. }
  41.  
  42. function removePlayer(){
  43. if(user.getProperty('p_num')){
  44. var rowOffset = 0;
  45. var colOffset = 0;
  46. var p = user.getProperty('p_num');
  47. for(var moveNum = 1; moveNum <= 96; moveNum++){
  48. if(moveNum == 30 ){ rowOffset = 5; colOffset = 3;}
  49. else if (moveNum == 52 ) { rowOffset = 10; colOffset = 5;}
  50. else if (moveNum == 85) { rowOffset = 15; colOffset = 8; }
  51. sheet.getRange(+8 + +rowOffset +(2*parseInt((moveNum - 1 - parseInt(rowOffset/5) - parseInt(rowOffset/10))/4)),
  52. +5 + +p + +(10*((+moveNum + +colOffset - 1)%4)))
  53. .setBackground('#ffffff')
  54. }
  55. sheet.getRange(+p + 7, 1, 1, 3).clear()
  56. user.deleteAllProperties();
  57. }
  58. else
  59. Browser.msgBox('You don\'t appear to be a player in this session')
  60. }
  61.  
  62.  
  63. function move(moveNum){
  64. if(!user.getKeys().length){
  65. Browser.msgBox('You haven\'t created a player yet!');
  66. return;
  67. }
  68. var rowOffset = 0;
  69. var colOffset = 0;
  70. if(moveNum >= 30 && moveNum <= 51){ rowOffset = 5; colOffset = 3;}
  71. else if (moveNum >= 52 && moveNum <= 84) { rowOffset = 10; colOffset = 5;}
  72. else if (moveNum > 84) { rowOffset = 15; colOffset = 8; }
  73. cell = sheet.getRange(+8 + +rowOffset +(2*parseInt((moveNum - 1 - parseInt(rowOffset/5) - parseInt(rowOffset/10))/4)),
  74. +5 + +user.getProperty('p_num') + +(10*((+moveNum + +colOffset - 1)%4)))
  75. if(cell.getBackground() == '#ffffff'){
  76. user.setProperties({moves: +user.getProperty('moves') + 1}, false)
  77. cell.setBackground(user.getProperty('color'))
  78. update()
  79. }
  80. else{
  81. user.setProperties({moves: +user.getProperty('moves') - 1}, false)
  82. cell.setBackground('#ffffff')
  83. update()
  84. }
  85. }
  86.  
  87. function update(){
  88. sheet.getRange(+user.getProperty('p_num') + 7, 3).setValue(parseInt(user.getProperty('moves')) + '/96')
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement