@vankosoft/game-platform 1.3.1 → 1.3.3

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.
@@ -302,6 +302,7 @@
302
302
  "contract-bridge-auction": {
303
303
  "auction": "Auction",
304
304
 
305
+ "bid_history": "Bid History",
305
306
  "west": "West",
306
307
  "north": "North",
307
308
  "east": "East",
@@ -302,6 +302,7 @@
302
302
  "contract-bridge-auction": {
303
303
  "auction": "Auction",
304
304
 
305
+ "bid_history": "Bid History",
305
306
  "west": "West",
306
307
  "north": "North",
307
308
  "east": "East",
@@ -8,6 +8,7 @@ import { CardDto } from '../CardGame/cardDto';
8
8
  export interface OpponentBidsActionDto extends ActionDto {
9
9
  bid: BidDto;
10
10
  validBids: BidDto[];
11
+ bidHistory: BidDto[];
11
12
  nextPlayer: PlayerPosition;
12
13
  playState: GameState;
13
14
 
@@ -7,6 +7,7 @@ export interface CardGameDto extends GameDto {
7
7
  players: CardGamePlayerDto[];
8
8
  validBids: any;
9
9
  validCards: any;
10
+ bidHistory: any;
10
11
  contract: any;
11
12
 
12
13
  currentPlayer: PlayerPosition;
@@ -5,6 +5,7 @@ import { PlayerPosition } from '../Enum/playerPosition';
5
5
  import { BidTrump } from '../Enum/bidTrump';
6
6
  export declare class Helper {
7
7
  static delay(ms: number): Promise<unknown>;
8
+ static splitAtN(arrayToSplit: any[], n: number): any[];
8
9
  static cardSuit(suit: CardSuit): string;
9
10
  static bridgeBeloteCardType(type: BridgeBeloteCardType): string;
10
11
  static contractBridgeCardType(type: ContractBridgeCardType): string;
@@ -0,0 +1,10 @@
1
+ import { PlayerPosition } from '../Enum/playerPosition';
2
+ /**
3
+ * Help Get Player Positions Clockwise and Back-Clockwise
4
+ */
5
+ export declare class PlayerPositions {
6
+ private static PlayerPositions;
7
+ static GetAll(): PlayerPosition[];
8
+ static Next(playerPosition: PlayerPosition): PlayerPosition;
9
+ static Prev(playerPosition: PlayerPosition): PlayerPosition;
10
+ }
@@ -1,4 +1,8 @@
1
1
  export * from "./game.variant";
2
+ /**
3
+ * Utils
4
+ */
5
+ export * from "./Utils/player-positions";
2
6
  export * from "./Utils/helper";
3
7
  export * from "./Utils/keys";
4
8
  export * from "./Utils/status-message";
package/dist/cjs/index.js CHANGED
@@ -16,6 +16,40 @@ class GameVariant {
16
16
  static SVARA_CODE = 'svara';
17
17
  }
18
18
 
19
+ exports.PlayerPosition = void 0;
20
+ (function (PlayerPosition) {
21
+ PlayerPosition[PlayerPosition["south"] = 0] = "south";
22
+ PlayerPosition[PlayerPosition["east"] = 1] = "east";
23
+ PlayerPosition[PlayerPosition["north"] = 2] = "north";
24
+ PlayerPosition[PlayerPosition["west"] = 3] = "west";
25
+ PlayerPosition[PlayerPosition["neither"] = 4] = "neither";
26
+ })(exports.PlayerPosition || (exports.PlayerPosition = {}));
27
+
28
+ /**
29
+ * Help Get Player Positions Clockwise and Back-Clockwise
30
+ */
31
+ class PlayerPositions {
32
+ static PlayerPositions = [
33
+ exports.PlayerPosition.south,
34
+ exports.PlayerPosition.west,
35
+ exports.PlayerPosition.north,
36
+ exports.PlayerPosition.east
37
+ ];
38
+ static GetAll() {
39
+ return PlayerPositions.PlayerPositions;
40
+ }
41
+ static Next(playerPosition) {
42
+ const PlayerPositionIndex = PlayerPositions.PlayerPositions.findIndex((positions) => positions === playerPosition);
43
+ const NextPlayerPositionIndex = (PlayerPositionIndex + 1) % PlayerPositions.PlayerPositions.length;
44
+ return PlayerPositions.PlayerPositions[NextPlayerPositionIndex];
45
+ }
46
+ static Prev(playerPosition) {
47
+ const PlayerPositionIndex = PlayerPositions.PlayerPositions.findIndex((positions) => positions === playerPosition);
48
+ const NextPlayerPositionIndex = (PlayerPositionIndex - 1) % PlayerPositions.PlayerPositions.length;
49
+ return PlayerPositions.PlayerPositions[NextPlayerPositionIndex];
50
+ }
51
+ }
52
+
19
53
  exports.CardSuit = void 0;
20
54
  (function (CardSuit) {
21
55
  CardSuit[CardSuit["Club"] = 0] = "Club";
@@ -53,15 +87,6 @@ exports.ContractBridgeCardType = void 0;
53
87
  ContractBridgeCardType[ContractBridgeCardType["Ace"] = 12] = "Ace";
54
88
  })(exports.ContractBridgeCardType || (exports.ContractBridgeCardType = {}));
55
89
 
56
- exports.PlayerPosition = void 0;
57
- (function (PlayerPosition) {
58
- PlayerPosition[PlayerPosition["south"] = 0] = "south";
59
- PlayerPosition[PlayerPosition["east"] = 1] = "east";
60
- PlayerPosition[PlayerPosition["north"] = 2] = "north";
61
- PlayerPosition[PlayerPosition["west"] = 3] = "west";
62
- PlayerPosition[PlayerPosition["neither"] = 4] = "neither";
63
- })(exports.PlayerPosition || (exports.PlayerPosition = {}));
64
-
65
90
  exports.BidTrump = void 0;
66
91
  (function (BidTrump) {
67
92
  BidTrump[BidTrump["Pass"] = 0] = "Pass";
@@ -79,6 +104,14 @@ class Helper {
79
104
  static delay(ms) {
80
105
  return new Promise((resolve) => setTimeout(resolve, ms));
81
106
  }
107
+ static splitAtN(arrayToSplit, n) {
108
+ const output = [], i = 0;
109
+ while (arrayToSplit.length) {
110
+ output.push(arrayToSplit.slice(0 , i + n));
111
+ arrayToSplit = arrayToSplit.slice(i + n);
112
+ }
113
+ return output;
114
+ }
82
115
  static cardSuit(suit) {
83
116
  switch (suit) {
84
117
  case exports.CardSuit.Club:
@@ -605,7 +638,7 @@ function GetAnnounceSymbols() {
605
638
  return AnnounceSymbols;
606
639
  }
607
640
  function GetAnnounceSymbol(symbolId) {
608
- return AnnounceSymbols.find((x) => x.id === symbolId);
641
+ return AnnounceSymbols.find(({ id }) => id === symbolId);
609
642
  }
610
643
 
611
644
  class Card {
@@ -872,5 +905,6 @@ exports.LightTheme = LightTheme;
872
905
  exports.MoveAnimation = MoveAnimation;
873
906
  exports.Pile = Pile;
874
907
  exports.PinkTheme = PinkTheme;
908
+ exports.PlayerPositions = PlayerPositions;
875
909
  exports.Point = Point;
876
910
  exports.StatusMessage = StatusMessage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vankosoft/game-platform",
3
- "version": "1.3.1",
3
+ "version": "1.3.3",
4
4
  "description": "Game Platform",
5
5
  "repository": {
6
6
  "type": "git",