【发布时间】:2015-10-05 01:05:20
【问题描述】:
我正在尝试创建一个小函数来检查井字棋盘上是否有一个点。我创建了一个名为 tttArray 的零数组,当每个点被填充时,它的位置变为 1。所以我首先从下面的函数中获取玩家的输入。
function [pXInputRow, pXInputCol] = pickXspot(playerInput)
%This function is to take inputs from Player X
pXInputRow = 0;
pXInputCol = 0;
%Set text for Row/Col Prompt
prompt = {'Row (1,2, or 3)', '(Col (1, 2, or 3)'};
name = 'Player X Turn';
%Show prompt to input values
playerInput = inputdlg(prompt, name);
pXInputRow = str2num(playerInput{2});
pXInputCol = str2num(playerInput{1});
tttArray(pXInputRow, pXInputCol) = 1;
end
然后使用下面的函数来查看是否被占用。
function [spotTaken] = checktaken(tttArray)
%Function used to check if spot is taken
%Setup Error Messages
errorMessage = 'This spot is taken, please choose another spot';
errorMessageTitle = 'Spot Taken';
if tttArray(pXInputRow, pXInputCol) || tttArray(pOInputRow, pOInputCol) == 1
msgbox(errorMessage, errorMessageTitle)
spotTaken = 1;
end
end
但是,在我运行并在提示对话框中放置一行/列之后,我不断收到以下错误。有什么建议吗?
Not enough input arguments.
Error in checktaken (line 8)
if tttArray(pXInputRow, pXInputCol) || tttArray(pOInputRow, pOInputCol) == 1
【问题讨论】:
标签: arrays matlab input user-input tic-tac-toe