aboutsummaryrefslogtreecommitdiff
path: root/src/board
diff options
context:
space:
mode:
authoreug-vs <eugene@eug-vs.xyz>2023-02-26 23:26:51 +0300
committereug-vs <eugene@eug-vs.xyz>2023-02-26 23:27:20 +0300
commit8e7ac2814c4a92eba79f9c626ad14ac0b7bfef3f (patch)
treeda30e36423d5b1aa4aaaa2666b985e9674680850 /src/board
parent54e72754d0fae2b2768b66c39c72e9afaba0cba8 (diff)
downloadchessnost-8e7ac2814c4a92eba79f9c626ad14ac0b7bfef3f.tar.gz
feat: add clock and time management to UCI
Diffstat (limited to 'src/board')
-rw-r--r--src/board/io.rs3
-rw-r--r--src/board/mod.rs4
2 files changed, 5 insertions, 2 deletions
diff --git a/src/board/io.rs b/src/board/io.rs
index 67aa096..d27b856 100644
--- a/src/board/io.rs
+++ b/src/board/io.rs
@@ -1,4 +1,4 @@
-use crate::{bitboard::Bitboard, attacks::Attacks, moves::Move};
+use crate::{bitboard::Bitboard, attacks::Attacks, moves::Move, clock::Clock};
use super::{Board, Piece, zobrist::Zobrist};
const PIECE_CHARS: [&str; 12] = [
@@ -96,6 +96,7 @@ impl IO for Board {
attacks: Attacks::new(),
castling_rights: [[true; 2]; 2], // TODO: actualy parse from FEN
ep_target: None, // TODO: parse from FEN
+ clock: Clock::default(),
hash: 0,
zobrist_seed: Board::seed(),
};
diff --git a/src/board/mod.rs b/src/board/mod.rs
index 6fb8b93..95d470a 100644
--- a/src/board/mod.rs
+++ b/src/board/mod.rs
@@ -1,4 +1,4 @@
-use crate::{bitboard::{Bitboard, BitboardFns}, moves::{Move, MoveKind}, attacks::Attacks, square::Square, board::io::IO};
+use crate::{bitboard::{Bitboard, BitboardFns}, moves::{Move, MoveKind}, attacks::Attacks, square::Square, board::io::IO, clock::Clock};
use self::{zobrist::{ZobristSeed, Zobrist}, piece::Piece, color::Color};
pub mod io;
@@ -24,6 +24,8 @@ pub struct Board {
/// En passsant target square
pub ep_target: Option<Square>,
+ pub clock: Clock,
+
// Computed values
pub occupancy: Bitboard,
/// Zobrist hash of the current position