public use for indices for the module :D

This commit is contained in:
LinlyBoi
2023-05-02 17:55:53 +03:00
parent 9deef3ba5b
commit 5bc294388f

View File

@@ -1,8 +1,10 @@
mod indices;
mod score_checkers; mod score_checkers;
#[cfg(test)] #[cfg(test)]
mod tests; mod tests;
use array2d::Array2D; use array2d::Array2D;
pub use indices::*;
use self::score_checkers::scan; use self::score_checkers::scan;
#[derive(Clone)] #[derive(Clone)]
@@ -41,6 +43,14 @@ impl Board {
fn score_check(&mut self, index: (usize, usize)) { fn score_check(&mut self, index: (usize, usize)) {
unimplemented!() unimplemented!()
} }
fn game_over(&self) -> bool {
self.columns
.as_row_major()
.iter()
.filter(|&d| matches!(d, &Disk::EMPTY))
.count()
== 0
}
} }
// pub fn get_indices( // pub fn get_indices(
// index: &(usize, usize), // index: &(usize, usize),
@@ -54,33 +64,6 @@ impl Board {
// indices // indices
// } // }
pub fn inc_row((row, col): &(usize, usize), value: usize) -> (usize, usize) {
(row + value as usize, *col)
}
pub fn inc_col((row, col): &(usize, usize), value: usize) -> (usize, usize) {
(*row, col + value as usize)
}
pub fn dec_row((row, col): &(usize, usize), value: usize) -> (usize, usize) {
(row - value as usize, *col)
}
pub fn dec_col((row, col): &(usize, usize), value: usize) -> (usize, usize) {
(*row, col - value as usize)
}
pub fn inc_both((row, col): &(usize, usize), value: usize) -> (usize, usize) {
(row + value, col + value)
}
pub fn dec_both((row, col): &(usize, usize), value: usize) -> (usize, usize) {
(row - value, col - value)
}
//TODO get better names for these
pub fn inc_dec((row, col): &(usize, usize), value: usize) -> (usize, usize) {
(row + value, col - value)
}
pub fn dec_inc((row, col): &(usize, usize), value: usize) -> (usize, usize) {
(row - value, col + value)
}
#[derive(Copy, Clone, Debug)] #[derive(Copy, Clone, Debug)]
pub enum Disk { pub enum Disk {
RED, RED,