2013-07-20 5 views
1

Я пытаюсь создать графический интерфейс для игры с tic tac toe, которую я сделал. Вот код, у меня есть для GUI до сих пор:MATLAB: как заставить мою функцию ждать ввода GUI

function fig=TTTGUI()for 

close all 
%initial creation 

fig=figure('pos',[100 50 820 640]); 
txtbx=uicontrol('style','text','parent',fig,'pos',[640 320 160 300]); 
B0=uicontrol('style','pushbutton','parent',fig,'pos',[640 200 40 40],'string',0); 
B1=uicontrol('style','pushbutton','parent',fig,'pos',[680 200 40 40],'string',1); 
B2=uicontrol('style','pushbutton','parent',fig,'pos',[720 200 40 40],'string',2); 
B3=uicontrol('style','pushbutton','parent',fig,'pos',[760 200 40 40],'string',3); 

%set number of players 
players=[]; 
set(txtbx,'string','how many players? (1 or 2)'); 
set(B1,'callback','players=1;'); 
set(B2,'callback','players=2;'); 
%stop and wait here 

end 

Я хочу, чтобы все мои функции, чтобы остановить в этой точке и ждать, пока переменной players изменения, которые происходят только от кнопки 1 или 2, являющихся прессов.

Я посмотрел на «waitfor», «uiwait», «pause» и еще пару функций, но я не могу найти то, что искал. Или, может быть, я не совсем понимаю, как использовать эти функции. Как заставить мои функции ждать нажатия одной из этих двух кнопок? Если нажата другая кнопка, она не должна иметь никакого эффекта.

ответ

2

Попробуйте использовать заранее заданный диалоговое окно вопросов. См. here для более подробной информации.

button = questdlg('How many players?', 'One', 'Two'); 
Смежные вопросы