Conflict between dialog box and button?

11 ビュー (過去 30 日間)
Carolina Binns
Carolina Binns 2017 年 3 月 14 日
コメント済み: Carolina Binns 2017 年 3 月 14 日
I am writing a tic tac toe game using a graph. I used dialog boxes to prompt each user to input their move. I added a button to the graph that can be pressed to clear the board and restart the game. However, the button cannot be pressed while a dialog box is open, and as soon as one user inputs their move a new dialog box pops up for the next move. Essentially, I cannot press the button until all the moves have been made and there are no more dialog boxes. Is there any way to allow the button to be pressed while there is a dialog box open?

採用された回答

Walter Roberson
Walter Roberson 2017 年 3 月 14 日
If you are using inputdlg() then you can use the option 'WindowStyle', 'normal' instead of the default 'modal'. However, if you do that then inputdlg() returns immediately and you have to take special care to wait for the user to answer the question.
You should reconsider using inputdlg()
For example you could use a radio button located in each square. Clicking it would change the color of the square and disable the radio button.
Or you could add the letter 'Q' to indicate 'Quit' or 'R' for 'Replay', instead of using a push button.
  3 件のコメント
Walter Roberson
Walter Roberson 2017 年 3 月 14 日
Currently you have an inputdlg() call. Skip the button and just check whether the user entered 'Q' (quit) or 'R' (replay) in the same place you check for 'A' to 'I' already.
Carolina Binns
Carolina Binns 2017 年 3 月 14 日
Got it! Thanks!

サインインしてコメントする。

その他の回答 (2 件)

ES
ES 2017 年 3 月 14 日
Please check if you have used modal property in the dialog box?
%An example which blocks execution until the user responds:
uiwait(msgbox('String','Title','modal'));
  1 件のコメント
Walter Roberson
Walter Roberson 2017 年 3 月 14 日
It looks to me that they are using inputdlg(), which defaults to 'WindowStyle', 'modal'

サインインしてコメントする。


Image Analyst
Image Analyst 2017 年 3 月 14 日
Why not simply have 9 pushbuttons instead of a graph? It would be so much easier. When you press the button, simply change the String on the button from blank to X or O depending on whose turn it is.

カテゴリ

Help Center および File ExchangeStrategy & Logic についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by