I am creating an app script for minesweeper in google sheets and i need to get the selected cell but the variable is not updating and it is changing the background of the same cell
function highlightSelectedCell() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var selectedRange = sheet.getActiveRange();
// var selectedCellAddress = selectedRange.getA1Notation();
// Clear previous formatting
var range = sheet.getDataRange();
range.setBackground(null);
// Highlight selected cell
if (selectedRange.getNumRows() == 1 && selectedRange.getNumColumns() == 1) {
selectedRange.setBackground("#0000FF");
}
}
function sweeper() {
let ss = SpreadsheetApp.getActive();
let game = ss.getSheets()[0];
let isMine = ss.getSheets()[1];
let numberOfNearMines = ss.getSheets()[2];
let mines = randInt(15,20);
let statusBox = game.getRange(1,14);
let gameBoard = game.getRange("gameBoard");
isMine.getRange(1,1).setValue(mines);
isMine.getRange(2,2,11,11).setValue(" ");
statusBox.setValue("Loading...");
for (var counter = 0; counter < mines; counter = counter + 1) {
placeMine();
}
// for (var counter = 0; counter < 100; counter = counter + 1){
// let row = (Math.floor(counter/10))+2;
// let colom = counter - Math.floor(counter/10);
// if(counter == 10) {
// numberOfNearMines.getRange("A1").setValue(colom + "," + row);
// }
// //let cell = numberOfNearMines.getRange()
// }
statusBox.setValue("Loaded");
for(var counter = 0; counter>-1; counter = counter + 1) {
gameLoop();
}
}
function randInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min
}
function placeMine() {
let ss = SpreadsheetApp.getActive();
let isMine = ss.getSheets()[1];
let cell = isMine.getRange(randInt(2,11),randInt(2,11));
if(cell.getValue() == "M") {
placeMine();
return
}
cell.setValue("M");
}
function gameLoop() {
let ss = SpreadsheetApp.getActive();
let game = ss.getSheets()[0];
let isMine = ss.getSheets()[1];
let statusBox = game.getRange(1, 14);
let gameBoard = game.getRange("gameBoard");
highlightSelectedCell();
return
}
my app script runs a function to highlight the current selected cell but when running the function multiple times the cell to change dose not update
New contributor
Parker is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.