matlab五子棋代码
时间: 2023-09-04 13:06:32 浏览: 135
以下是一个简单的 MATLAB 五子棋代码示例:
```matlab
% 初始化棋盘
board = zeros(15, 15);
player = 1; % 玩家1为黑子,玩家2为白子
% 开始游戏循环
while true
% 显示棋盘
disp(board);
% 玩家下棋
if player == 1
disp('玩家1下棋(黑子)');
else
disp('玩家2下棋(白子)');
end
row = input('请输入行号:');
col = input('请输入列号:');
while board(row, col) ~= 0
disp('此处已有棋子,请重新输入!');
row = input('请输入行号:');
col = input('请输入列号:');
end
board(row, col) = player;
% 判断是否获胜
if check_win(board, player)
if player == 1
disp('玩家1获胜!');
else
disp('玩家2获胜!');
end
break;
end
% 切换玩家
player = mod(player, 2) + 1;
end
% 检查是否获胜
function win = check_win(board, player)
[row, col] = find(board == player);
for i = 1:length(row)
% 水平方向
if col(i) <= 11 && length(find(board(row(i), col(i):col(i)+4) == player)) == 5
win = true;
return;
end
% 垂直方向
if row(i) <= 11 && length(find(board(row(i):row(i)+4, col(i)) == player)) == 5
win = true;
return;
end
% 左上到右下方向
if row(i) <= 11 && col(i) <= 11 && length(find(diag(board(row(i):row(i)+4, col(i):col(i)+4)) == player)) == 5
win = true;
return;
end
% 左下到右上方向
if row(i) >= 5 && col(i) <= 11 && length(find(diag(flipud(board(row(i)-4:row(i), col(i):col(i)+4))) == player)) == 5
win = true;
return;
end
end
win = false;
end
```
运行该代码,即可开始玩五子棋游戏。