I've been making a game of tic tac tow where you can click to enter your "x" or "o" but am having trouble centering each of them and making the "x" or " o" bigger. This is what I have currently.
TTCboard = zeros(3,3);
% for creating the standard tic-tac-toe board in green
figure
plot([.5 3.5],[-1.5 -1.5], 'g','linewidth',1);% creates top horizontal line in board
hold on
plot([2.5 2.5],[-.5 -3.5], 'g','linewidth',1)% creates right-most vertical line
plot([.5 3.5],[-2.5 -2.5], 'g','linewidth',1)% creates bottom horizontal line
plot([1.5 1.5],[-.5 -3.5], 'g','linewidth',1)% creates left-most vertical line
axis off % keeps the X & y-axis off, creating a better looking natural board
hold off% ensures later commands are added to existing board
xticks([0 1 2 3]); yticks([0 1 2 3]);
xticklabels([]); yticklabels([]);
player = 'X'
while true
fprintf('%s click to place a piece\n', player);
[x, y] = ginput(1);
x = floor(x) + 1/2;
y = floor(y) + 1/2;
text(x, y, player);
break;
end
Any tips on how to center the x's/o's and make them bigger?

 Risposta accettata

Bob Thompson
Bob Thompson il 15 Mar 2021
Modificato: Bob Thompson il 15 Mar 2021
Hmm, maybe I spoke too soon on the centering.
Size can be set by adding a 'name,value' pair to the text command.
text(x,y,player,'Fontsize',24);

4 Commenti

Nathan Ross
Nathan Ross il 15 Mar 2021
edit: I was able to figure out the centering issue and move on, thank you very much for your help.
I fixed the centering by adjusting the location of your lines. The issue was that the different boxes ranged from x.5 -> (x+1).5. This meant that 'flooring' the selected range ended up putting you somewhere other than the box you selected, usually.
TTCboard = zeros(3,3);
% for creating the standard tic-tac-toe board in green
figure
plot([0 3],[-1 -1], 'g','linewidth',1);% creates top horizontal line in board
hold on
plot([2 2],[0 -3], 'g','linewidth',1)% creates right-most vertical line
plot([0 3],[-2 -2], 'g','linewidth',1)% creates bottom horizontal line
plot([1 1],[0 -3], 'g','linewidth',1)% creates left-most vertical line
axis off % keeps the X & y-axis off, creating a better looking natural board
hold off% ensures later commands are added to existing board
xticks([0 1 2 3]); yticks([0 1 2 3]);
xticklabels([]); yticklabels([]);
player = 'X'
while true
fprintf('%s click to place a piece\n', player);
[x, y] = ginput(1);
x = floor(x)+0.43;
y = floor(y)+0.5;
text(x, y, player, 'Fontsize', 24);
break;
end
I also made an adjustment to the +0.5 that followed the floor, to better center the X based on font size, but your 'horizontalalignment' name value option is a much better choice.
Nathan Ross
Nathan Ross il 15 Mar 2021
mind if I ask one more question?
Bob Thompson
Bob Thompson il 15 Mar 2021
You're welcome to ask, I will do my best to answer.
I will ask, as politely as I can, that if it's technically a new question it should be posted as a new query, per forum roles. I'm not going to be a stickler, but I believe the intention is to make sure answers that might help other people don't get buried in threads.

Accedi per commentare.

Più risposte (1)

Categorie

Scopri di più su Strategy & Logic in Centro assistenza e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by