From 462c1f8bf195a1e30b6c05be7a0ec60ee89d230c Mon Sep 17 00:00:00 2001 From: curly Date: Mon, 15 Aug 2022 15:49:56 -0600 Subject: half working --- src/tetris.rs | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'src/tetris.rs') diff --git a/src/tetris.rs b/src/tetris.rs index 9f9cda8..aa9b883 100644 --- a/src/tetris.rs +++ b/src/tetris.rs @@ -1,6 +1,4 @@ -mod piece; - -use piece::Piece; +pub mod piece; #[derive(Debug)] pub struct Tetris { @@ -18,11 +16,23 @@ impl Tetris { &self.grid } - // Set the grid, given a piece - pub fn set_grid(&mut self, piece: Piece) {} + // Set the grid at a Pos + pub fn set_grid(&mut self, pos: piece::Pos, value: i8) { + if self.get_grid_pos(pos) != value { + self.grid[pos.0 as usize][pos.1 as usize] = value + } + } // Check each row of the grid // If one is full, remove it and drop // the rest of the grid down pub fn check_lines() {} + + pub fn get_grid_pos(&self, pos: piece::Pos) -> i8 { + match self.grid.get(pos.0 as usize) { + None => return 0, + _ => return *self.grid.get(pos.0 as usize).unwrap() + .get(pos.1 as usize).unwrap_or(&0) + } + } } \ No newline at end of file -- cgit v1.2.3