Create game board in matlab
Show older comments
I want to create a board that displays for the user to see. I then want the user to be able to enter an x and y coordinate and replace that value with the value from another board.
Example: Board user sees:
1 2 3 4 5
1 x x x x x
2 x x x x x
3 x x x x x
4 x x x x x
5 x x x x x
Actual board:
1 2 3 4 5
1 x x x x x
2 x x x k x
3 k x x x x
4 x x k x x
5 x x x x x
So if the user enters in x=3 and y=4 the new board the user sees is:
1 2 3 4 5
1 x x x x x
2 x x x x x
3 x x x x x
4 x x k x x
5 x x x x x
Answers (1)
arushi
on 28 Aug 2024
Hi Krish,
To implement a system where a user can enter coordinates to update a visible board with values from another board, you can follow these steps :
% Initialize the boards
visibleBoard = repmat('x', 5, 5);
actualBoard = [
'x', 'x', 'x', 'x', 'x';
'x', 'x', 'x', 'k', 'x';
'k', 'x', 'x', 'x', 'x';
'x', 'x', 'k', 'x', 'x';
'x', 'x', 'x', 'x', 'x'
];
% Function to display the board
function displayBoard(board)
disp(' 1 2 3 4 5');
for i = 1:size(board, 1)
fprintf('%d ', i);
fprintf('%s ', board(i, :));
fprintf('\n');
end
end
% Main loop
while true
% Display the current visible board
disp('Current Board:');
displayBoard(visibleBoard);
% Get user input
x = input('Enter the x coordinate (1-5): ');
y = input('Enter the y coordinate (1-5): ');
% Validate input
if x < 1 || x > 5 || y < 1 || y > 5
disp('Invalid coordinates. Please enter values between 1 and 5.');
continue;
end
% Update the visible board with the value from the actual board
visibleBoard(y, x) = actualBoard(y, x);
% Display the updated board
disp('Updated Board:');
displayBoard(visibleBoard);
% Check if the user wants to continue
cont = input('Do you want to enter another coordinate? (y/n): ', 's');
if strcmpi(cont, 'n')
break;
end
end
Hope this helps.
Categories
Find more on Board games in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!