From b137e6ceab0bcfa6dcb65f09a5acf4f4f47962b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Varga=20D=C3=A1vid=20Lajos?= Date: Fri, 21 Nov 2025 13:01:38 +0100 Subject: [PATCH] implemented constructor by piece_index for enum PieceType --- engine/src/piecetype.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/engine/src/piecetype.rs b/engine/src/piecetype.rs index b79d341..550fac0 100644 --- a/engine/src/piecetype.rs +++ b/engine/src/piecetype.rs @@ -16,3 +16,23 @@ pub enum PieceType { BlackKing, } +impl PieceType { + + pub(in super) fn from_index(idx: u8) -> Self { + return match idx { + 0 => PieceType::WhitePawn, + 1 => PieceType::WhiteKnight, + 2 => PieceType::WhiteBishop, + 3 => PieceType::WhiteRook, + 4 => PieceType::WhiteQueen, + 5 => PieceType::WhiteKing, + 6 => PieceType::BlackPawn, + 7 => PieceType::BlackKnight, + 8 => PieceType::BlackBishop, + 9 => PieceType::BlackRook, + 10 => PieceType::BlackQueen, + 11 => PieceType::BlackKing, + _ => panic!("invalid piece index! should NEVER appear") + } + } +} \ No newline at end of file