Create game board in matlab
Afficher commentaires plus anciens
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
Réponses (1)
arushi
le 28 Août 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.
Catégories
En savoir plus sur Board games dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!