Что я тут не так делаю? - PullRequest
       3

Что я тут не так делаю?

0 голосов
/ 20 февраля 2019

Я пытаюсь построить простую «игру», которая научит моего сына умножению.Сценарий приведен ниже в виде ссылки на скриншот.

Проблема:

Кажется, что умножение не работает.x1 * x2 возвращает #NUM!.Когда я проверил электронную таблицу, числа не являются текстовой строкой.

Что я здесь не так делаю?

function multiplicationgame() {



  var GameSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Multiplication");



  var x1 = GameSheet.getRange("A2");
  var x2 = GameSheet.getRange("B2");




  // for generating a random number Math.floor((Math.random() * 10) + 1);
  x1.setValue(Math.floor((Math.random() * 10) + 1));
  x2.setValue(Math.floor((Math.random() * 10) + 1));


  var ui = SpreadsheetApp.getUi();
  var response = ui.prompt('Enter Answer Here:');

  // creates a temp halt in speardsheet execution till the answer is entered
  SpreadsheetApp.flush();

  var Answer = GameSheet.getRange("A7").getValue();


  var x3 = GameSheet.getRange("B7");


  if (Answer == x1*x2) (x3.setValue('Thats correct! Well done'));
  else (x3.setValue('Thats wrong! Better luck next time'))


}

1 Ответ

0 голосов
/ 20 февраля 2019

Попробуйте:

Процесс умножения восстановлен.

Вы использовали диапазон в качестве значения.

function multiplicationgame() {
  var GameSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet71");
  var x1 = GameSheet.getRange("A2");
  var x2 = GameSheet.getRange("B2");
  var x3 = GameSheet.getRange("A7");
  var x4=GameSheet.getRange("B7");

  // for generating a random number Math.floor((Math.random() * 10) + 1);
  var m1=Math.floor((Math.random() * 10) + 1);
  var m2=Math.floor((Math.random() * 10) + 1);
  x1.setValue(m1);
  x2.setValue(m2);
  SpreadsheetApp.flush();
  var ui = SpreadsheetApp.getUi();
  var response = ui.prompt('Multiplication', Utilities.formatString('%s x %s = ?',m1,m2 ), ui.ButtonSet.OK);
  // creates a temp halt in speardsheet execution till the answer is entered
  x3.setValue(response.getResponseText());
  SpreadsheetApp.flush();
  var Answer = GameSheet.getRange("A7").getValue();

  if (Answer == m1*m2) {
    x4.setValue('Thats correct! Well done');
  }else{
    x4.setValue('Thats wrong! Better luck next time');
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...