Remplacement progressif rencontres
This commit is contained in:
@ -314,24 +314,15 @@ export class TMRUtility {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async deplaceTMRAleatoire(actor, coord) {
|
||||
return TMRUtility.deplaceTMRSelonPattern(actor, coord, await TMRUtility.getDirectionPattern(), 1);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async deplaceTMRSelonPattern(actor, coordTMR, direction, nTime) {
|
||||
let coord;
|
||||
for (let i = 0; i < nTime; i++) {
|
||||
let currentOddq = TMRUtility.coordTMRToOddq(coordTMR);
|
||||
currentOddq.col = currentOddq.col + direction.col;
|
||||
currentOddq.row = currentOddq.row + direction.row;
|
||||
if (this.isOddqInTMR(currentOddq)) { // Sortie de carte ! Ré-insertion aléatoire
|
||||
coord = TMRUtility.getTMR(TMRUtility.oddqToCoordTMR(currentOddq));
|
||||
} else {
|
||||
coord = await actor.reinsertionAleatoire('Sortie de carte');
|
||||
}
|
||||
console.log("Nouvelle case iteration !!!", i, coord);
|
||||
const currentOddq = TMRUtility.coordTMRToOddq(coord);
|
||||
const direction = await TMRUtility.getDirectionPattern();
|
||||
currentOddq.col = currentOddq.col + direction.col;
|
||||
currentOddq.row = currentOddq.row + direction.row;
|
||||
if (this.isOddqInTMR(currentOddq)) { // Sortie de carte ! Ré-insertion aléatoire
|
||||
return TMRUtility.getTMR(TMRUtility.oddqToCoordTMR(currentOddq));
|
||||
} else {
|
||||
return await actor.reinsertionAleatoire('Sortie de carte');
|
||||
}
|
||||
return coord;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -343,6 +334,10 @@ export class TMRUtility {
|
||||
return Object.values(TMRMapping).filter(filter);
|
||||
}
|
||||
|
||||
static getCasesType(type) {
|
||||
return TMRUtility.filterTMR(it => it.type == type).map(it => it.coord);
|
||||
}
|
||||
|
||||
static findTMR(search) {
|
||||
const labelSearch = Grammar.toLowerCaseNoAccent(search)
|
||||
return TMRUtility.filterTMR(it => Grammar.toLowerCaseNoAccent(it.label).match(labelSearch) || it.coord == search);
|
||||
|
Reference in New Issue
Block a user