Struct shogi::square::Square [] [src]

pub struct Square { /* fields omitted */ }

Represents a position of each cell in the game board.

Examples

use shogi::Square;

let sq = Square::new(4, 4).unwrap();
assert_eq!("5e", sq.to_string());

Square can be created by parsing a SFEN formatted string as well.

use shogi::Square;

let sq = Square::from_sfen("5e").unwrap();
assert_eq!(4, sq.file());
assert_eq!(4, sq.rank());

Methods

impl Square
[src]

Creates a new instance of Square.

file can take a value from 0('1') to 8('9'), while rank is from 0('a') to 9('i').

Creates a new instance of Square from SFEN formatted string.

Returns a file of the square.

Returns a rank of the square.

Returns a new Square instance by moving the file and the rank values.

Examples

use shogi::square::consts::*;

let sq = SQ_2B;
let shifted = sq.shift(2, 3).unwrap();

assert_eq!(3, shifted.file());
assert_eq!(4, shifted.rank());

Returns a relative rank as if the specified color is black.

Examples

use shogi::Color;
use shogi::square::consts::*;

let sq = SQ_1G;

assert_eq!(6, sq.relative_rank(Color::Black));
assert_eq!(2, sq.relative_rank(Color::White));

Tests if the square is in a promotion zone.

Trait Implementations

impl Debug for Square
[src]

Formats the value using the given formatter.

impl PartialEq for Square
[src]

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

This method tests for !=.

impl Eq for Square
[src]

impl Clone for Square
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Copy for Square
[src]

impl Hash for Square
[src]

Feeds this value into the state given, updating the hasher as necessary.

Feeds a slice of this type into the state provided.

impl Display for Square
[src]

Formats the value using the given formatter.