Files
HexTrails/src/tap-queue.js
T

8 lines
401 B
JavaScript

// Store identities, not coordinates: re-check each move against the latest board.
export class TapQueue {
constructor(){this.ids=[];}
add(id,activeId){if(id===activeId||this.ids.includes(id))return false;this.ids.push(id);return true;}
take(tiles){while(this.ids.length){const id=this.ids.shift(),tile=tiles.find(t=>t.id===id);if(tile)return tile;}return null;}
clear(){this.ids.length=0;}
}