Skip to content
🎮 Simple bot racer game developed for the advanced object oriented programming course @ TU Vienna
Eiffel
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
Assignment.pdf
README.md
a.e
algorithm.e
algorithm_dfs.e
algorithm_random.e
algorithm_turn_left.e
algorithm_turn_right.e
application.e
b.e
botmemory.e
empty_tile.e
exit_tile.e
foop2.ecf
foop2.rc
game_state.e
gameboard.e
mark.e
mark_algo_dfs.e
mark_algo_left.e
mark_algo_random.e
mark_algo_right.e
mark_clear_memory.e
mark_move_away.e
mark_stay_in_area.e
mark_turn_left.e
mark_turn_right.e
player.e
specialmark.e
specialmark_default.e
specialmark_moveaway.e
specialmark_stayinarea.e
specialmark_turn_right.e
specialmark_turnleft.e
step.e
terminal.e
tile.e
ui.e
wall_tile.e

README.md

Third Assignment

Bot Racer – Game in Eiffel

Learn Eiffel and implement a further game in Eiffel. The gameshall 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 maybe 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 is the run-time penalty of assertion checking? How is it possible to specify in a subtype preconditions thatare (in some sense) stronger than in the supertype?

  • How isit possible to specify in a subtype postconditions that are (insome 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 wouldyou rather avoid to use?

You can’t perform that action at this time.