Randomly insert new variable
조회 수: 2 (최근 30일)
이전 댓글 표시
My code currently creates a board of size n x n (user input) What I want to do now is to have certain positions on this board be called "kings", and I want roughly 1 king per 20 spaces i.e for a 10 x 10, there are 100 spaces so 5 kings. How do I randomly pick a board position to put a king?
function board = makeboard(size)
board = cell(size+1,size+1);
% initialize the board
for i=1:size+1
for j=1:size+1
if i==1
if j<=size
board{i,j+1} = j;
board{j+1,i} = j;
end
elseif j==1
% do nothing
else
board{i,j}= 'x';
end
end
end
amount=size*size;
king=amount/20;
king=floor(king);
end
댓글 수: 0
채택된 답변
Walter Roberson
2015년 11월 11일
Sorry, all of the normal ways of doing this involve using the MATLAB function named size(), which is not possible in your code because you named a variable "size". But you could change
else
board{i,j}= 'x';
to
elseif rand < 1/5
board{i,j} = 'k';
else
board{i,j} = 'x';
댓글 수: 0
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!