Enum tfe::Direction[][src]

pub enum Direction {
    Left,
    Right,
    Up,
    Down,
}

Enum that stores all available directions. This enum also provides some basic functions to allow a game to be using random moves.

Variants

Methods

impl Direction
[src]

Returns a random Direction.

Examples

use tfe::Direction;

let direction = Direction::sample();
// => Direction::Left

Important traits for Vec<u8>

Returns a Vec<Direction> excluding dirs: &Vec<Direction>.

Examples

use tfe::Direction;

let available = Direction::without(&vec![Direction::Left, Direction::Right]);

assert_eq!(available, vec![Direction::Up, Direction::Down]);

Like tfe::Direction::sample but combined with tfe::Direction::without. Returns a Direction after excluding dirs: &Vec<Direction>.

Examples

use tfe::Direction;

let direction = Direction::sample_without(&vec![Direction::Left, Direction::Right]);
assert!(vec![Direction::Up, Direction::Down].contains(&direction));

let up = Direction::sample_without(&vec![Direction::Down, Direction::Left, Direction::Right]);
assert_eq!(Direction::Up, up);

Trait Implementations

impl Clone for Direction
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl PartialEq for Direction
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Debug for Direction
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl Send for Direction

impl Sync for Direction