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> = {
|
export const moveClassificationColors: Record<MoveClassification, string> = {
|
||||||
[MoveClassification.Book]: "#d5a47d",
|
[MoveClassification.Book]: "#d5a47d",
|
||||||
|
[MoveClassification.Forced]: "#d5a47d",
|
||||||
[MoveClassification.Brilliant]: "#26c2a3",
|
[MoveClassification.Brilliant]: "#26c2a3",
|
||||||
[MoveClassification.Great]: "#4099ed",
|
[MoveClassification.Great]: "#4099ed",
|
||||||
[MoveClassification.Best]: "#3aab18",
|
[MoveClassification.Best]: "#3aab18",
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ export const getMovesClassification = (
|
|||||||
fens: string[]
|
fens: string[]
|
||||||
): PositionEval[] => {
|
): PositionEval[] => {
|
||||||
const positionsWinPercentage = rawPositions.map(getPositionWinPercentage);
|
const positionsWinPercentage = rawPositions.map(getPositionWinPercentage);
|
||||||
let currentOpening: string | undefined = undefined;
|
let currentOpening: string = "Unknown opening";
|
||||||
|
|
||||||
const positions = rawPositions.map((rawPosition, index) => {
|
const positions = rawPositions.map((rawPosition, index) => {
|
||||||
if (index === 0) return rawPosition;
|
if (index === 0) return rawPosition;
|
||||||
@@ -30,7 +30,8 @@ export const getMovesClassification = (
|
|||||||
}
|
}
|
||||||
|
|
||||||
const prevPosition = rawPositions[index - 1];
|
const prevPosition = rawPositions[index - 1];
|
||||||
if (prevPosition.bestMove && prevPosition.lines.length <= 1) {
|
|
||||||
|
if (prevPosition.lines.length === 1) {
|
||||||
return {
|
return {
|
||||||
...rawPosition,
|
...rawPosition,
|
||||||
opening: currentOpening,
|
opening: currentOpening,
|
||||||
@@ -39,11 +40,9 @@ export const getMovesClassification = (
|
|||||||
}
|
}
|
||||||
|
|
||||||
const playedMove = uciMoves[index - 1];
|
const playedMove = uciMoves[index - 1];
|
||||||
const bestMove = rawPositions[index - 1].bestMove;
|
|
||||||
|
|
||||||
const lastPositionAlternativeLine: LineEval | undefined = rawPositions[
|
const lastPositionAlternativeLine: LineEval | undefined =
|
||||||
index - 1
|
prevPosition.lines.filter((line) => line.pv[0] !== playedMove)?.[0];
|
||||||
].lines.filter((line) => line.pv[0] !== playedMove)?.[0];
|
|
||||||
const lastPositionAlternativeLineWinPercentage = lastPositionAlternativeLine
|
const lastPositionAlternativeLineWinPercentage = lastPositionAlternativeLine
|
||||||
? getLineWinPercentage(lastPositionAlternativeLine)
|
? getLineWinPercentage(lastPositionAlternativeLine)
|
||||||
: undefined;
|
: undefined;
|
||||||
@@ -93,7 +92,7 @@ export const getMovesClassification = (
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (playedMove === bestMove) {
|
if (playedMove === prevPosition.bestMove) {
|
||||||
return {
|
return {
|
||||||
...rawPosition,
|
...rawPosition,
|
||||||
opening: currentOpening,
|
opening: currentOpening,
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ export default function MoveInfo() {
|
|||||||
const bestMoveLabel =
|
const bestMoveLabel =
|
||||||
moveClassification === MoveClassification.Best ||
|
moveClassification === MoveClassification.Best ||
|
||||||
moveClassification === MoveClassification.Book ||
|
moveClassification === MoveClassification.Book ||
|
||||||
|
moveClassification === MoveClassification.Forced ||
|
||||||
moveClassification === MoveClassification.Brilliant ||
|
moveClassification === MoveClassification.Brilliant ||
|
||||||
moveClassification === MoveClassification.Great
|
moveClassification === MoveClassification.Great
|
||||||
? null
|
? null
|
||||||
@@ -97,6 +98,7 @@ export default function MoveInfo() {
|
|||||||
|
|
||||||
const moveClassificationLabels: Record<MoveClassification, string> = {
|
const moveClassificationLabels: Record<MoveClassification, string> = {
|
||||||
[MoveClassification.Book]: "a book move",
|
[MoveClassification.Book]: "a book move",
|
||||||
|
[MoveClassification.Forced]: "forced",
|
||||||
[MoveClassification.Brilliant]: "brilliant !!",
|
[MoveClassification.Brilliant]: "brilliant !!",
|
||||||
[MoveClassification.Great]: "a great move !",
|
[MoveClassification.Great]: "a great move !",
|
||||||
[MoveClassification.Best]: "the best move",
|
[MoveClassification.Best]: "the best move",
|
||||||
|
|||||||
@@ -74,11 +74,7 @@ export default function MoveItem({ san, moveClassification, moveIdx }: Props) {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
<Typography
|
<Typography color={color} fontSize="0.9rem" lineHeight="0.9rem">
|
||||||
color={getMoveColor(moveClassification)}
|
|
||||||
fontSize="0.9rem"
|
|
||||||
lineHeight="0.9rem"
|
|
||||||
>
|
|
||||||
{san}
|
{san}
|
||||||
</Typography>
|
</Typography>
|
||||||
</Grid>
|
</Grid>
|
||||||
@@ -99,4 +95,5 @@ const getMoveColor = (moveClassification?: MoveClassification) => {
|
|||||||
const moveClassificationsToIgnore: MoveClassification[] = [
|
const moveClassificationsToIgnore: MoveClassification[] = [
|
||||||
MoveClassification.Good,
|
MoveClassification.Good,
|
||||||
MoveClassification.Excellent,
|
MoveClassification.Excellent,
|
||||||
|
MoveClassification.Forced,
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user