Study Material
All the study material to support theory as well as the labs is collected here.
Project progress
Allowed grouping PDF You can freely choose your partner, with the restriction that it depends on your results for “Introduction to Programming”. A list of the allowed groups will be published here during the first week.
Program code
References to some resources.
- The Google test framework on the GitHub repository of googletest
- The test framework must also be compiled. This is done through
cmake. Instructions can be found at GoogleTest Readme.md - Design by contract DesignByContract.h (A minimalist version with
REQUIREandENSUREmacros that – if the condition is not met – immediately stop the program with a simple message). - Loading TicTacToe in CLion
- A documentation generator DoxyGen
- Using 3D engines with Qt C++ (Qt)
All sample code (both for theory and labs) can be found below.
- TicTacToe version 1.0 [zip] (“simplest that could possibly work” with unit tests and a counter that counts to 9)
- TicTacToe version 1.1 [zip] (Basic version with game board filled alternately with X and O).
- TicTacToe version 1.2 [zip] (Version with contracts and a first demonstration)
- TicTacToe version 1.3 [zip] (Version where the “magic numbers” are replaced by
constants) - TicTacToe version 1.4 [zip] (Version where output is generated on a file; also
testswithCompareFiles) - TicTacToe version 1.5 [zip] (Version where a player is split off as a separate class)
- TicTacToe version 1.6 [zip] (Version where players are assigned a series of moves)
- TicTacToe version 1.7 [zip] (Version in which the winner’s information is tracked and calculated)
- TicTacToe version 1.8 [zip] (Version in which the interface of the game board is adjusted (reset) for easier testing + customization scenarios)
- TicTacToe version 1.9 [zip] (Version with early architecture: file manipulations are split off in TicTacToeUtils and the tests are split into DomainTests (for the domain layer) and OutputTests (for the output))
- TicTacToe version 2.0 [zip] (Version with an
XMLImporter that usesTinyXMLto readXMLfiles and populate a TicTacToeGame. Therefore, separate InputTests that process a series of XML files; some of them have errors and then the error messages are verified.) - TicTacToe version 2.1 [zip] (Version with an exporter that exports a TicTacToe Game in various formats (
ASCII,HTML). Therefore, separate OutputTests .) - TicTacToe version 2.1 [GitHub] (Same version 2.1, but now published on GitHub. You can fork this project and work on it like that]