我試圖做一個小函數來檢查一個點是否在Tic Tac Toe板上被採用。我創建了一個名爲tttArray的零數組,當每個點被填充時,它的位置變爲1.因此,我首先從下面的函數獲取玩家的輸入。檢查Tic Tac Toe板上的位置Matlab
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
http://stackoverflow.com/questions/32980638/tic-tac-toe-with-a-win-and-taken- check-matlab解決了這個問題... –