O'Reilly logo

Game Programming using Qt 5 Beginner's Guide - Second Edition by Lorenz Haas, Witold Wysota, Pavel Strakhov

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Time for action – Making the chess game interactive

We have managed to display the chess board, but to actually play a game, we have to tell the program what moves we want to play. We can do that by adding the QLineEdit widget where we will input the move in algebraic form (for example, Nf3 to move a knight to f3), but a more natural way is to click on a piece with the mouse cursor (or tap it with a finger) and then click again on the destination field. To obtain such functionality, the first thing to do is to teach ChessView to detect mouse clicks. Therefore, add the following method:

QPoint ChessView::fieldAt(const QPoint &pt) const { if(!m_board) { return QPoint(); } const QSize fs = fieldSize(); int offset = fontMetrics().width('M') + ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required