jl-sprt-match 1.0.4 → 1.0.6

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.
@@ -35,7 +35,20 @@ export declare class FootballMatchPlay extends A_MatchPlay<IFootballScore, Footb
35
35
  private _penalties;
36
36
  /** Cantidad de penales ejecutados por cada equipo. */
37
37
  private _penaltiesTaken;
38
- /** Penales máximos de la primera ronda. */
38
+ /**
39
+ * Rondas de penales que se ejecutan por cada intervalo (advance()).
40
+ *
41
+ * Una tanda de penales dura pocos minutos reales, por lo que no tiene sentido
42
+ * gotear 1 ronda por intervalo de 5 min: eso hacía que la definición por penales
43
+ * extendiera artificialmente la duración del evento durativo del partido y, en
44
+ * series de ida y vuelta, empujara el fin del partido más allá de la fecha fija
45
+ * de sorteo de la ronda siguiente (crash "La serie todavía no terminó").
46
+ *
47
+ * Nota: en muerte súbita la definición es teóricamente ilimitada, así que este
48
+ * valor reduce fuertemente la probabilidad del problema pero no lo elimina por
49
+ * completo. La solución de fondo (fase de desempate acotada + guarda en el sorteo)
50
+ * queda para la refactorización de core/match (Entrega 2).
51
+ */
39
52
  private static readonly PENALTIES_PER_INTERVAL;
40
53
  private static readonly REGULAR_PENALTY_ROUNDS;
41
54
  private _penaltyRound;
@@ -52,6 +65,10 @@ export declare class FootballMatchPlay extends A_MatchPlay<IFootballScore, Footb
52
65
  * En una serie de ida y vuelta, se compara el acumulado de goles.
53
66
  */
54
67
  private mustPlayExtraTime;
68
+ /**
69
+ * Determina si el partido actual está empatado en goles.
70
+ */
71
+ private isCurrentMatchTied;
55
72
  /**
56
73
  * Determina si el acumulado de la serie está empatado.
57
74
  *
@@ -131,7 +131,11 @@ class FootballMatchPlay extends jl_sprt_core_1.A_MatchPlay {
131
131
  * Si terminó el tiempo extra, determinar si hacen falta penales.
132
132
  */
133
133
  if (this._extraTime && this._time >= FootballMatchPlay.EXTRA_TIME) {
134
- if (this.isAggregateTie()) {
134
+ const context = this.context;
135
+ const stillTied = context && context.totalMatches === 1
136
+ ? this.isCurrentMatchTied()
137
+ : this.isAggregateTie();
138
+ if (stillTied) {
135
139
  this._penalties = true;
136
140
  this._penaltiesTaken = 0;
137
141
  }
@@ -148,23 +152,39 @@ class FootballMatchPlay extends jl_sprt_core_1.A_MatchPlay {
148
152
  mustPlayExtraTime() {
149
153
  const context = this.context;
150
154
  /*
151
- * Partido independiente.
155
+ * Partido independiente (sin contexto de serie).
152
156
  */
153
157
  if (!context)
154
158
  return false;
155
159
  /*
156
- * Primer partido de una serie.
157
- * Todavía no existe un acumulado anterior.
160
+ * Serie de partido único: si el partido está empatado,
161
+ * se necesita tiempo extra para definir un ganador.
162
+ */
163
+ if (context.totalMatches === 1) {
164
+ return this.isCurrentMatchTied();
165
+ }
166
+ /*
167
+ * Primer partido de una serie de ida y vuelta.
168
+ * Todavía no existe un acumulado anterior, puede empatar.
158
169
  */
159
170
  if (context.results.length === 0)
160
171
  return false;
161
172
  /*
162
- * Actualmente solo soportamos ida y vuelta.
173
+ * Segundo partido de ida y vuelta.
163
174
  */
164
175
  if (context.results.length !== 1)
165
176
  throw new Error("Unsupported series context");
166
177
  return this.isAggregateTie();
167
178
  }
179
+ /**
180
+ * Determina si el partido actual está empatado en goles.
181
+ */
182
+ isCurrentMatchTied() {
183
+ const result = this._result;
184
+ const oneGoals = result.getScore(this._teamOne.id).goals;
185
+ const twoGoals = result.getScore(this._teamTwo.id).goals;
186
+ return oneGoals === twoGoals;
187
+ }
168
188
  /**
169
189
  * Determina si el acumulado de la serie está empatado.
170
190
  *
@@ -259,7 +279,20 @@ FootballMatchPlay.HALFTIME_INTERVALS = 3;
259
279
  FootballMatchPlay.REGULAR_TIME = 80;
260
280
  /** Final del tiempo extra. */
261
281
  FootballMatchPlay.EXTRA_TIME = 100;
262
- /** Penales máximos de la primera ronda. */
263
- FootballMatchPlay.PENALTIES_PER_INTERVAL = 2;
282
+ /**
283
+ * Rondas de penales que se ejecutan por cada intervalo (advance()).
284
+ *
285
+ * Una tanda de penales dura pocos minutos reales, por lo que no tiene sentido
286
+ * gotear 1 ronda por intervalo de 5 min: eso hacía que la definición por penales
287
+ * extendiera artificialmente la duración del evento durativo del partido y, en
288
+ * series de ida y vuelta, empujara el fin del partido más allá de la fecha fija
289
+ * de sorteo de la ronda siguiente (crash "La serie todavía no terminó").
290
+ *
291
+ * Nota: en muerte súbita la definición es teóricamente ilimitada, así que este
292
+ * valor reduce fuertemente la probabilidad del problema pero no lo elimina por
293
+ * completo. La solución de fondo (fase de desempate acotada + guarda en el sorteo)
294
+ * queda para la refactorización de core/match (Entrega 2).
295
+ */
296
+ FootballMatchPlay.PENALTIES_PER_INTERVAL = 5;
264
297
  FootballMatchPlay.REGULAR_PENALTY_ROUNDS = 5;
265
298
  //# sourceMappingURL=FootballMatchPlay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FootballMatchPlay.js","sourceRoot":"","sources":["../../../src/profiles/football/FootballMatchPlay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FootballMatchPlay.js","sourceRoot":"","sources":["../../../src/profiles/football/FootballMatchPlay.ts"],"names":[],"mappings":"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"}
@@ -44,16 +44,25 @@ class FootballResult extends jl_sprt_core_1.A_Result {
44
44
  getResultInfo() {
45
45
  const goalsOne = this._teamOneScore.score.goals;
46
46
  const goalsTwo = this._teamTwoScore.score.goals;
47
- const winner = goalsOne > goalsTwo
48
- ? this._teamOneScore.team
49
- : goalsTwo > goalsOne
50
- ? this._teamTwoScore.team
51
- : 'none';
52
- const loser = goalsOne < goalsTwo
53
- ? this._teamOneScore.team
54
- : goalsTwo < goalsOne
55
- ? this._teamTwoScore.team
56
- : 'none';
47
+ let winner;
48
+ let loser;
49
+ if (goalsOne !== goalsTwo) {
50
+ winner = goalsOne > goalsTwo ? this._teamOneScore.team : this._teamTwoScore.team;
51
+ loser = goalsOne < goalsTwo ? this._teamOneScore.team : this._teamTwoScore.team;
52
+ }
53
+ else {
54
+ // Goles empatados: verificar penales como desempate.
55
+ const penaltiesOne = this._teamOneScore.score.penalties;
56
+ const penaltiesTwo = this._teamTwoScore.score.penalties;
57
+ if (penaltiesOne !== penaltiesTwo) {
58
+ winner = penaltiesOne > penaltiesTwo ? this._teamOneScore.team : this._teamTwoScore.team;
59
+ loser = penaltiesOne < penaltiesTwo ? this._teamOneScore.team : this._teamTwoScore.team;
60
+ }
61
+ else {
62
+ winner = 'none';
63
+ loser = 'none';
64
+ }
65
+ }
57
66
  return {
58
67
  teamOneScore: this._teamOneScore,
59
68
  teamTwoScore: this._teamTwoScore,
@@ -1 +1 @@
1
- {"version":3,"file":"FootballResult.js","sourceRoot":"","sources":["../../../src/profiles/football/FootballResult.ts"],"names":[],"mappings":";;;AACA,+CAAkF;AAGlF,MAAM,UAAU,GAAG,GAAmB,EAAE;IACtC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,CAAC;KACb,CAAA;AACH,CAAC,CAAA;AAKD;;;GAGG;AACH,MAAa,cAAe,SAAQ,uBAAwB;IAE1D,YAAY,GAAW,EAAE,GAAW;QAClC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,QAAQ,CAAC,EAAU,EAAE,CAAsB;QACzC,IAAI,KAAK,CAAA;QACT,IAAI,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YACnC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACnC,CAAC;aAAM,IAAI,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAC1C,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;QACjC,CAAC;QACD,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IACZ,CAAC;IAED,QAAQ,CAAC,EAAU;QACjB,IAAI,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAClC,CAAC;aAAM,IAAI,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IAED,aAAa;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;QAEhD,MAAM,MAAM,GACV,QAAQ,GAAG,QAAQ;YACjB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI;YACzB,CAAC,CAAC,QAAQ,GAAG,QAAQ;gBACnB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI;gBACzB,CAAC,CAAC,MAAM,CAAC;QAEf,MAAM,KAAK,GACT,QAAQ,GAAG,QAAQ;YACjB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI;YACzB,CAAC,CAAC,QAAQ,GAAG,QAAQ;gBACnB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI;gBACzB,CAAC,CAAC,MAAM,CAAC;QAEf,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,UAAU,EAAE,MAAM;YAClB,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IAED,aAAa;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAEpC,OAAO;YACL,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;IACJ,CAAC;CACF;AA9DD,wCA8DC"}
1
+ {"version":3,"file":"FootballResult.js","sourceRoot":"","sources":["../../../src/profiles/football/FootballResult.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jl-sprt-match",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",