Fortgeschrittene objektorientierte Programmierung
LVA 185.211, VU, 3 ECTS, 2017 S
Third Assignment
Game in Eiffel
Learn Eiffel and implement a further snake game in Eiffel.
The game shall resemble that of the
second assignment, this is, the game need not be network-based, and several players shall be able to play on the same computer using the same keyboard simultaneously.
It is recommended to use
EiffelStudio, an IDE based on Eiffel.
Be careful to download the open-source version, not the commercial one.
Each team member shall work on this assignment to get his/her own Eiffel experience.
There is support for windows with graphical content, but it may be difficult to find appropriate libraries and documentation.
As an alternative you can write the game such that it is based only on text output.
Please try out the specific features of Eiffel to answer the following questions:
- How much work is it to specify useful assertions in Eiffel?
- How important ist the run-time penalty of assertion checking?
- How is it possible to specify in a subtype preconditions that are (in some sense) stronger than in the supertype?
How is it possible to specify in a subtype postconditions that are (in some sense) weaker than in the supertype?
(Yes, it is possible, although not obvious.)
- Eiffel supports covariant input parameters.
What are the advantages and disadvantages of this feature in practical programming?
- Which features of Eiffel would you like to see also in your favorite programming language?
Which features of Eiffel would you rather avoid to use?