1.4.0 #63
alexobviously
announced in
Announcements
1.4.0
#63
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
MoveGenerator
: optionally supply a list of these inVariant.moveGenerators
. These can be used to generate custom moves based on the state. You can generate both normal move types (e.g. add an extra move to a piece on a certain square or something), or totally different types of move that can be managed byMoveProcessor
.MoveProcessor
: supply a list of these inVariant.moveProcessors
to process custom move types.StateTransformer
: a way to transform game states based on player perspectives.Variant.stateTransformer
takes aStateTransformer
that defines how the state is transformed.BishopState.transform([int? player])
orBuiltVariant.transformState()
will return a transformed state (or the same state if there is no transformer). It's possible to define a transformer that takesplayer: null
and transforms the state regardless of player. This option exists for cases where you always want to transformVisionAreaStateTransformer
applies a mask to the board based on a vision radius around pieces.MaskedState
is a subclass ofBishopState
which contains the [mask] used to create it (for cases where e.g. you want to draw the mask on a board).HideFlagsStateTransformer
hides the flags for all of the player's or opponent's pieces, depending on configuration.state.meta!.checks!
. They come in the form of a list of squares containing pieces that are attacking the king of each player.Game.evaluate()
now takes pieces in hands into account.GatingMove
is its own type which contains a child move.SubtractRegion
,XorRegion
,SetRegion
andDirectionSetRegion
.Variant.regions
are now built into a more efficient form when the variant is built.BoardRegion
s can now be combined using the+
,-
,&
and^
operators.LargeVariants.tenCubed()
): 10x10 board with fairy pieces.LargeVariants.opulent()
): a variant of Grand.ShapeVariants.troitzky()
): vaguely circular shaped board.ShapeVariants.omega()
): experimental version - mostly working except for en-passant on long pawn moves.OtherGames.kono()
): win by moving all of your pieces to your opponent's start position.OtherGames.joust()
): the square a piece moves from is removed from the board each time it moves.FairyVariants.wolf()
): an 8x10 variant with several fairy pieces.MiscVariants.knightmate()
): royal knight instead of king, common kings instead of knights.MiscVariants.pocketKnight()
): chess but each player has an extra knight in hand.OtherGames.breakthrough()
): only (modified) pawns, move one to the end to win.FairyVariants.newZealand()
): rooks capture like knights, knights capture like rooks.FairyVariants.nightrider()
): knights are replaced with nightriders.CommonVariants.shatranj()
): an ancient form of chess.ActionFillRegionEnding
: the end condition for Kono.ActionBlockOrigin
: implements the behaviour for Joust.This discussion was created from the release 1.4.0.
Beta Was this translation helpful? Give feedback.
All reactions