fix : forced move classification

This commit is contained in:
GuillaumeSD
2025-05-08 01:38:41 +02:00
parent 4c5f953b7b
commit 5cfac7700c
5 changed files with 11 additions and 12 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -337,6 +337,7 @@ export const getLineEvalLabel = (
export const moveClassificationColors: Record<MoveClassification, string> = {
[MoveClassification.Book]: "#d5a47d",
[MoveClassification.Forced]: "#d5a47d",
[MoveClassification.Brilliant]: "#26c2a3",
[MoveClassification.Great]: "#4099ed",
[MoveClassification.Best]: "#3aab18",

View File

@@ -13,7 +13,7 @@ export const getMovesClassification = (
fens: string[]
): PositionEval[] => {
const positionsWinPercentage = rawPositions.map(getPositionWinPercentage);
let currentOpening: string | undefined = undefined;
let currentOpening: string = "Unknown opening";
const positions = rawPositions.map((rawPosition, index) => {
if (index === 0) return rawPosition;
@@ -30,7 +30,8 @@ export const getMovesClassification = (
}
const prevPosition = rawPositions[index - 1];
if (prevPosition.bestMove && prevPosition.lines.length <= 1) {
if (prevPosition.lines.length === 1) {
return {
...rawPosition,
opening: currentOpening,
@@ -39,11 +40,9 @@ export const getMovesClassification = (
}
const playedMove = uciMoves[index - 1];
const bestMove = rawPositions[index - 1].bestMove;
const lastPositionAlternativeLine: LineEval | undefined = rawPositions[
index - 1
].lines.filter((line) => line.pv[0] !== playedMove)?.[0];
const lastPositionAlternativeLine: LineEval | undefined =
prevPosition.lines.filter((line) => line.pv[0] !== playedMove)?.[0];
const lastPositionAlternativeLineWinPercentage = lastPositionAlternativeLine
? getLineWinPercentage(lastPositionAlternativeLine)
: undefined;
@@ -93,7 +92,7 @@ export const getMovesClassification = (
};
}
if (playedMove === bestMove) {
if (playedMove === prevPosition.bestMove) {
return {
...rawPosition,
opening: currentOpening,

View File

@@ -48,6 +48,7 @@ export default function MoveInfo() {
const bestMoveLabel =
moveClassification === MoveClassification.Best ||
moveClassification === MoveClassification.Book ||
moveClassification === MoveClassification.Forced ||
moveClassification === MoveClassification.Brilliant ||
moveClassification === MoveClassification.Great
? null
@@ -97,6 +98,7 @@ export default function MoveInfo() {
const moveClassificationLabels: Record<MoveClassification, string> = {
[MoveClassification.Book]: "a book move",
[MoveClassification.Forced]: "forced",
[MoveClassification.Brilliant]: "brilliant !!",
[MoveClassification.Great]: "a great move !",
[MoveClassification.Best]: "the best move",

View File

@@ -74,11 +74,7 @@ export default function MoveItem({ san, moveClassification, moveIdx }: Props) {
}}
/>
)}
<Typography
color={getMoveColor(moveClassification)}
fontSize="0.9rem"
lineHeight="0.9rem"
>
<Typography color={color} fontSize="0.9rem" lineHeight="0.9rem">
{san}
</Typography>
</Grid>
@@ -99,4 +95,5 @@ const getMoveColor = (moveClassification?: MoveClassification) => {
const moveClassificationsToIgnore: MoveClassification[] = [
MoveClassification.Good,
MoveClassification.Excellent,
MoveClassification.Forced,
];