首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >D&D风格的随机结果,在单击按钮时使用if/then语句-教师尝试为课堂做活动

D&D风格的随机结果,在单击按钮时使用if/then语句-教师尝试为课堂做活动
EN

Stack Overflow用户
提问于 2021-05-13 03:50:51
回答 1查看 48关注 0票数 3

我是一名高中老师,试图围绕一个个人财务单元为我的学生们做一个活动。我必须给你一点解释才能让我的问题有意义,因为我在脚本编写方面唯一的培训是我通过google,stack和胡闹自己学到的东西。

我正在做一个“生活游戏”式的活动,来配合我的经济学学生的预算创建课程。我已经在工作表文档的第一页上做了一个基本的游戏板,在空白单元格中着色。然后,我在顶部放置了一个透明框来附加脚本。当学生点击该框时,它会运行脚本。弹出一个带有是/否按钮的警告框,并为他们提供一个可供选择的方案。根据所做的选择,他们要么赚取收入,要么消费收入,然后这些收入会自动记录在“银行账户”表上。

到目前为止,我所有的简单脚本看起来都很丑陋,但却能达到它们的目的--就像我的烹饪一样。但我现在被难住了。

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

这是我想要发生的事情:如果“是”,那么得到一个介于1,2之间的随机整数。如果是2,警报弹出“愤怒的拳头”,并且中奖金额被添加到银行表中(我知道如何做这一部分)如果是1,警报弹出“失败的拳头”,损失从银行表中借记('')如果不是,另一个警报说“勇敢的罗宾爵士逃跑了”

我不知道如何将按钮点击绑定到随机整数选择,然后让if/thens起作用。当我运行我所拥有的东西时,它的行为就像是选择了每个选项,而不是一个。

所以这是我的问题代码。尽管嘲笑它,它知道它看起来像什么。我真的很感谢你能给我的任何帮助!

代码语言:javascript
复制
  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" );
     }

 
 }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-13 04:23:47

我认为您的问题出在您的逻辑检查中(使用三重相等的===而不是双==)。而且,您还可以使用if else if更清楚地进行检查。

代码语言:javascript
复制
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");
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67510164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档