chess_x(:,10:11) = [2 2;7 7]; chess_x(:,12:16) = [3*ones(1,5); 6*ones(1,5)];
时间: 2024-04-23 14:24:24 浏览: 109
这段代码给 `chess_x` 的第 10-11 列和第 12-16 列赋值。第 10-11 列的值都是 2,第一行是黑方的车的横坐标,第二行是黑方的车的纵坐标。第 12-16 列的值都是 3 和 6,其中第 12-13 列的值都是 3,表示黑方的兵的横坐标,第 14-16 列的值都是 6,表示黑方的马、象、士的横坐标。这里使用了 `ones` 函数创建一个值全为 1 的行向量,然后用 `3*` 和 `6*` 进行数乘,得到一个值全为 3 和 6 的行向量,最后把这两个向量组成一个矩阵,赋值给 `chess_x` 的第 12-16 列。
相关问题
chess_x(:,10:11) = [2 2;7 7]; chess_x(:, chess_y(:,1:9) = [0:8;0:8]; chess_y(:,10) = [1;1]; chess_y(:,11) = [7;7]; chess_y(:,12:16) = [0:2:8;0:2:8];
这段代码给 `chess_x` 和 `chess_y` 赋值。其中,`chess_x` 的第 10-11 列的值都是 2,表示黑方的车的横坐标,第 12-16 列的值分别是 3、3、3、3、3 和 6,表示黑方的兵、马、象、士的横坐标。`chess_y` 的第 1-9 列的值分别是 0-8,表示棋盘上其它棋子的纵坐标,第 10、11 列的值都是 1 和 7,表示黑方的车的纵坐标,第 12-16 列的值分别是 0、2、4、6、8,表示黑方的兵、马、象、士的纵坐标。其中 `[0:8;0:8]` 表示一个 2x9 的矩阵,第一行和第二行都是从 0 到 8 的整数序列。`[1;1]` 和 `[7;7]` 分别表示值为 1 和 7 的列向量。`[0:2:8;0:2:8]` 表示一个 2x5 的矩阵,第一行和第二行都是从 0 开始,步长为 2,到 8 结束的整数序列。
function InitializeChessPosition() chess_x(:,1:9) = [zeros(1,9);9*ones(1,9)]; chess_x(:,10:11) = [2 2;7 7]; chess_x(:,12:16) = [3*ones(1,5); 6*ones(1,5)]; chess_y(:,1:9) = [0:8;0:8]; chess_y(:,10) = [1;1]; chess_y(:,11) = [7;7]; chess_y(:,12:16) = [0:2:8;0:2:8]; pos_chess = zeros(nRowNum+1,nColNum+1); pos_chess(:,1) = (1:9)'; pos_chess(:,nColNum+1) = (1:9)'+16; pos_chess(2,3) = 10; pos_chess(2,nColNum-1) = 10+16; pos_chess(8,3) = 11; pos_chess(8,nColNum-1) = 11+16; pos_chess(1:2:9,4) = (12:16); pos_chess(1:2:9,nColNum-2) = (12:16)+16; end
这段代码是用来初始化中国象棋棋局的,其中chess_x和chess_y表示每个棋子的位置,pos_chess表示每个位置上的棋子编号,nRowNum和nColNum分别表示行数和列数。具体来说,chess_x和chess_y中前两列表示红方的车、马、相、士、将的位置,后两列表示黑方的车、马、象、士、帅的位置,中间两列表示红方的炮,黑方的炮,最后五列表示红方的兵,黑方的卒。pos_chess中第一列和最后一列表示棋盘上的行数,第二列和倒数第二列表示棋盘上的列数,其他位置上的数表示该位置上的棋子编号。
阅读全文