Я пишу карточную игру. Сейчас у меня проблемы с мышью. Ниже приведен таймер, который управляет ходом игры при рисовании и сбросе карт.
final Timer timer = new Timer(1000, null);
timer.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
b.players[p].drawCard();
if(p==0) // player zero is the human player
{
timer.stop();
// ...
b.players[p].discardCard(i);
timer.start();
}
else
b.players[p].discardCard(0);
p=(p+1)%4;
b.repaint();
}
});
Дело в том, что я хочу остановить таймер, подождать, пока пользователь не щелкнет карту, которую он хочет сбросить, и снова запустить таймер. b
реализует MouseListener
базовым способом:
public void mouseClicked(MouseEvent arg0)
{
clickX = arg0.getX();
clickY = arg0.getY();
}
Где-то там также есть метод xYtoCardIndex()
.
Что мне здесь делать? Я предполагаю, что ничего не должен делать неблокирующим образом, верно?