import { GameEngine } from '../src/game/engine.ts' import { store } from '../src/game/store.ts' const eng = new GameEngine() eng.startGame('normal') // irgendein blockierendes Hindernis finden const blocked = [...eng.blockedCells] console.log('blockierte Zellen:', blocked.length) const [tx, ty] = blocked[0].split(',').map(Number) const item = eng.obstacleAt(tx, ty)! console.log('Hindernis:', item.type, 'auf', tx, ty, '| canPlace davor:', eng.canPlace(tx, ty)) // per Klick auswählen (Klick auf Zellmitte); store wird in step() synchronisiert eng.click(tx * 48 + 24, ty * 48 + 24) eng.step(0) console.log('Panel offen:', store.obstacle !== null, '| Typ:', store.obstacle?.type, '| Kosten:', store.obstacle?.cost) // zu wenig Gold -> Ablehnung eng.money = 10 eng.removeSelectedObstacle() console.log('abgelehnt bei 10 Gold: Panel noch offen =', store.obstacle !== null, '| Gold =', eng.money) // genug Gold -> Entfernen klappt eng.money = 500 eng.removeSelectedObstacle() eng.step(0) console.log( 'entfernt: Panel zu =', store.obstacle === null, '| Gold -' + (500 - eng.money), '| canPlace danach:', eng.canPlace(tx, ty), '| Dekor weg:', eng.obstacleAt(tx, ty) === undefined, ) // Turm auf freigewordener Zelle bauen console.log('Turmbau auf Zelle:', eng.placeTower('arrow', tx, ty)) // Neustart stellt Hindernisse wieder her eng.startGame('normal') console.log( 'nach Neustart wieder blockiert:', eng.blockedCells.has(tx + ',' + ty), '| Anzahl wie vorher:', eng.blockedCells.size === blocked.length, )