Я пытаюсь сделать небольшую функцию, которая проверяет, занято ли место на доске Tic Tac Toe или нет. Я создал массив нулей, называемый 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