Current section

Files

Jump to
gchess src move.gleam
Raw

src/move.gleam

import gleam/option.{type Option}
import piece.{type Piece}
import position.{type Position}
pub type Move {
Normal(from: Position, to: Position, promotion: Option(Piece))
Castle(from: Position, to: Position)
EnPassant(from: Position, to: Position)
}
pub type MoveWithCapture {
MoveWithCapture(move: Move, captured_piece: Option(Piece))
}