我是一名高中老师,试图围绕一个个人财务单元为我的学生们做一个活动。我必须给你一点解释才能让我的问题有意义,因为我在脚本编写方面唯一的培训是我通过google,stack和胡闹自己学到的东西。
我正在做一个“生活游戏”式的活动,来配合我的经济学学生的预算创建课程。我已经在工作表文档的第一页上做了一个基本的游戏板,在空白单元格中着色。然后,我在顶部放置了一个透明框来附加脚本。当学生点击该框时,它会运行脚本。弹出一个带有是/否按钮的警告框,并为他们提供一个可供选择的方案。根据所做的选择,他们要么赚取收入,要么消费收入,然后这些收入会自动记录在“银行账户”表上。
到目前为止,我所有的简单脚本看起来都很丑陋,但却能达到它们的目的--就像我的烹饪一样。但我现在被难住了。
主要的问题是我正在写的当前脚本。场景是这样的:当学生单击该框时,会弹出一个带有是/否按钮框的警告。正文是-“你被邀请加入搏击俱乐部。你可以接受或拒绝邀请。如果你接受并赢得比赛,你将获得300美元。如果你输了,你将不得不向医院支付200美元来整容你的脸。你会战斗吗?”
这是我想要发生的事情:如果“是”,那么得到一个介于1,2之间的随机整数。如果是2,警报弹出“愤怒的拳头”,并且中奖金额被添加到银行表中(我知道如何做这一部分)如果是1,警报弹出“失败的拳头”,损失从银行表中借记('')如果不是,另一个警报说“勇敢的罗宾爵士逃跑了”
我不知道如何将按钮点击绑定到随机整数选择,然后让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" );
}
}发布于 2021-05-13 04:23:47
我认为您的问题出在您的逻辑检查中(使用三重相等的===而不是双==)。而且,您还可以使用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");
}
}https://stackoverflow.com/questions/67510164
复制相似问题