3

我是一名高中老师,试图为我的学生围绕个人理财部门开展活动。为了让我的问题有意义,我必须给你一些解释,因为我在剧本写作方面的唯一培训是我通过谷歌、堆栈和搞砸自己学到的东西。

我正在为我的经济学学生制作一个“生活游戏”风格的活动以及预算创建课程。通过在空白单元格中着色,我在工作表文档的第一页上制作了一个基本的游戏板。然后我在顶部放置了一个透明框来附加脚本。当学生单击该框时,它会运行脚本。弹出一个带有是/否按钮的警报框,并为他们提供一个可供选择的场景。根据所做的选择,他们将获得或花费收入,然后自动记录在“银行账户”表上。

到目前为止,我所有的简单脚本看起来都很可怕,但它们都达到了它们的目的——就像我的烹饪一样。但我现在很难过。

主要问题是我正在编写的当前脚本。这是场景:当学生单击框时,会弹出一个带有是/否按钮框的警报。文字是——“你被邀请加入搏击俱乐部。你可以接受或拒绝这个提议。如果你接受并赢得了你的战斗,你将获得 300 美元。如果你输了,你将不得不向医院支付 200 美元来修复你的脸。 . 你会战斗吗?

这就是我想要发生的事情:如果“是”,那么得到一个介于 1,2 之间的随机整数。如果 2,alert 弹出“Fists of Fury”并将奖金添加到银行表中(我知道该怎么做)如果 1,alert 弹出“Fists of failure”,并且从银行表中扣除损失( '') 如果不是,另一个警告说“勇敢的罗宾先生逃跑了”

我无法弄清楚如何将按钮单击与随机整数选择联系起来,然后让 if/thens 工作。当我运行我所拥有的东西时,它的行为就像选择了每个选项而不是一个选项。

所以这是我的问题代码。随意嘲笑它,它知道它的样子。我真的很感激你能给我的任何帮助!

  function arena(arena) {
  var bankSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Bank account");
  var lr = bankSheet.getLastRow();
  var ui = SpreadsheetApp.getUi(); 
  var result = ui.alert(
    'You are invited to join Fight Club. You can accept or refuse the offer. If you accept and win your fight, you will earn $300. If you lose, you will have to pay the hospital $200 to fix your face. Declining the fight has no effect.',
'will you fight?',
  ui.ButtonSet.YES_NO);

   if (result == ui.Button.YES) {
      getRndInteger(1,2)
        if (result === 1)
      ui.alert('You enter the ring, raise your fists, and wake up in the hospital.');  
       bankSheet.getRange(lr+1,4).setValue( 200 );
       bankSheet.getRange(lr+1,3).setValue( "Fists of Failure" );
       bankSheet.getRange(lr+1,8).setValue( "1" );
       if (result === 2)
         ui.alert('You enter the ring, raise your fists, and conquer.');  
       bankSheet.getRange(lr+1,2).setValue( 300 );
       bankSheet.getRange(lr+1,1).setValue( "Fists of fury" );
       bankSheet.getRange(lr+1,7).setValue( "1" );
   }
     if (result == ui.Button.NO) {
       ui.alert('Brave Sir Robin ran away.');
         bankSheet.getRange(lr+1,2).setValue( 0 );
         bankSheet.getRange(lr+1,1).setValue( "escape" );
         bankSheet.getRange(lr+1,7).setValue( "1" );
     }

 
 }
4

1 回答 1

2

我认为您的问题出在您的逻辑检查中(使用三重 equal===而不是 double ==)。而且,您可以使用if else if.

function arena(arena) {
    var bankSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Bank account");
    var lr = bankSheet.getLastRow();
    var ui = SpreadsheetApp.getUi();
    var userAnswer = ui.alert(
        'You are invited to join Fight Club. You can accept or refuse \
    the offer. If you accept and win your fight, you will earn $300. \
    If you lose, you will have to pay the hospital $200 to fix your \
    face. Declining the fight has no effect.',
        'will you fight?',
        ui.ButtonSet.YES_NO);

    if (userAnswer == ui.Button.YES) {
        var fightResult = getRndInteger(1, 2);
        if (fightResult == 1) {
            ui.alert('You enter the ring, raise your fists, and wake \
                      up in the hospital.');
            bankSheet.getRange(lr + 1, 4).setValue(200);
            bankSheet.getRange(lr + 1, 3).setValue("Fists of Failure");
            bankSheet.getRange(lr + 1, 8).setValue("1");
        } else if (fightResult == 2) {
            ui.alert('You enter the ring, raise your fists, and conquer.');
            bankSheet.getRange(lr + 1, 2).setValue(300);
            bankSheet.getRange(lr + 1, 1).setValue("Fists of fury");
            bankSheet.getRange(lr + 1, 7).setValue("1");
        } else {
            // shouldn't get here!
        }
    } else if (userAnswer == ui.Button.NO) {
        ui.alert('Brave Sir Robin ran away.');
        bankSheet.getRange(lr + 1, 2).setValue(0);
        bankSheet.getRange(lr + 1, 1).setValue("escape");
        bankSheet.getRange(lr + 1, 7).setValue("1");
    }
}
于 2021-05-12T20:23:47.343 回答