Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var user = PropertiesService.getUserProperties();
- var ss = SpreadsheetApp.getActiveSpreadsheet();
- var sheet = ss.getSheets()[0];
- /*
- * Launched when clicked on the start button
- */
- function start() {
- if(user.getKeys().length){
- Browser.msgBox('You are already in the session, remove your self first to create a new player');
- return;
- }
- var htmlOutput = HtmlService
- .createHtmlOutputFromFile('NewPlayer')
- .setWidth(220)
- .setHeight(260);
- SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'New Player')
- }
- function createPlayer(formObject){
- var userName = formObject.psnName;
- var color = formObject.color;
- user.setProperties({name: userName,
- color: color})
- // Only 10 players at a time can use the list
- var playerCells = sheet.getRange(7, 1, 10).getValues();
- for(var p = 0; p < playerCells.length; p++){
- if(playerCells[p][0] == ''){
- sheet.getRange(p + 7, 1).setValue(userName);
- sheet.getRange(p + 7, 2).setBackground(color);
- sheet.getRange(p + 7, 3).setValue('0/92')
- user.setProperties({p_num: p, moves: 0}, false)
- break;
- }
- }
- }
- function removePlayer(){
- if(user.getProperty('p_num')){
- var rowOffset = 0;
- var colOffset = 0;
- var p = user.getProperty('p_num');
- for(var moveNum = 1; moveNum <= 96; moveNum++){
- if(moveNum == 30 ){ rowOffset = 5; colOffset = 3;}
- else if (moveNum == 52 ) { rowOffset = 10; colOffset = 5;}
- else if (moveNum == 85) { rowOffset = 15; colOffset = 8; }
- sheet.getRange(+8 + +rowOffset +(2*parseInt((moveNum - 1 - parseInt(rowOffset/5) - parseInt(rowOffset/10))/4)),
- +5 + +p + +(10*((+moveNum + +colOffset - 1)%4)))
- .setBackground('#ffffff')
- }
- sheet.getRange(+p + 7, 1, 1, 3).clear()
- user.deleteAllProperties();
- }
- else
- Browser.msgBox('You don\'t appear to be a player in this session')
- }
- function move(moveNum){
- if(!user.getKeys().length){
- Browser.msgBox('You haven\'t created a player yet!');
- return;
- }
- var rowOffset = 0;
- var colOffset = 0;
- if(moveNum >= 30 && moveNum <= 51){ rowOffset = 5; colOffset = 3;}
- else if (moveNum >= 52 && moveNum <= 84) { rowOffset = 10; colOffset = 5;}
- else if (moveNum > 84) { rowOffset = 15; colOffset = 8; }
- cell = sheet.getRange(+8 + +rowOffset +(2*parseInt((moveNum - 1 - parseInt(rowOffset/5) - parseInt(rowOffset/10))/4)),
- +5 + +user.getProperty('p_num') + +(10*((+moveNum + +colOffset - 1)%4)))
- if(cell.getBackground() == '#ffffff'){
- user.setProperties({moves: +user.getProperty('moves') + 1}, false)
- cell.setBackground(user.getProperty('color'))
- update()
- }
- else{
- user.setProperties({moves: +user.getProperty('moves') - 1}, false)
- cell.setBackground('#ffffff')
- update()
- }
- }
- function update(){
- sheet.getRange(+user.getProperty('p_num') + 7, 3).setValue(parseInt(user.getProperty('moves')) + '/96')
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement