fix : forced move classification
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 2.1 KiB |
@@ -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",
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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,
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user