Expand description
§Rust Warrior
A textual turn-based AI game for learning Rust, based on Ruby Warrior.
You will progress through levels controlling the
Warrior, by deciding which action
to take based on the surroundings. These decisions will be defined with
Rust code in the play_turn method of Player.
§A Note About Rust vs Ruby
There are some notable differences between this game and Ruby
Warrior. Since Ruby is an interpreted language, Ruby Warrior is played
by interacting with a player.rb script which controls the warrior.
The rubywarrior command then leverages the Ruby interpreter to run
that script. In the Rust version, you will generate a Rust project which
includes rust-warrior as a dependency in its Cargo.toml file. The
Game is then imported. To run it, you simply use
cargo run like in any other Rust project.
Re-exports§
pub use actions::Direction;pub use floor::Tile;pub use game::Game;pub use player::Player;pub use unit::UnitType;pub use warrior::Warrior;
Modules§
- actions
- actions the player can instruct the Warrior to take
- engine
- The game engine
- floor
- contains types that represent the topology of a level
- game
- where it all starts
- player
- contains the trait exposed to the player for controlling the Warrior
- profile
- contains the struct for saving player name and current level
- starter
- contains some methods for generating the game files
- ui
- contains some helper functions for prompting input from the player
- unit
- contains types that represent units that appear in the game
- warrior
- contains the interface exposed to the player for controlling the Warrior