@gamepark/its-a-wonderful-world 3.0.12 → 3.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/GameState.d.ts +13 -14
- package/dist/GameState.js +1 -2
- package/dist/GameView.d.ts +11 -12
- package/dist/GameView.js +1 -2
- package/dist/ItsAWonderfulWorld.d.ts +59 -0
- package/dist/ItsAWonderfulWorld.js +488 -0
- package/dist/ItsAWonderfulWorldOptions.js +2 -2
- package/dist/ItsAWonderfulWorldOptions.js.map +1 -1
- package/dist/ItsAWonderfulWorldRules.d.ts.map +1 -1
- package/dist/ItsAWonderfulWorldRules.js.map +1 -1
- package/dist/Options.d.ts +15 -15
- package/dist/Options.js +76 -77
- package/dist/Phase.d.ts +6 -7
- package/dist/Phase.js +7 -8
- package/dist/Player.d.ts +24 -25
- package/dist/Player.js +1 -2
- package/dist/PlayerView.d.ts +7 -8
- package/dist/PlayerView.js +1 -2
- package/dist/Production.d.ts.map +1 -1
- package/dist/Production.js.map +1 -1
- package/dist/Scoring.d.ts.map +1 -1
- package/dist/Scoring.js +9 -12
- package/dist/Scoring.js.map +1 -1
- package/dist/canUndo.d.ts +9 -10
- package/dist/canUndo.js +57 -71
- package/dist/material/Character.d.ts +1 -1
- package/dist/material/Character.d.ts.map +1 -1
- package/dist/material/Character.js.map +1 -1
- package/dist/material/Construction.d.ts +7 -7
- package/dist/material/Construction.js +1 -2
- package/dist/material/DevelopmentDetails.d.ts +2 -2
- package/dist/material/DevelopmentDetails.d.ts.map +1 -1
- package/dist/material/Empire.d.ts +11 -12
- package/dist/material/Empire.js +1 -2
- package/dist/material/EmpireDetails.d.ts +2 -2
- package/dist/material/EmpireDetails.d.ts.map +1 -1
- package/dist/material/EmpireName.d.ts +11 -12
- package/dist/material/EmpireName.js +13 -14
- package/dist/material/Resource.d.ts +1 -1
- package/dist/material/Resource.d.ts.map +1 -1
- package/dist/material/Resource.js.map +1 -1
- package/dist/moves/ChooseDevelopmentCard.d.ts +18 -19
- package/dist/moves/ChooseDevelopmentCard.js +35 -36
- package/dist/moves/CompleteConstruction.d.ts +14 -15
- package/dist/moves/CompleteConstruction.js +21 -22
- package/dist/moves/Concede.d.ts +10 -11
- package/dist/moves/Concede.js +12 -13
- package/dist/moves/DealDevelopmentCards.d.ts +16 -17
- package/dist/moves/DealDevelopmentCards.js +86 -87
- package/dist/moves/DiscardLeftoverCards.d.ts +15 -16
- package/dist/moves/DiscardLeftoverCards.js +23 -24
- package/dist/moves/Move.d.ts +18 -19
- package/dist/moves/Move.js +1 -2
- package/dist/moves/MoveType.d.ts +19 -20
- package/dist/moves/MoveType.js +20 -21
- package/dist/moves/MoveView.d.ts +8 -9
- package/dist/moves/MoveView.js +1 -2
- package/dist/moves/PassCards.d.ts +19 -20
- package/dist/moves/PassCards.js +41 -42
- package/dist/moves/PlaceCharacter.d.ts +17 -18
- package/dist/moves/PlaceCharacter.js +14 -15
- package/dist/moves/PlaceResource.d.ts +26 -27
- package/dist/moves/PlaceResource.js +44 -45
- package/dist/moves/Produce.d.ts +13 -14
- package/dist/moves/Produce.js +56 -57
- package/dist/moves/ReceiveCharacter.d.ts +15 -16
- package/dist/moves/ReceiveCharacter.js +19 -20
- package/dist/moves/Recycle.d.ts +14 -15
- package/dist/moves/Recycle.js +24 -25
- package/dist/moves/RevealChosenCards.d.ts +23 -24
- package/dist/moves/RevealChosenCards.js +51 -52
- package/dist/moves/SlateForConstruction.d.ts +14 -15
- package/dist/moves/SlateForConstruction.js +16 -17
- package/dist/moves/StartPhase.d.ts +11 -12
- package/dist/moves/StartPhase.js +15 -16
- package/dist/moves/TellYouAreReady.d.ts +13 -14
- package/dist/moves/TellYouAreReady.js +13 -14
- package/dist/moves/TransformIntoKrystallium.d.ts +10 -11
- package/dist/moves/TransformIntoKrystallium.js +14 -15
- package/dist/rules/ChooseDevelopmentCardRule.d.ts.map +1 -1
- package/dist/rules/ChooseDevelopmentCardRule.js +1 -3
- package/dist/rules/ChooseDevelopmentCardRule.js.map +1 -1
- package/dist/rules/ConstructionRule.d.ts.map +1 -1
- package/dist/rules/ConstructionRule.js +6 -6
- package/dist/rules/ConstructionRule.js.map +1 -1
- package/dist/rules/ExplorationProductionRule.d.ts.map +1 -1
- package/dist/rules/ExplorationProductionRule.js.map +1 -1
- package/dist/typeguards.d.ts +7 -8
- package/dist/typeguards.js +9 -10
- package/package.json +13 -12
- package/LICENCE.md +0 -108
- package/dist/GameState.d.ts.map +0 -1
- package/dist/GameState.js.map +0 -1
- package/dist/GameView.d.ts.map +0 -1
- package/dist/GameView.js.map +0 -1
- package/dist/Options.d.ts.map +0 -1
- package/dist/Options.js.map +0 -1
- package/dist/Phase.d.ts.map +0 -1
- package/dist/Phase.js.map +0 -1
- package/dist/Player.d.ts.map +0 -1
- package/dist/Player.js.map +0 -1
- package/dist/PlayerView.d.ts.map +0 -1
- package/dist/PlayerView.js.map +0 -1
- package/dist/canUndo.d.ts.map +0 -1
- package/dist/canUndo.js.map +0 -1
- package/dist/material/Construction.d.ts.map +0 -1
- package/dist/material/Construction.js.map +0 -1
- package/dist/material/CorruptionAndAscensionDevelopments.d.ts +0 -15
- package/dist/material/CorruptionAndAscensionDevelopments.d.ts.map +0 -1
- package/dist/material/CorruptionAndAscensionDevelopments.js +0 -84
- package/dist/material/CorruptionAndAscensionDevelopments.js.map +0 -1
- package/dist/material/Empire.d.ts.map +0 -1
- package/dist/material/Empire.js.map +0 -1
- package/dist/material/EmpireName.d.ts.map +0 -1
- package/dist/material/EmpireName.js.map +0 -1
- package/dist/moves/ChooseDevelopmentCard.d.ts.map +0 -1
- package/dist/moves/ChooseDevelopmentCard.js.map +0 -1
- package/dist/moves/CompleteConstruction.d.ts.map +0 -1
- package/dist/moves/CompleteConstruction.js.map +0 -1
- package/dist/moves/Concede.d.ts.map +0 -1
- package/dist/moves/Concede.js.map +0 -1
- package/dist/moves/DealDevelopmentCards.d.ts.map +0 -1
- package/dist/moves/DealDevelopmentCards.js.map +0 -1
- package/dist/moves/DiscardLeftoverCards.d.ts.map +0 -1
- package/dist/moves/DiscardLeftoverCards.js.map +0 -1
- package/dist/moves/Move.d.ts.map +0 -1
- package/dist/moves/Move.js.map +0 -1
- package/dist/moves/MoveType.d.ts.map +0 -1
- package/dist/moves/MoveType.js.map +0 -1
- package/dist/moves/MoveView.d.ts.map +0 -1
- package/dist/moves/MoveView.js.map +0 -1
- package/dist/moves/PassCards.d.ts.map +0 -1
- package/dist/moves/PassCards.js.map +0 -1
- package/dist/moves/PlaceCharacter.d.ts.map +0 -1
- package/dist/moves/PlaceCharacter.js.map +0 -1
- package/dist/moves/PlaceResource.d.ts.map +0 -1
- package/dist/moves/PlaceResource.js.map +0 -1
- package/dist/moves/Produce.d.ts.map +0 -1
- package/dist/moves/Produce.js.map +0 -1
- package/dist/moves/ReceiveCharacter.d.ts.map +0 -1
- package/dist/moves/ReceiveCharacter.js.map +0 -1
- package/dist/moves/Recycle.d.ts.map +0 -1
- package/dist/moves/Recycle.js.map +0 -1
- package/dist/moves/RevealChosenCards.d.ts.map +0 -1
- package/dist/moves/RevealChosenCards.js.map +0 -1
- package/dist/moves/SlateForConstruction.d.ts.map +0 -1
- package/dist/moves/SlateForConstruction.js.map +0 -1
- package/dist/moves/StartPhase.d.ts.map +0 -1
- package/dist/moves/StartPhase.js.map +0 -1
- package/dist/moves/TellYouAreReady.d.ts.map +0 -1
- package/dist/moves/TellYouAreReady.js.map +0 -1
- package/dist/moves/TransformIntoKrystallium.d.ts.map +0 -1
- package/dist/moves/TransformIntoKrystallium.js.map +0 -1
- package/dist/typeguards.d.ts.map +0 -1
- package/dist/typeguards.js.map +0 -1
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ComboVictoryPoints } from '../Scoring';
|
|
3
|
-
import
|
|
4
|
-
type Empire = {
|
|
5
|
-
[key in EmpireSide]: {
|
|
6
|
-
victoryPoints?: ComboVictoryPoints;
|
|
7
|
-
production: Production;
|
|
8
|
-
krystallium?: number;
|
|
9
|
-
};
|
|
10
|
-
};
|
|
11
|
-
export default Empire;
|
|
12
|
-
//# sourceMappingURL=Empire.d.ts.map
|
|
1
|
+
import Production from '../Production';
|
|
2
|
+
import { ComboVictoryPoints } from '../Scoring';
|
|
3
|
+
import EmpireSide from './EmpireSide';
|
|
4
|
+
type Empire = {
|
|
5
|
+
[key in EmpireSide]: {
|
|
6
|
+
victoryPoints?: ComboVictoryPoints;
|
|
7
|
+
production: Production;
|
|
8
|
+
krystallium?: number;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export default Empire;
|
package/dist/material/Empire.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=Empire.js.map
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Production } from '../Production';
|
|
2
|
-
import { ComboVictoryPoints } from '../Scoring';
|
|
1
|
+
import type { Production } from '../Production';
|
|
2
|
+
import type { ComboVictoryPoints } from '../Scoring';
|
|
3
3
|
import { EmpireSide } from './EmpireSide';
|
|
4
4
|
export type EmpireDetails = {
|
|
5
5
|
[key in EmpireSide]: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmpireDetails.d.ts","sourceRoot":"","sources":["../../src/material/EmpireDetails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"EmpireDetails.d.ts","sourceRoot":"","sources":["../../src/material/EmpireDetails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,MAAM,aAAa,GAAG;KACzB,GAAG,IAAI,UAAU,GAAG;QACnB,aAAa,CAAC,EAAE,kBAAkB,CAAA;QAClC,UAAU,EAAE,UAAU,CAAA;QACtB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB;CACF,CAAA"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
declare enum EmpireName {
|
|
2
|
-
AztecEmpire = 1,
|
|
3
|
-
FederationOfAsia = 2,
|
|
4
|
-
NoramStates = 3,
|
|
5
|
-
PanafricanUnion = 4,
|
|
6
|
-
RepublicOfEurope = 5,
|
|
7
|
-
NationsOfOceania = 6,
|
|
8
|
-
NorthHegemony = 7
|
|
9
|
-
}
|
|
10
|
-
export default EmpireName;
|
|
11
|
-
export declare const empireNames: EmpireName[];
|
|
12
|
-
//# sourceMappingURL=EmpireName.d.ts.map
|
|
1
|
+
declare enum EmpireName {
|
|
2
|
+
AztecEmpire = 1,
|
|
3
|
+
FederationOfAsia = 2,
|
|
4
|
+
NoramStates = 3,
|
|
5
|
+
PanafricanUnion = 4,
|
|
6
|
+
RepublicOfEurope = 5,
|
|
7
|
+
NationsOfOceania = 6,
|
|
8
|
+
NorthHegemony = 7
|
|
9
|
+
}
|
|
10
|
+
export default EmpireName;
|
|
11
|
+
export declare const empireNames: EmpireName[];
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { isEnumValue } from '@gamepark/rules-api';
|
|
2
|
-
var EmpireName;
|
|
3
|
-
(function (EmpireName) {
|
|
4
|
-
EmpireName[EmpireName["AztecEmpire"] = 1] = "AztecEmpire";
|
|
5
|
-
EmpireName[EmpireName["FederationOfAsia"] = 2] = "FederationOfAsia";
|
|
6
|
-
EmpireName[EmpireName["NoramStates"] = 3] = "NoramStates";
|
|
7
|
-
EmpireName[EmpireName["PanafricanUnion"] = 4] = "PanafricanUnion";
|
|
8
|
-
EmpireName[EmpireName["RepublicOfEurope"] = 5] = "RepublicOfEurope";
|
|
9
|
-
EmpireName[EmpireName["NationsOfOceania"] = 6] = "NationsOfOceania";
|
|
10
|
-
EmpireName[EmpireName["NorthHegemony"] = 7] = "NorthHegemony";
|
|
11
|
-
})(EmpireName || (EmpireName = {}));
|
|
12
|
-
export default EmpireName;
|
|
13
|
-
export const empireNames = Object.values(EmpireName).filter(isEnumValue);
|
|
14
|
-
//# sourceMappingURL=EmpireName.js.map
|
|
1
|
+
import { isEnumValue } from '@gamepark/rules-api';
|
|
2
|
+
var EmpireName;
|
|
3
|
+
(function (EmpireName) {
|
|
4
|
+
EmpireName[EmpireName["AztecEmpire"] = 1] = "AztecEmpire";
|
|
5
|
+
EmpireName[EmpireName["FederationOfAsia"] = 2] = "FederationOfAsia";
|
|
6
|
+
EmpireName[EmpireName["NoramStates"] = 3] = "NoramStates";
|
|
7
|
+
EmpireName[EmpireName["PanafricanUnion"] = 4] = "PanafricanUnion";
|
|
8
|
+
EmpireName[EmpireName["RepublicOfEurope"] = 5] = "RepublicOfEurope";
|
|
9
|
+
EmpireName[EmpireName["NationsOfOceania"] = 6] = "NationsOfOceania";
|
|
10
|
+
EmpireName[EmpireName["NorthHegemony"] = 7] = "NorthHegemony";
|
|
11
|
+
})(EmpireName || (EmpireName = {}));
|
|
12
|
+
export default EmpireName;
|
|
13
|
+
export const empireNames = Object.values(EmpireName).filter(isEnumValue);
|
|
@@ -7,5 +7,5 @@ export declare enum Resource {
|
|
|
7
7
|
Krystallium = 6
|
|
8
8
|
}
|
|
9
9
|
export declare const resources: Resource[];
|
|
10
|
-
export declare function isResource(item:
|
|
10
|
+
export declare function isResource(item: unknown): item is Resource;
|
|
11
11
|
//# sourceMappingURL=Resource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../../src/material/Resource.ts"],"names":[],"mappings":"AAEA,oBAAY,QAAQ;IAClB,SAAS,IAAI;IACb,MAAM,IAAA;IACN,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,WAAW,IAAA;IACX,WAAW,IAAA;CACZ;AAED,eAAO,MAAM,SAAS,YAA0B,CAAA;AAEhD,wBAAgB,UAAU,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../../src/material/Resource.ts"],"names":[],"mappings":"AAEA,oBAAY,QAAQ;IAClB,SAAS,IAAI;IACb,MAAM,IAAA;IACN,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,WAAW,IAAA;IACX,WAAW,IAAA;CACZ;AAED,eAAO,MAAM,SAAS,YAA0B,CAAA;AAEhD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,QAAQ,CAE1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resource.js","sourceRoot":"","sources":["../../src/material/Resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,iDAAa,CAAA;IACb,2CAAM,CAAA;IACN,6CAAO,CAAA;IACP,uCAAI,CAAA;IACJ,qDAAW,CAAA;IACX,qDAAW,CAAA;AACb,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;AAEhD,MAAM,UAAU,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"Resource.js","sourceRoot":"","sources":["../../src/material/Resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,iDAAa,CAAA;IACb,2CAAM,CAAA;IACN,6CAAO,CAAA;IACP,uCAAI,CAAA;IACJ,qDAAW,CAAA;IACX,qDAAW,CAAA;AACb,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;AAEhD,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,OAAO,SAAS,CAAC,OAAO,CAAC,IAAgB,CAAC,KAAK,CAAC,CAAC,CAAA;AACnD,CAAC"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import GameState from '../GameState';
|
|
2
|
-
import GameView from '../GameView';
|
|
3
|
-
import EmpireName from '../material/EmpireName';
|
|
4
|
-
import Move from './Move';
|
|
5
|
-
import MoveType from './MoveType';
|
|
6
|
-
import MoveView from './MoveView';
|
|
7
|
-
export default interface ChooseDevelopmentCard {
|
|
8
|
-
type: typeof MoveType.ChooseDevelopmentCard;
|
|
9
|
-
playerId: EmpireName;
|
|
10
|
-
card: number;
|
|
11
|
-
}
|
|
12
|
-
export type ChooseDevelopmentCardView = Omit<ChooseDevelopmentCard, 'card'>;
|
|
13
|
-
export declare const chooseDevelopmentCardMove: (playerId: EmpireName, card: number) => ChooseDevelopmentCard;
|
|
14
|
-
export declare function chooseDevelopmentCard(state: GameState | GameView, move: ChooseDevelopmentCard): void;
|
|
15
|
-
export declare function chooseDevelopmentCardInView(state: GameView, move: ChooseDevelopmentCard | ChooseDevelopmentCardView): void;
|
|
16
|
-
export declare function chooseSecretDevelopmentCard(state: GameView, move: ChooseDevelopmentCardView): void;
|
|
17
|
-
export declare function isChooseDevelopmentCard(move: Move | MoveView): move is (ChooseDevelopmentCard | ChooseDevelopmentCardView);
|
|
18
|
-
export declare function isChosenDevelopmentCardVisible(move: ChooseDevelopmentCard | ChooseDevelopmentCardView): move is ChooseDevelopmentCard;
|
|
19
|
-
//# sourceMappingURL=ChooseDevelopmentCard.d.ts.map
|
|
1
|
+
import GameState from '../GameState';
|
|
2
|
+
import GameView from '../GameView';
|
|
3
|
+
import EmpireName from '../material/EmpireName';
|
|
4
|
+
import Move from './Move';
|
|
5
|
+
import MoveType from './MoveType';
|
|
6
|
+
import MoveView from './MoveView';
|
|
7
|
+
export default interface ChooseDevelopmentCard {
|
|
8
|
+
type: typeof MoveType.ChooseDevelopmentCard;
|
|
9
|
+
playerId: EmpireName;
|
|
10
|
+
card: number;
|
|
11
|
+
}
|
|
12
|
+
export type ChooseDevelopmentCardView = Omit<ChooseDevelopmentCard, 'card'>;
|
|
13
|
+
export declare const chooseDevelopmentCardMove: (playerId: EmpireName, card: number) => ChooseDevelopmentCard;
|
|
14
|
+
export declare function chooseDevelopmentCard(state: GameState | GameView, move: ChooseDevelopmentCard): void;
|
|
15
|
+
export declare function chooseDevelopmentCardInView(state: GameView, move: ChooseDevelopmentCard | ChooseDevelopmentCardView): void;
|
|
16
|
+
export declare function chooseSecretDevelopmentCard(state: GameView, move: ChooseDevelopmentCardView): void;
|
|
17
|
+
export declare function isChooseDevelopmentCard(move: Move | MoveView): move is (ChooseDevelopmentCard | ChooseDevelopmentCardView);
|
|
18
|
+
export declare function isChosenDevelopmentCardVisible(move: ChooseDevelopmentCard | ChooseDevelopmentCardView): move is ChooseDevelopmentCard;
|
|
@@ -1,36 +1,35 @@
|
|
|
1
|
-
import { isPlayerView } from '../typeguards';
|
|
2
|
-
import MoveType from './MoveType';
|
|
3
|
-
export const chooseDevelopmentCardMove = (playerId, card) => ({
|
|
4
|
-
type: MoveType.ChooseDevelopmentCard, playerId, card
|
|
5
|
-
});
|
|
6
|
-
export function chooseDevelopmentCard(state, move) {
|
|
7
|
-
const player = state.players.find(player => player.empire === move.playerId);
|
|
8
|
-
if (!player)
|
|
9
|
-
return console.error('Cannot apply', move, 'on', state, ': player id is missing');
|
|
10
|
-
if (isPlayerView(player))
|
|
11
|
-
return console.error('Cannot apply', move, 'on', state, ': chosen card should be hidden to the other players');
|
|
12
|
-
player.chosenCard = move.card;
|
|
13
|
-
}
|
|
14
|
-
export function chooseDevelopmentCardInView(state, move) {
|
|
15
|
-
if (isChosenDevelopmentCardVisible(move)) {
|
|
16
|
-
chooseDevelopmentCard(state, move);
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
chooseSecretDevelopmentCard(state, move);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
export function chooseSecretDevelopmentCard(state, move) {
|
|
23
|
-
const player = state.players.find(player => player.empire === move.playerId);
|
|
24
|
-
if (!player)
|
|
25
|
-
return console.error('Cannot apply', move, 'on', state, ': player id is missing');
|
|
26
|
-
if (!isPlayerView(player))
|
|
27
|
-
return console.error('Cannot apply', move, 'on', state, ': chosen card should not be hidden to the player choosing it');
|
|
28
|
-
player.ready = true;
|
|
29
|
-
}
|
|
30
|
-
export function isChooseDevelopmentCard(move) {
|
|
31
|
-
return move.type === MoveType.ChooseDevelopmentCard;
|
|
32
|
-
}
|
|
33
|
-
export function isChosenDevelopmentCardVisible(move) {
|
|
34
|
-
return move.card !== undefined;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=ChooseDevelopmentCard.js.map
|
|
1
|
+
import { isPlayerView } from '../typeguards';
|
|
2
|
+
import MoveType from './MoveType';
|
|
3
|
+
export const chooseDevelopmentCardMove = (playerId, card) => ({
|
|
4
|
+
type: MoveType.ChooseDevelopmentCard, playerId, card
|
|
5
|
+
});
|
|
6
|
+
export function chooseDevelopmentCard(state, move) {
|
|
7
|
+
const player = state.players.find(player => player.empire === move.playerId);
|
|
8
|
+
if (!player)
|
|
9
|
+
return console.error('Cannot apply', move, 'on', state, ': player id is missing');
|
|
10
|
+
if (isPlayerView(player))
|
|
11
|
+
return console.error('Cannot apply', move, 'on', state, ': chosen card should be hidden to the other players');
|
|
12
|
+
player.chosenCard = move.card;
|
|
13
|
+
}
|
|
14
|
+
export function chooseDevelopmentCardInView(state, move) {
|
|
15
|
+
if (isChosenDevelopmentCardVisible(move)) {
|
|
16
|
+
chooseDevelopmentCard(state, move);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
chooseSecretDevelopmentCard(state, move);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export function chooseSecretDevelopmentCard(state, move) {
|
|
23
|
+
const player = state.players.find(player => player.empire === move.playerId);
|
|
24
|
+
if (!player)
|
|
25
|
+
return console.error('Cannot apply', move, 'on', state, ': player id is missing');
|
|
26
|
+
if (!isPlayerView(player))
|
|
27
|
+
return console.error('Cannot apply', move, 'on', state, ': chosen card should not be hidden to the player choosing it');
|
|
28
|
+
player.ready = true;
|
|
29
|
+
}
|
|
30
|
+
export function isChooseDevelopmentCard(move) {
|
|
31
|
+
return move.type === MoveType.ChooseDevelopmentCard;
|
|
32
|
+
}
|
|
33
|
+
export function isChosenDevelopmentCardVisible(move) {
|
|
34
|
+
return move.card !== undefined;
|
|
35
|
+
}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import GameState from '../GameState';
|
|
2
|
-
import GameView from '../GameView';
|
|
3
|
-
import EmpireName from '../material/EmpireName';
|
|
4
|
-
import Move from './Move';
|
|
5
|
-
import MoveType from './MoveType';
|
|
6
|
-
import MoveView from './MoveView';
|
|
7
|
-
export default interface CompleteConstruction {
|
|
8
|
-
type: typeof MoveType.CompleteConstruction;
|
|
9
|
-
playerId: EmpireName;
|
|
10
|
-
card: number;
|
|
11
|
-
}
|
|
12
|
-
export declare const completeConstructionMove: (playerId: EmpireName, card: number) => CompleteConstruction;
|
|
13
|
-
export declare function completeConstruction(state: GameState | GameView, move: CompleteConstruction): void;
|
|
14
|
-
export declare function isCompleteConstruction(move: Move | MoveView): move is CompleteConstruction;
|
|
15
|
-
//# sourceMappingURL=CompleteConstruction.d.ts.map
|
|
1
|
+
import GameState from '../GameState';
|
|
2
|
+
import GameView from '../GameView';
|
|
3
|
+
import EmpireName from '../material/EmpireName';
|
|
4
|
+
import Move from './Move';
|
|
5
|
+
import MoveType from './MoveType';
|
|
6
|
+
import MoveView from './MoveView';
|
|
7
|
+
export default interface CompleteConstruction {
|
|
8
|
+
type: typeof MoveType.CompleteConstruction;
|
|
9
|
+
playerId: EmpireName;
|
|
10
|
+
card: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const completeConstructionMove: (playerId: EmpireName, card: number) => CompleteConstruction;
|
|
13
|
+
export declare function completeConstruction(state: GameState | GameView, move: CompleteConstruction): void;
|
|
14
|
+
export declare function isCompleteConstruction(move: Move | MoveView): move is CompleteConstruction;
|
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
import { getCardDetails } from '../material/Developments';
|
|
2
|
-
import MoveType from './MoveType';
|
|
3
|
-
export const completeConstructionMove = (playerId, card) => ({
|
|
4
|
-
type: MoveType.CompleteConstruction, playerId, card
|
|
5
|
-
});
|
|
6
|
-
export function completeConstruction(state, move) {
|
|
7
|
-
const player = state.players.find(player => player.empire === move.playerId);
|
|
8
|
-
if (!player)
|
|
9
|
-
return console.error('Cannot apply', move, 'on', state, ': could not find player');
|
|
10
|
-
player.constructionArea = player.constructionArea.filter(construction => construction.card !== move.card);
|
|
11
|
-
player.constructedDevelopments.push(move.card);
|
|
12
|
-
const bonuses = getCardDetails(move.card).constructionBonus;
|
|
13
|
-
if (bonuses) {
|
|
14
|
-
for (const bonus of bonuses) {
|
|
15
|
-
player.bonuses.push(bonus);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
export function isCompleteConstruction(move) {
|
|
20
|
-
return move.type === MoveType.CompleteConstruction;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=CompleteConstruction.js.map
|
|
1
|
+
import { getCardDetails } from '../material/Developments';
|
|
2
|
+
import MoveType from './MoveType';
|
|
3
|
+
export const completeConstructionMove = (playerId, card) => ({
|
|
4
|
+
type: MoveType.CompleteConstruction, playerId, card
|
|
5
|
+
});
|
|
6
|
+
export function completeConstruction(state, move) {
|
|
7
|
+
const player = state.players.find(player => player.empire === move.playerId);
|
|
8
|
+
if (!player)
|
|
9
|
+
return console.error('Cannot apply', move, 'on', state, ': could not find player');
|
|
10
|
+
player.constructionArea = player.constructionArea.filter(construction => construction.card !== move.card);
|
|
11
|
+
player.constructedDevelopments.push(move.card);
|
|
12
|
+
const bonuses = getCardDetails(move.card).constructionBonus;
|
|
13
|
+
if (bonuses) {
|
|
14
|
+
for (const bonus of bonuses) {
|
|
15
|
+
player.bonuses.push(bonus);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export function isCompleteConstruction(move) {
|
|
20
|
+
return move.type === MoveType.CompleteConstruction;
|
|
21
|
+
}
|
package/dist/moves/Concede.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import GameState from '../GameState';
|
|
2
|
-
import GameView from '../GameView';
|
|
3
|
-
import EmpireName from '../material/EmpireName';
|
|
4
|
-
import MoveType from './MoveType';
|
|
5
|
-
export default interface Concede {
|
|
6
|
-
type: typeof MoveType.Concede;
|
|
7
|
-
playerId: EmpireName;
|
|
8
|
-
}
|
|
9
|
-
export declare const concedeMove: (playerId: EmpireName) => Concede;
|
|
10
|
-
export declare function concede(state: GameState | GameView, move: Concede): void;
|
|
11
|
-
//# sourceMappingURL=Concede.d.ts.map
|
|
1
|
+
import GameState from '../GameState';
|
|
2
|
+
import GameView from '../GameView';
|
|
3
|
+
import EmpireName from '../material/EmpireName';
|
|
4
|
+
import MoveType from './MoveType';
|
|
5
|
+
export default interface Concede {
|
|
6
|
+
type: typeof MoveType.Concede;
|
|
7
|
+
playerId: EmpireName;
|
|
8
|
+
}
|
|
9
|
+
export declare const concedeMove: (playerId: EmpireName) => Concede;
|
|
10
|
+
export declare function concede(state: GameState | GameView, move: Concede): void;
|
package/dist/moves/Concede.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import MoveType from './MoveType';
|
|
2
|
-
export const concedeMove = (playerId) => ({
|
|
3
|
-
type: MoveType.Concede, playerId
|
|
4
|
-
});
|
|
5
|
-
export function concede(state, move) {
|
|
6
|
-
const player = state.players.find(player => player.empire === move.playerId);
|
|
7
|
-
if (!player)
|
|
8
|
-
return console.error('Cannot apply', move, 'on', state, ': player id is missing');
|
|
9
|
-
if (player.eliminated)
|
|
10
|
-
return console.error('Cannot apply', move, 'on', state, ': player is already eliminated');
|
|
11
|
-
player.eliminated = state.players.filter(player => player.eliminated).length + 1;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=Concede.js.map
|
|
1
|
+
import MoveType from './MoveType';
|
|
2
|
+
export const concedeMove = (playerId) => ({
|
|
3
|
+
type: MoveType.Concede, playerId
|
|
4
|
+
});
|
|
5
|
+
export function concede(state, move) {
|
|
6
|
+
const player = state.players.find(player => player.empire === move.playerId);
|
|
7
|
+
if (!player)
|
|
8
|
+
return console.error('Cannot apply', move, 'on', state, ': player id is missing');
|
|
9
|
+
if (player.eliminated)
|
|
10
|
+
return console.error('Cannot apply', move, 'on', state, ': player is already eliminated');
|
|
11
|
+
player.eliminated = state.players.filter(player => player.eliminated).length + 1;
|
|
12
|
+
}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import GameState from '../GameState';
|
|
2
|
-
import GameView from '../GameView';
|
|
3
|
-
import EmpireName from '../material/EmpireName';
|
|
4
|
-
import MoveType from './MoveType';
|
|
5
|
-
type DealDevelopmentCards = {
|
|
6
|
-
type: typeof MoveType.DealDevelopmentCards;
|
|
7
|
-
};
|
|
8
|
-
export default DealDevelopmentCards;
|
|
9
|
-
export type DealDevelopmentCardsView = DealDevelopmentCards & {
|
|
10
|
-
playerCards: number[];
|
|
11
|
-
};
|
|
12
|
-
export declare const dealDevelopmentCardsMove: DealDevelopmentCards;
|
|
13
|
-
export declare function dealDevelopmentCards(state: GameState): void;
|
|
14
|
-
export declare function revealDealtDevelopmentCards(state: GameView, move: DealDevelopmentCards | DealDevelopmentCardsView): void;
|
|
15
|
-
export declare function isDealDevelopmentCardsView(move: DealDevelopmentCards | DealDevelopmentCardsView): move is DealDevelopmentCardsView;
|
|
16
|
-
export declare function getDealDevelopmentCardsView(state: GameState, playerId: EmpireName): DealDevelopmentCardsView;
|
|
17
|
-
//# sourceMappingURL=DealDevelopmentCards.d.ts.map
|
|
1
|
+
import GameState from '../GameState';
|
|
2
|
+
import GameView from '../GameView';
|
|
3
|
+
import EmpireName from '../material/EmpireName';
|
|
4
|
+
import MoveType from './MoveType';
|
|
5
|
+
type DealDevelopmentCards = {
|
|
6
|
+
type: typeof MoveType.DealDevelopmentCards;
|
|
7
|
+
};
|
|
8
|
+
export default DealDevelopmentCards;
|
|
9
|
+
export type DealDevelopmentCardsView = DealDevelopmentCards & {
|
|
10
|
+
playerCards: number[];
|
|
11
|
+
};
|
|
12
|
+
export declare const dealDevelopmentCardsMove: DealDevelopmentCards;
|
|
13
|
+
export declare function dealDevelopmentCards(state: GameState): void;
|
|
14
|
+
export declare function revealDealtDevelopmentCards(state: GameView, move: DealDevelopmentCards | DealDevelopmentCardsView): void;
|
|
15
|
+
export declare function isDealDevelopmentCardsView(move: DealDevelopmentCards | DealDevelopmentCardsView): move is DealDevelopmentCardsView;
|
|
16
|
+
export declare function getDealDevelopmentCardsView(state: GameState, playerId: EmpireName): DealDevelopmentCardsView;
|
|
@@ -1,87 +1,86 @@
|
|
|
1
|
-
import { numberOfCardsToDraft } from '../
|
|
2
|
-
import DeckType from '../material/DeckType';
|
|
3
|
-
import { isPlayer } from '../typeguards';
|
|
4
|
-
import MoveType from './MoveType';
|
|
5
|
-
export const dealDevelopmentCardsMove = { type: MoveType.DealDevelopmentCards };
|
|
6
|
-
const numberOfCardsDeal2Players = 10;
|
|
7
|
-
function getRemainingPlayersToDealCardsTo(players) {
|
|
8
|
-
const result = players.filter(player => !player.eliminated);
|
|
9
|
-
if (result.length === 1) {
|
|
10
|
-
result.push(players.filter(player => player.eliminated).sort((a, b) => b.eliminated - a.eliminated)[0]);
|
|
11
|
-
}
|
|
12
|
-
return result;
|
|
13
|
-
}
|
|
14
|
-
export function dealDevelopmentCards(state) {
|
|
15
|
-
const players = getRemainingPlayersToDealCardsTo(state.players);
|
|
16
|
-
const ascensionCardsToDeal = getAscensionCardsToDeal(state, players.length);
|
|
17
|
-
const cardsToDeal = getIWWCardsToDeal(state, players.length);
|
|
18
|
-
for (const player of players) {
|
|
19
|
-
player.hand = state.deck.splice(0, cardsToDeal);
|
|
20
|
-
if (state.ascensionDeck) {
|
|
21
|
-
player.hand.push(...state.ascensionDeck.splice(0, ascensionCardsToDeal));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
export function revealDealtDevelopmentCards(state, move) {
|
|
26
|
-
const players = getRemainingPlayersToDealCardsTo(state.players);
|
|
27
|
-
const ascensionCardsToDeal = getAscensionCardsToDeal(state, players.length);
|
|
28
|
-
const cardsToDeal = getIWWCardsToDeal(state, players.length);
|
|
29
|
-
for (const player of players) {
|
|
30
|
-
state.deck -= cardsToDeal;
|
|
31
|
-
if (state.ascensionDeck) {
|
|
32
|
-
state.ascensionDeck -= ascensionCardsToDeal;
|
|
33
|
-
}
|
|
34
|
-
if (isPlayer(player)) {
|
|
35
|
-
if (!isDealDevelopmentCardsView(move))
|
|
36
|
-
throw new Error('Players cards expected');
|
|
37
|
-
player.hand = move.playerCards;
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
player.hiddenHand = Array(cardsToDeal).fill(DeckType.Default);
|
|
41
|
-
if (state.ascensionDeck) {
|
|
42
|
-
player.hiddenHand.push(...Array(ascensionCardsToDeal).fill(DeckType.Ascension));
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
function getAscensionCardsToDeal(state, players) {
|
|
48
|
-
if (!state.ascensionDeck)
|
|
49
|
-
return 0;
|
|
50
|
-
switch (players) {
|
|
51
|
-
case 2:
|
|
52
|
-
return 4;
|
|
53
|
-
case 3:
|
|
54
|
-
case 4:
|
|
55
|
-
return 3;
|
|
56
|
-
default:
|
|
57
|
-
return 2;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
function getIWWCardsToDeal(state, players) {
|
|
61
|
-
if (!state.ascensionDeck) {
|
|
62
|
-
return players === 2 ? numberOfCardsDeal2Players : numberOfCardsToDraft;
|
|
63
|
-
}
|
|
64
|
-
switch (players) {
|
|
65
|
-
case 2:
|
|
66
|
-
return 8;
|
|
67
|
-
case 7:
|
|
68
|
-
return 5;
|
|
69
|
-
default:
|
|
70
|
-
return 6;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
export function isDealDevelopmentCardsView(move) {
|
|
74
|
-
return move.playerCards !== undefined;
|
|
75
|
-
}
|
|
76
|
-
export function getDealDevelopmentCardsView(state, playerId) {
|
|
77
|
-
const players = getRemainingPlayersToDealCardsTo(state.players);
|
|
78
|
-
const playerIndex = players.findIndex(player => player.empire === playerId);
|
|
79
|
-
const ascensionCardsToDeal = getAscensionCardsToDeal(state, players.length);
|
|
80
|
-
const cardsToDeal = getIWWCardsToDeal(state, players.length);
|
|
81
|
-
const playerCards = state.deck.slice(playerIndex * cardsToDeal, (playerIndex + 1) * cardsToDeal);
|
|
82
|
-
if (state.ascensionDeck) {
|
|
83
|
-
playerCards.push(...state.ascensionDeck.slice(playerIndex * ascensionCardsToDeal, (playerIndex + 1) * ascensionCardsToDeal));
|
|
84
|
-
}
|
|
85
|
-
return { type: MoveType.DealDevelopmentCards, playerCards };
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=DealDevelopmentCards.js.map
|
|
1
|
+
import { numberOfCardsToDraft } from '../ItsAWonderfulWorld';
|
|
2
|
+
import DeckType from '../material/DeckType';
|
|
3
|
+
import { isPlayer } from '../typeguards';
|
|
4
|
+
import MoveType from './MoveType';
|
|
5
|
+
export const dealDevelopmentCardsMove = { type: MoveType.DealDevelopmentCards };
|
|
6
|
+
const numberOfCardsDeal2Players = 10;
|
|
7
|
+
function getRemainingPlayersToDealCardsTo(players) {
|
|
8
|
+
const result = players.filter(player => !player.eliminated);
|
|
9
|
+
if (result.length === 1) {
|
|
10
|
+
result.push(players.filter(player => player.eliminated).sort((a, b) => b.eliminated - a.eliminated)[0]);
|
|
11
|
+
}
|
|
12
|
+
return result;
|
|
13
|
+
}
|
|
14
|
+
export function dealDevelopmentCards(state) {
|
|
15
|
+
const players = getRemainingPlayersToDealCardsTo(state.players);
|
|
16
|
+
const ascensionCardsToDeal = getAscensionCardsToDeal(state, players.length);
|
|
17
|
+
const cardsToDeal = getIWWCardsToDeal(state, players.length);
|
|
18
|
+
for (const player of players) {
|
|
19
|
+
player.hand = state.deck.splice(0, cardsToDeal);
|
|
20
|
+
if (state.ascensionDeck) {
|
|
21
|
+
player.hand.push(...state.ascensionDeck.splice(0, ascensionCardsToDeal));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export function revealDealtDevelopmentCards(state, move) {
|
|
26
|
+
const players = getRemainingPlayersToDealCardsTo(state.players);
|
|
27
|
+
const ascensionCardsToDeal = getAscensionCardsToDeal(state, players.length);
|
|
28
|
+
const cardsToDeal = getIWWCardsToDeal(state, players.length);
|
|
29
|
+
for (const player of players) {
|
|
30
|
+
state.deck -= cardsToDeal;
|
|
31
|
+
if (state.ascensionDeck) {
|
|
32
|
+
state.ascensionDeck -= ascensionCardsToDeal;
|
|
33
|
+
}
|
|
34
|
+
if (isPlayer(player)) {
|
|
35
|
+
if (!isDealDevelopmentCardsView(move))
|
|
36
|
+
throw new Error('Players cards expected');
|
|
37
|
+
player.hand = move.playerCards;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
player.hiddenHand = Array(cardsToDeal).fill(DeckType.Default);
|
|
41
|
+
if (state.ascensionDeck) {
|
|
42
|
+
player.hiddenHand.push(...Array(ascensionCardsToDeal).fill(DeckType.Ascension));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function getAscensionCardsToDeal(state, players) {
|
|
48
|
+
if (!state.ascensionDeck)
|
|
49
|
+
return 0;
|
|
50
|
+
switch (players) {
|
|
51
|
+
case 2:
|
|
52
|
+
return 4;
|
|
53
|
+
case 3:
|
|
54
|
+
case 4:
|
|
55
|
+
return 3;
|
|
56
|
+
default:
|
|
57
|
+
return 2;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function getIWWCardsToDeal(state, players) {
|
|
61
|
+
if (!state.ascensionDeck) {
|
|
62
|
+
return players === 2 ? numberOfCardsDeal2Players : numberOfCardsToDraft;
|
|
63
|
+
}
|
|
64
|
+
switch (players) {
|
|
65
|
+
case 2:
|
|
66
|
+
return 8;
|
|
67
|
+
case 7:
|
|
68
|
+
return 5;
|
|
69
|
+
default:
|
|
70
|
+
return 6;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export function isDealDevelopmentCardsView(move) {
|
|
74
|
+
return move.playerCards !== undefined;
|
|
75
|
+
}
|
|
76
|
+
export function getDealDevelopmentCardsView(state, playerId) {
|
|
77
|
+
const players = getRemainingPlayersToDealCardsTo(state.players);
|
|
78
|
+
const playerIndex = players.findIndex(player => player.empire === playerId);
|
|
79
|
+
const ascensionCardsToDeal = getAscensionCardsToDeal(state, players.length);
|
|
80
|
+
const cardsToDeal = getIWWCardsToDeal(state, players.length);
|
|
81
|
+
const playerCards = state.deck.slice(playerIndex * cardsToDeal, (playerIndex + 1) * cardsToDeal);
|
|
82
|
+
if (state.ascensionDeck) {
|
|
83
|
+
playerCards.push(...state.ascensionDeck.slice(playerIndex * ascensionCardsToDeal, (playerIndex + 1) * ascensionCardsToDeal));
|
|
84
|
+
}
|
|
85
|
+
return { type: MoveType.DealDevelopmentCards, playerCards };
|
|
86
|
+
}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import GameState from '../GameState';
|
|
2
|
-
import GameView from '../GameView';
|
|
3
|
-
import MoveType from './MoveType';
|
|
4
|
-
type DiscardLeftoverCards = {
|
|
5
|
-
type: typeof MoveType.DiscardLeftoverCards;
|
|
6
|
-
};
|
|
7
|
-
export default DiscardLeftoverCards;
|
|
8
|
-
export type DiscardLeftoverCardsView = DiscardLeftoverCards & {
|
|
9
|
-
discardedCards: number[];
|
|
10
|
-
};
|
|
11
|
-
export declare const discardLeftOverCardsMove: DiscardLeftoverCards;
|
|
12
|
-
export declare function discardLeftOverCards(state: GameState): void;
|
|
13
|
-
export declare function discardLeftOverCardsInView(state: GameView, move: DiscardLeftoverCardsView): void;
|
|
14
|
-
export declare function isDiscardLeftoverCardsView(move: DiscardLeftoverCards | DiscardLeftoverCardsView): move is DiscardLeftoverCardsView;
|
|
15
|
-
export declare function getDiscardLeftoverCardsView(state: GameState): DiscardLeftoverCardsView;
|
|
16
|
-
//# sourceMappingURL=DiscardLeftoverCards.d.ts.map
|
|
1
|
+
import GameState from '../GameState';
|
|
2
|
+
import GameView from '../GameView';
|
|
3
|
+
import MoveType from './MoveType';
|
|
4
|
+
type DiscardLeftoverCards = {
|
|
5
|
+
type: typeof MoveType.DiscardLeftoverCards;
|
|
6
|
+
};
|
|
7
|
+
export default DiscardLeftoverCards;
|
|
8
|
+
export type DiscardLeftoverCardsView = DiscardLeftoverCards & {
|
|
9
|
+
discardedCards: number[];
|
|
10
|
+
};
|
|
11
|
+
export declare const discardLeftOverCardsMove: DiscardLeftoverCards;
|
|
12
|
+
export declare function discardLeftOverCards(state: GameState): void;
|
|
13
|
+
export declare function discardLeftOverCardsInView(state: GameView, move: DiscardLeftoverCardsView): void;
|
|
14
|
+
export declare function isDiscardLeftoverCardsView(move: DiscardLeftoverCards | DiscardLeftoverCardsView): move is DiscardLeftoverCardsView;
|
|
15
|
+
export declare function getDiscardLeftoverCardsView(state: GameState): DiscardLeftoverCardsView;
|