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
Uh oh!
There was an error while loading. Please reload this page.
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.moveProcessorsto process custom move types.StateTransformer: a way to transform game states based on player perspectives.Variant.stateTransformertakes aStateTransformerthat 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: nulland transforms the state regardless of player. This option exists for cases where you always want to transformVisionAreaStateTransformerapplies a mask to the board based on a vision radius around pieces.MaskedStateis a subclass ofBishopStatewhich contains the [mask] used to create it (for cases where e.g. you want to draw the mask on a board).HideFlagsStateTransformerhides 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.GatingMoveis its own type which contains a child move.SubtractRegion,XorRegion,SetRegionandDirectionSetRegion.Variant.regionsare now built into a more efficient form when the variant is built.BoardRegions 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.
All reactions