Struct CurrentPiece

Source
pub struct CurrentPiece {
    pub piece: Piece,
    pub x: i32,
    pub y: i32,
}
Expand description

The current piece in the game, that is, a piece that is currently being moved by the player and has not been committed to the board yet.

Fields§

§piece: Piece§x: i32§y: i32

Implementations§

Source§

impl CurrentPiece

Source

pub fn collides(&self, board: &Board, x: i32, y: i32) -> bool

Detects if the position of the piece collides with existing squares on the board.

The piece cannot intersect with the walls or the bottom of the board, and it cannot intersect with existing squares on the board.

Source

pub fn rotate_right(&mut self, board: &Board) -> bool

Rotate this current piece right Returns true if the rotation was successful, false if it was not.

Source

pub fn move_left(&mut self, board: &Board) -> bool

Move this current piece to the left Returns true if the move was successful, false if it was not.

Source

pub fn move_right(&mut self, board: &Board) -> bool

Move this current piece to the right Returns true if the move was successful, false if it was not.

Source

pub fn move_down(&mut self, board: &Board) -> bool

Move this current piece down Returns true if the move was successful, false if it was not.

Trait Implementations§

Source§

impl Clone for CurrentPiece

Source§

fn clone(&self) -> CurrentPiece

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CurrentPiece

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

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

Source§

fn vzip(self) -> V