pub struct Evasions;Trait Implementations§
Source§impl GenerateStrategy for Evasions
impl GenerateStrategy for Evasions
type Environment = ()
type AppendStrategy = ForcePromotions
Source§fn generate_piece(
teban: Teban,
state: &State,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_piece( teban: Teban, state: &State, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
盤面上の駒の指し手を生成する Read more
Source§fn generate_drop(
teban: Teban,
state: &State,
mc: &MochigomaCollections,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_drop( teban: Teban, state: &State, mc: &MochigomaCollections, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
持ち駒を置く指し手を生成する Read more
Source§fn generate_fu<'a, B>(
teban: Teban,
state: &State,
move_builder: &B,
_: &mut Self::Environment,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_fu<'a, B>( teban: Teban, state: &State, move_builder: &B, _: &mut Self::Environment, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
歩を移動する指し手を生成する Read more
Source§fn generate_kyou<'a, B>(
teban: Teban,
state: &State,
move_builder: &B,
_: &mut Self::Environment,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_kyou<'a, B>( teban: Teban, state: &State, move_builder: &B, _: &mut Self::Environment, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
香車を移動する指し手を生成する Read more
Source§fn generate_kei<'a, B>(
teban: Teban,
state: &State,
move_builder: &B,
_: &mut Self::Environment,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_kei<'a, B>( teban: Teban, state: &State, move_builder: &B, _: &mut Self::Environment, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
桂馬を移動する指し手を生成する Read more
Source§fn generate_gin<'a, B>(
teban: Teban,
state: &State,
move_builder: &B,
_: &mut Self::Environment,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_gin<'a, B>( teban: Teban, state: &State, move_builder: &B, _: &mut Self::Environment, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
銀を移動する指し手を生成する Read more
Source§fn generate_kin<'a, B>(
teban: Teban,
state: &State,
move_builder: &B,
_: &mut Self::Environment,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_kin<'a, B>( teban: Teban, state: &State, move_builder: &B, _: &mut Self::Environment, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
金を移動する指し手を生成する Read more
Source§fn generate_kaku<'a, B>(
teban: Teban,
state: &State,
move_builder: &B,
_: &mut Self::Environment,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_kaku<'a, B>( teban: Teban, state: &State, move_builder: &B, _: &mut Self::Environment, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
角を移動する指し手を生成する Read more
Source§fn generate_hisha<'a, B>(
teban: Teban,
state: &State,
move_builder: &B,
_: &mut Self::Environment,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_hisha<'a, B>( teban: Teban, state: &State, move_builder: &B, _: &mut Self::Environment, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
飛車を移動する指し手を生成する Read more
Source§fn generate_ou<'a, B>(
teban: Teban,
state: &State,
move_builder: &B,
_: &mut Self::Environment,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_ou<'a, B>( teban: Teban, state: &State, move_builder: &B, _: &mut Self::Environment, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
王を移動する指し手を生成する Read more
Source§fn generate_drop_fu(
teban: Teban,
state: &State,
count: usize,
_: &mut Self::Environment,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_drop_fu( teban: Teban, state: &State, count: usize, _: &mut Self::Environment, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
歩を置く指し手を生成する Read more
Source§fn generate_drop_kyou(
teban: Teban,
state: &State,
count: usize,
_: &mut Self::Environment,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_drop_kyou( teban: Teban, state: &State, count: usize, _: &mut Self::Environment, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
香車を置く指し手を生成する Read more
Source§fn generate_drop_kei(
teban: Teban,
state: &State,
count: usize,
_: &mut Self::Environment,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_drop_kei( teban: Teban, state: &State, count: usize, _: &mut Self::Environment, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
桂馬を置く指し手を生成する Read more
Source§fn generate_drop_common(
teban: Teban,
state: &State,
m: MochigomaKind,
count: usize,
shared_candidatebits: &mut BitBoard,
_: &mut Self::Environment,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_drop_common( teban: Teban, state: &State, m: MochigomaKind, count: usize, shared_candidatebits: &mut BitBoard, _: &mut Self::Environment, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
銀、金、角、飛を置く手の共通実装を定義する Read more
Source§fn generate_drop_gin(
teban: Teban,
state: &State,
count: usize,
shared_candidatebits: &mut BitBoard,
env: &mut Self::Environment,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_drop_gin( teban: Teban, state: &State, count: usize, shared_candidatebits: &mut BitBoard, env: &mut Self::Environment, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
銀を置く手を生成する Read more
Source§fn generate_drop_kin(
teban: Teban,
state: &State,
count: usize,
shared_candidatebits: &mut BitBoard,
env: &mut Self::Environment,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_drop_kin( teban: Teban, state: &State, count: usize, shared_candidatebits: &mut BitBoard, env: &mut Self::Environment, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
金を置く手を生成する Read more
Source§fn generate_drop_kaku(
teban: Teban,
state: &State,
count: usize,
shared_candidatebits: &mut BitBoard,
env: &mut Self::Environment,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_drop_kaku( teban: Teban, state: &State, count: usize, shared_candidatebits: &mut BitBoard, env: &mut Self::Environment, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
角を置く手を生成する Read more
Source§fn generate_drop_hisha(
teban: Teban,
state: &State,
count: usize,
shared_candidatebits: &mut BitBoard,
env: &mut Self::Environment,
mvs: &mut impl MovePicker<LegalMove>,
) -> Result<(), LimitSizeError>
fn generate_drop_hisha( teban: Teban, state: &State, count: usize, shared_candidatebits: &mut BitBoard, env: &mut Self::Environment, mvs: &mut impl MovePicker<LegalMove>, ) -> Result<(), LimitSizeError>
飛車を置く手の共通実装を生成する Read more
Auto Trait Implementations§
impl Freeze for Evasions
impl RefUnwindSafe for Evasions
impl Send for Evasions
impl Sync for Evasions
impl Unpin for Evasions
impl UnsafeUnpin for Evasions
impl UnwindSafe for Evasions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more