So suppose I’m developing a chess-like program using Java’s Swing. I added a MouseListener to handle user input. To make a move the user must click a valid piece and then click a valid place. What’s the best way to track the 2 mouse clicks in a turn? I’m thinking in use some kind of variable to record if is the turn’s first click or second.
So suppose I’m developing a chess-like program using Java’s Swing. I added a MouseListener
Share
You have to distinguish the two game states, using a variable is fine.. you can also think something as suggested by NomeN comment and use two different listeners by swapping them.
Your case is quite simple but in general the formalism you use to handle these things is a sort of finite state machine that describes the states of your game and how to pass from one to another.
In this case you can have some states like:
and you decide how and when to pass from a state to another, for example
This is just to give you an idea, so for example your
MouseListenercould care about states: