From 4c5f953b7ba783797bc252f8ac6b68c5619f73e4 Mon Sep 17 00:00:00 2001 From: titanium_machine <78664175+titaniummachine1@users.noreply.github.com> Date: Thu, 8 May 2025 00:48:58 +0200 Subject: [PATCH] Add Forced move classification (#19) --- public/icons/forced.png | Bin 0 -> 1484 bytes src/lib/engine/helpers/moveClassification.ts | 9 +++++++++ src/types/enums.ts | 1 + 3 files changed, 10 insertions(+) create mode 100644 public/icons/forced.png diff --git a/public/icons/forced.png b/public/icons/forced.png new file mode 100644 index 0000000000000000000000000000000000000000..e34ba39704a0863cc91c23f976b8e7d254099466 GIT binary patch literal 1484 zcmV;-1vC1IP)@5S9?dIQ~E-icx|g zh#M*pA>e~RFlvYpBWj|6L}HMDLpES@v|ZcV-rmPC=a!Xryet+~z2~0a_x&E{ zch1HC4Tca>mV}+3ZL>ua(HWYqoZ&bg9K(TS8PMrE(V%K72qBGjt9T>etw}6VC%k@W^0;KxIQH%eeyB zJkLAUmn5g4fd0H1fPoOK79H`xM>>Vag+~5zIbC<(YlAJD`LJ@q8Z?cciW~jiMqkJX zDTKgVXwPuu36PakJ2oL+1uoHJ z*kb82|ZUtEFyiBU)S5pwjKbt#D64 zI&9XA)2!Vp<_#E4MokZEyj=L)eym)u7Qyk85l_bQW?2PWhL7%Q|0ZZ8m&|Jg$8mX% z4f3*t8QCT?8hrKLaj2>ao)@yS$(`EbRb2tk2svhn>GByB2+(n47k=wLhx&!g)(J7G`;j9WjbiuV9q3E-ps67URnhX6H0>vb03H@-x(c4nM4{5- z!={gv{3+{jM^%0yrdjbQRdMRlYs+!Z;bm0Ai@8RV669_g1AzB?!6vc!* z<9$3HU;X^z_3^BLwM*Onjt#`y2wUE6NZaaQCyYcQ*tVw~mwGQ?>Xa#92m?(sKZjBW zlWH6ld|?0Jy=;|@6YJmVmAbk-_KJh0jsyYE;@&j zt4tbFR1R%uZI9j!NDkZfj@QQOo@BSkyUg~WEa-bdGAZHOU)L~ZYz-hlyJ2BqcUC(;>|*YP3+TRx~#^!{u-zRf1e)(-?@v zo(#HXd{{7Uw%_mQ-0n=;!}r-m`zcNr3dYL=1Hx!X6B((nI(JiO%jp90;a*G*9Qv5K zp13ki@Zh}hDn^81&j7j5p+RF5q$PEhCFT5MU1(#}?76aD%|1A=n+>OXgRH1u6xlIenCyS{FD+wI|Omn9$Jv literal 0 HcmV?d00001 diff --git a/src/lib/engine/helpers/moveClassification.ts b/src/lib/engine/helpers/moveClassification.ts index 2f0b300..a9bf856 100644 --- a/src/lib/engine/helpers/moveClassification.ts +++ b/src/lib/engine/helpers/moveClassification.ts @@ -29,6 +29,15 @@ export const getMovesClassification = ( }; } + const prevPosition = rawPositions[index - 1]; + if (prevPosition.bestMove && prevPosition.lines.length <= 1) { + return { + ...rawPosition, + opening: currentOpening, + moveClassification: MoveClassification.Forced, + }; + } + const playedMove = uciMoves[index - 1]; const bestMove = rawPositions[index - 1].bestMove; diff --git a/src/types/enums.ts b/src/types/enums.ts index 78bc6aa..e537bdb 100644 --- a/src/types/enums.ts +++ b/src/types/enums.ts @@ -21,6 +21,7 @@ export enum MoveClassification { Good = "good", Excellent = "excellent", Best = "best", + Forced = "forced", Book = "book", Great = "great", Brilliant = "brilliant",