Google 张中的井字游戏(Apps 脚本)
Tic Tac Toe in Google Sheets (Apps Script)
我正在尝试创建两人井字游戏(无 AI)。我有一个显示 X 或 O 的单元格,具体取决于轮到它在单元格 J2 中的位置。如果显示和x,则我想要一个复选框,当检查时,将其显示为X,而对于O。复选框(第二个如果)。我很确定我的问题出在我的 IF 上,但我不完全确定。
function onEdit(TTT2) {
var ss = SpreadsheetApp.getActive();
var Range = ss.getActiveSelection();
var Turn = SpreadsheetApp.getrange("J2").getValue();
if(Range = ('TRUE') && Turn == ('X')) {
spreadsheet.getActiveSelection().setValue("X");
}else if(Range = ('TRUE') && Turn == ('O')){
spreadsheet.getActiveSelection().setValue("O");
}else if(Range = (''))
spreadsheet.getActiveSelection().setValue("TRUE");
}
编辑:发现(一个?)错误,它无法识别 getrange。这引出了一个问题:如何将单元格的值设置为变量?
这应该有帮助,它会检查范围是否在前三列和前三行中,然后将值设置为 X 或 O 并更改轮次。我没有使用 SpreadsheetApp,而是使用了 onEdit(e) 中的 e,它为您提供了通往所选区域及其值的更直接路径。
//Set board between a specific range.
function onEdit(e) {
if(e){
var ss = SpreadsheetApp.getActive();
var range = e.range;
//Check that its in the begining range
if(range.getColumn() < 4 && range.getRow() < 4) {
//Get the turn
var turnRange = ss.getRange("J2");
var turn = turnRange.getValue();
//If the checkbox is checked
if(range.getValue() == true){
if(turn == 'X') {
//set the box to X and change turn to O
range.setValue("X");
turnRange.setValue("O");
}else if(turn == 'O'){
//Set box to O and change turn to X
range.setValue("O");
turnRange.setValue("X");
}
}
}
}
}
我正在尝试创建两人井字游戏(无 AI)。我有一个显示 X 或 O 的单元格,具体取决于轮到它在单元格 J2 中的位置。如果显示和x,则我想要一个复选框,当检查时,将其显示为X,而对于O。复选框(第二个如果)。我很确定我的问题出在我的 IF 上,但我不完全确定。
function onEdit(TTT2) {
var ss = SpreadsheetApp.getActive();
var Range = ss.getActiveSelection();
var Turn = SpreadsheetApp.getrange("J2").getValue();
if(Range = ('TRUE') && Turn == ('X')) {
spreadsheet.getActiveSelection().setValue("X");
}else if(Range = ('TRUE') && Turn == ('O')){
spreadsheet.getActiveSelection().setValue("O");
}else if(Range = (''))
spreadsheet.getActiveSelection().setValue("TRUE");
}
编辑:发现(一个?)错误,它无法识别 getrange。这引出了一个问题:如何将单元格的值设置为变量?
这应该有帮助,它会检查范围是否在前三列和前三行中,然后将值设置为 X 或 O 并更改轮次。我没有使用 SpreadsheetApp,而是使用了 onEdit(e) 中的 e,它为您提供了通往所选区域及其值的更直接路径。
//Set board between a specific range.
function onEdit(e) {
if(e){
var ss = SpreadsheetApp.getActive();
var range = e.range;
//Check that its in the begining range
if(range.getColumn() < 4 && range.getRow() < 4) {
//Get the turn
var turnRange = ss.getRange("J2");
var turn = turnRange.getValue();
//If the checkbox is checked
if(range.getValue() == true){
if(turn == 'X') {
//set the box to X and change turn to O
range.setValue("X");
turnRange.setValue("O");
}else if(turn == 'O'){
//Set box to O and change turn to X
range.setValue("O");
turnRange.setValue("X");
}
}
}
}
}