Main abstraction of the engine is trait Object
.
Each object can be drawn on screen and handles some interactions.
Currently added types that implement Object
are:
Food
Weapon
Enemy
Player
Door
Main container for game objects is struct Level
.
Player selects the target from level's content and issues an action, that Level::handle()
handles.
Struct Game
holds reference to the player. It is responsible for running the loop and parsing input.
To build the project, aswell as docs, you need rust compiler rustc
and cargo
. They are both packaged in rust's build system rustup
.
Installation guide: https://doc.rust-lang.org/cargo/getting-started/installation.html
Alternatively, install it using your distribution's package manager.
For Arch Linux:
[refresh the database and install rustup]
# pacman -Sy rustup
[to install default toolchain and setup compiler]
$ rustup default stable
In order to build and run the engine, simply type cargo run
in the root diectory of the project.
For more information, check out the docs. They can be viewed directly from the code, or built using cargo.
To open docs in your browser use:
$ cargo doc --no-deps --open
Or if you want to see private properties aswell:
$ cargo doc --no-deps --open --document-private-items
This project was made by Dominik Muc, student at University of Wrocław.
My index is 345952. Email: 345952 [at] uwr.edu.pl
For copyright notice, check LICENSE at the root of project's directory.