[][src]Struct wordfeud_solver::Grid

pub struct Grid(_);

Wordfeud board grid, consisting of 15x15 (normal or bonus) squares.

A bonus square has a 2x or 3x letter bonus, or a 2x or 3x word bonus. The center square at (7,7) is the "start" square, and must be used in the first turn.

Implementations

impl Grid[src]

pub fn default() -> Grid[src]

Create default wordfeud grid

Example

let grid = Grid::default();
println!("{}", grid);

pub fn to_strings(&self) -> Vec<String>[src]

Get board cells as a vec of 15 strings

pub fn from_strings<S: AsRef<str>>(grid: &[S]) -> Result<Grid, Error>[src]

Create a Grid from strings Parameter grid must have 15 rows, each row consisting of 15 elements joined by spaces.

Errors

If grid has wrong dimensions, or elements can not be parsed as a Cell.

Examples

let grid_strings = &[
"3l -- -- -- 3w -- -- 2l -- -- 3w -- -- -- 3l",
"-- 2l -- -- -- 3l -- -- -- 3l -- -- -- 2l --",
"-- -- 2w -- -- -- 2l -- 2l -- -- -- 2w -- --",
"-- -- -- 3l -- -- -- 2w -- -- -- 3l -- -- --",
"3w -- -- -- 2w -- 2l -- 2l -- 2w -- -- -- 3w",
"-- 3l -- -- -- 3l -- -- -- 3l -- -- -- 3l --",
"-- -- 2l -- 2l -- -- -- -- -- 2l -- 2l -- --",
"2l -- -- 2w -- -- -- ss -- -- -- 2w -- -- 2l",
"-- -- 2l -- 2l -- -- -- -- -- 2l -- 2l -- --",
"-- 3l -- -- -- 3l -- -- -- 3l -- -- -- 3l --",
"3w -- -- -- 2w -- 2l -- 2l -- 2w -- -- -- 3w",
"-- -- -- 3l -- -- -- 2w -- -- -- 3l -- -- --",
"-- -- 2w -- -- -- 2l -- 2l -- -- -- 2w -- --",
"-- 2l -- -- -- 3l -- -- -- 3l -- -- -- 2l --",
"3l -- -- -- 3w -- -- 2l -- -- 3w -- -- -- 3l",   
];
let grid =  Grid::from_strings(grid_strings)?;
assert_eq!(grid.len(), 15);
assert_eq!(grid[0].len(), 15);

Trait Implementations

impl Clone for Grid[src]

impl Debug for Grid[src]

impl Deref for Grid[src]

type Target = [[Cell; 15]; 15]

The resulting type after dereferencing.

impl DerefMut for Grid[src]

impl Display for Grid[src]

impl PartialEq<Grid> for Grid[src]

impl StructuralPartialEq for Grid[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,