fix: Hex Wars - Kopf nach Mine korrekt, volles Grid bei Spielende
This commit is contained in:
@@ -175,11 +175,15 @@ function GameBoard({ game, myId, onMove, toast }) {
|
||||
} catch {}
|
||||
}, [game.last_event]);
|
||||
|
||||
// Schlangen-Kopf aus Server-Response
|
||||
const myHeadStr = game.myHead;
|
||||
const myHead = myHeadStr ? myHeadStr.split(',').map(Number) : null;
|
||||
// Schlangen-Köpfe aus Server-Response
|
||||
const myHeadStr = game.myHead;
|
||||
const myHead = myHeadStr ? myHeadStr.split(',').map(Number) : null;
|
||||
const [myHR, myHC] = myHead ?? [null, null];
|
||||
|
||||
const oppHeadStr = game.oppHead;
|
||||
const oppHead = oppHeadStr ? oppHeadStr.split(',').map(Number) : null;
|
||||
const [oppHR, oppHC] = oppHead ?? [null, null];
|
||||
|
||||
const isAdjacentToHead = (r, c) => {
|
||||
if (myHR === null) return false;
|
||||
return Math.abs(r - myHR) <= 1 && Math.abs(c - myHC) <= 1 && !(r === myHR && c === myHC);
|
||||
@@ -258,7 +262,8 @@ function GameBoard({ game, myId, onMove, toast }) {
|
||||
const clic = canClick(r, c);
|
||||
const isPend = pending?.row === r && pending?.col === c;
|
||||
const isBlast = blastHighlight.has(`${r}-${c}`);
|
||||
const isHead = myHR === r && myHC === c; // eigener Kopf
|
||||
const isHead = myHR === r && myHC === c; // eigener Kopf
|
||||
const isOppHead = game.status === 'finished' && oppHR === r && oppHC === c; // Gegner-Kopf nur bei Spielende
|
||||
const isFog = t === T_FOG;
|
||||
const isRock = t === T_ROCK;
|
||||
const isGold = t === T_GOLD;
|
||||
@@ -287,7 +292,8 @@ function GameBoard({ game, myId, onMove, toast }) {
|
||||
}
|
||||
|
||||
if (isBlast) { bg = '#ff440066'; border = '2px solid #ff4400'; }
|
||||
if (isHead && !isPend) { border = `2px solid ${myColor}`; } // Kopf immer markieren
|
||||
if (isOppHead) { border = `2px solid ${oppColor}`; }
|
||||
if (isHead && !isPend) { border = `2px solid ${myColor}`; } // eigener Kopf
|
||||
if (isPend) { bg = myColor; border = `2px solid ${myColor}`; }
|
||||
else if (clic && !isPend && !isBlast && !isHead) border = `1px solid ${myColor}44`;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user