Я пытаюсь создать приложение в Google Sheets для игры в карточную игру. Одна постоянная проблема, с которой я сталкиваюсь - это отладка. Я знаю, как использовать отладчик в редакторе скриптов, но проблема в том, что большинство моих функций будут зависеть от пользовательского ввода.
Например, у меня есть одна функция, позволяющая игроку сбрасывать карты. Сначала они должны отметить любое количество флажков рядом с карточками, которые они sh сбросят. Как только они нажимают кнопку, сценарий находит все карты, рядом с которыми пользователь поставил чек, добавляет их в массив removearray
и отправляет их в функцию discardcards
для обработки.
Таким образом, конкретный вопрос c состоит в следующем: как правильно отладить эту функцию, если она зависит от пользовательского ввода? Главный вопрос, конечно, заключается в том, есть ли способ правильно отладить такую функцию?
Код:
function discardcards(removearray) {
var rssheet = ss.getSheetByName("Responses - Shuffle");
var cards = rssheet.getRange("A1:A");
var pile = rssheet.getRange("C1:C");
var i = 1;
// Iterate through the deck until all cards in the removearray are found and cleared.
while (removearray.length > 0) {
var currentcard = cards.getCell(i, 1).getValue();
// Compare the currentcard to each card in removearray to see if it matches.
for (var j = 0; j < removearray.length; j++) {
if (currentcard == removearray[j]) {
pile.getCell(i, 1).setValue(-1); // Value of -1 indicates that the card is discarded.
removearray.splice(j, 1); // Delete the card from removearray as it has already been found.
}
}
i++;
}
}
На данный момент единственный надежный метод, который я нашел, это вставка Browser.msgBox
в код на разных этапах, чтобы проверить, что происходит, для вывода на лист. Это громоздко, поскольку мне приходится обновлять код каждый раз перед нажатием кнопки.
В Visual Basi c - единственном другом языке, с которым я знаком - Visual Studio позволяет просматривать переменные и вставлять значения в них во время отладки. Я не видел никакого способа сделать это в скрипте приложений. Есть ли какая-либо такая функция или какая-либо другая стандартная практика, используемая при отладке скрипта Apps?