function tac()

names = getNames();
p = 1;
b = ['   ';'   ';'   '];

while ~done(b)
   showBoard(b)
   move = getMove(names{p});
   while ~validMove(b, move)
      fprintf('sorry!  Try again.\n')
      move = getMove(names{p});
   end
   b = makeMove(b, move);
   p = 3-p;
end

declareWinner(b, names)
end

% ---------------- Get Names ----------------
function names = getNames()
names{1} = input('player 1''s name: ', 's');
names{2} = input('player 2''s name: ', 's');
end

% --------------- Show Board -----------------
function showBoard(b)
disp('showing the board')
end

% --------------- Get Move ------------------
function move = getMove(name)
disp('getting the move')
move = 1;
end

% -------------- Valid Move? ----------------
function valid = validMove(b, move)
disp('valid move?')
valid = true;
end

% -------------- Make Move ------------------
function b = makeMove(b, move)
disp('making the move')
end

% ------------- declare Winner --------------
function declareWinner(b, names)
disp('declare winner')
end

% ------------- Done? -----------------------
function d = done(b)
disp('done?')
d = false;
end

