From 5a0c533c6046189bb79ed16546a3d2ffd6aa50dd Mon Sep 17 00:00:00 2001 From: Noah Date: Wed, 11 Mar 2026 12:22:31 -0700 Subject: [PATCH 1/4] Posting current progress on Scenarios.js work - Currently On: "The Pin Pin it to Win it" --- .../lessons/lessons-main/Scenarios.js | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/react-ystemandchess/src/features/lessons/lessons-main/Scenarios.js b/react-ystemandchess/src/features/lessons/lessons-main/Scenarios.js index 7ab4f4f9..bfc7767b 100644 --- a/react-ystemandchess/src/features/lessons/lessons-main/Scenarios.js +++ b/react-ystemandchess/src/features/lessons/lessons-main/Scenarios.js @@ -424,21 +424,30 @@ export const scenariosArray = [ name: 'Queen and rook mate', fen: '8/8/3k4/8/8/4K3/8/Q6R w - - 0 1', info: 'Use your queen and rook to restrict the king and deliver checkmate. Mate in 3 if played perfectly.', + solution: null, + goal: { type: 'CHECKMATE', by: 'player'}, + }, { name: 'Two rook mate', fen: '8/8/3k4/8/8/4K3/8/R6R w - - 0 1', info: `Use your rooks to restrict the king and deliver checkmate. Mate in 4 if played perfectly.`, + solution: null, + goal: { type: 'CHECKMATE', by: 'player'}, }, { name: 'Queen and bishop mate', fen: '8/8/3k4/8/8/2QBK3/8/8 w - - 0 1', info: `Use your queen and bishop to restrict the king and deliver checkmate. Mate in 5 if played perfectly.`, + solution: null, + goal: { type: 'CHECKMATE', by: 'player'}, }, { name: 'Queen and knight mate', fen: '8/8/3k4/8/8/2QNK3/8/8 w - - 0 1', info: `Use your queen and knight to restrict the king and deliver checkmate. Mate in 5 if played perfectly.`, + solution: null, + goal: { type: 'CHECKMATE', by: 'player'}, }, { name: 'Queen mate', @@ -948,6 +957,7 @@ export const scenariosArray = [ }, ] }, + //TODO: WORK ON THIS RIGHT NOW { name: "The Pin Pin it to win it", subSections: [ @@ -964,7 +974,9 @@ export const scenariosArray = [ { name: "Set up a relative pin #1", fen: "1k6/ppp3q1/8/4r3/8/8/3B1PPP/R4QK1 w - - 0 1", - info: "Get a winning position in 1 move. A relative pin is one where the piece shielded by the pinned piece is a piece other than the king, but it's typically more valuable than the pinned piece. Moving such a pinned piece is legal but may not be prudent, as the shielded piece would then be vulnerable to capture. Do you see the immediate relative pin?" + info: "Get a winning position in 1 move. A relative pin is one where the piece shielded by the pinned piece is a piece other than the king, but it's typically more valuable than the pinned piece. Moving such a pinned piece is legal but may not be prudent, as the shielded piece would then be vulnerable to capture. Do you see the immediate relative pin?", + // UPDATE: the best move is Bishop to c3. + solution: 'Bc3', }, { name: "Exploit the pin #1", @@ -974,17 +986,24 @@ export const scenariosArray = [ { name: "Exploit the pin #2", fen: "r4rk1/pp1p1ppp/1qp2n2/8/4P3/1P1P2Q1/PBP2PPP/R4RK1 w - - 0 1", - info: "Get a winning position in 1 move. Use your knowledge of pins to win a piece." + info: "Get a winning position in 1 move. Use your knowledge of pins to win a piece.", + // UPDATE: the best move is Bishop to f6. + solution: 'Bxf6', }, { name: "Exploit the pin #3", fen: "4r1r1/2p5/1p1kn3/p1p1R1p1/P6p/5N1P/1PP1R1PK/8 w - - 0 1", - info: "Get a winning position in 1 move. Use your knowledge of pins to win a pawn. From Magnus Carlsen - Arkadij Naiditsch, 2009." + info: "Get a winning position in 1 move. Use your knowledge of pins to win a pawn. From Magnus Carlsen - Arkadij Naiditsch, 2009.", + // UPDATE: the best move is Knight to g5. + solution: 'Nxg5', + }, { name: "Exploit the pin #4", fen: "1r1n1rk1/ppq2p2/2b2bp1/2pB3p/2P4P/4P3/PBQ2PP1/1R3RK1 w - - 0 1", - info: "Checkmate the opponent in 2 moves" + info: "Checkmate the opponent in 2 moves", + goal: "CHECKMATE", + //TODO: find the solution to this one. }, { name: "Exploit the pin #5", From 94bfbee1a7677dfc8955b8eef955540801bb4c85 Mon Sep 17 00:00:00 2001 From: Noah Date: Wed, 11 Mar 2026 12:23:10 -0700 Subject: [PATCH 2/4] Posting current progress on Scenarios.js work - Currently On: "The Pin Pin it to Win it" --- .../src/features/lessons/lessons-main/Scenarios.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/react-ystemandchess/src/features/lessons/lessons-main/Scenarios.js b/react-ystemandchess/src/features/lessons/lessons-main/Scenarios.js index bfc7767b..266f38cd 100644 --- a/react-ystemandchess/src/features/lessons/lessons-main/Scenarios.js +++ b/react-ystemandchess/src/features/lessons/lessons-main/Scenarios.js @@ -957,7 +957,7 @@ export const scenariosArray = [ }, ] }, - //TODO: WORK ON THIS RIGHT NOW + //NOTE: Noah DeMent is working on this section, so the content is not finalized yet. { name: "The Pin Pin it to win it", subSections: [ From d190510519d6cef93d31fa06ae93d48dd1be78ba Mon Sep 17 00:00:00 2001 From: Noah Date: Fri, 13 Mar 2026 15:28:29 -0700 Subject: [PATCH 3/4] Made more progress on pinning lessons; some need more research done in order to test, but the ones i've updated are ready to be submitted as updates to the database. --- .../src/features/lessons/lessons-main/Scenarios.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/react-ystemandchess/src/features/lessons/lessons-main/Scenarios.js b/react-ystemandchess/src/features/lessons/lessons-main/Scenarios.js index 266f38cd..9f3f17ac 100644 --- a/react-ystemandchess/src/features/lessons/lessons-main/Scenarios.js +++ b/react-ystemandchess/src/features/lessons/lessons-main/Scenarios.js @@ -1003,7 +1003,8 @@ export const scenariosArray = [ fen: "1r1n1rk1/ppq2p2/2b2bp1/2pB3p/2P4P/4P3/PBQ2PP1/1R3RK1 w - - 0 1", info: "Checkmate the opponent in 2 moves", goal: "CHECKMATE", - //TODO: find the solution to this one. + solution: 'Qxg6+ Kh8 Bxf6#', + // UPDATE: the best move is Queen to g6. Mate in two, with Bishop to f6 securing the win. }, { name: "Exploit the pin #5", From a08a88a4b53188b8abbb4ac2d3ecce3893804494 Mon Sep 17 00:00:00 2001 From: Noah Date: Wed, 18 Mar 2026 14:23:40 -0700 Subject: [PATCH 4/4] Pinning Lessons complete, but need review before being updated. --- .../features/lessons/lessons-main/Scenarios.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/react-ystemandchess/src/features/lessons/lessons-main/Scenarios.js b/react-ystemandchess/src/features/lessons/lessons-main/Scenarios.js index 9f3f17ac..d3db7bba 100644 --- a/react-ystemandchess/src/features/lessons/lessons-main/Scenarios.js +++ b/react-ystemandchess/src/features/lessons/lessons-main/Scenarios.js @@ -964,12 +964,14 @@ export const scenariosArray = [ { name: "Set up an absolute pin #1", fen: "7k/8/8/4n3/4P3/8/8/6BK w - - 0 1", - info: "Get a winning position in 2 moves. An absolute pin is when a piece is pinned to its king and can't move without exposing its king to a check from an opposing piece on the same line or diagonal. Pin the knight to win it." + info: "Get a winning position in 2 moves. An absolute pin is when a piece is pinned to its king and can't move without exposing its king to a check from an opposing piece on the same line or diagonal. Pin the knight to win it.", + solution: 'Bd4 Kg8 Bxe5', }, { name: "Set up an absolute pin #2", fen: "5k2/p1p2pp1/7p/2r5/8/1P3P2/PBP3PP/1K6 w - - 0 1", - info: "Get a winning position in 2 moves. Can you set up an immediate absolute pin?" + info: "Get a winning position in 2 moves. Can you set up an immediate absolute pin?", + solution: 'Ba3 Ke8 Bxc5', }, { name: "Set up a relative pin #1", @@ -981,20 +983,19 @@ export const scenariosArray = [ { name: "Exploit the pin #1", fen: "4k3/6p1/5p1p/4n3/8/7P/5PP1/4R1K1 w - - 0 1", - info: "Get a winning position in 2 moves. Use your knowledge of pins to win a piece." + info: "Get a winning position in 2 moves. Use your knowledge of pins to win a piece.", + solution: 'f4 Kf7 fxe5', }, { name: "Exploit the pin #2", fen: "r4rk1/pp1p1ppp/1qp2n2/8/4P3/1P1P2Q1/PBP2PPP/R4RK1 w - - 0 1", info: "Get a winning position in 1 move. Use your knowledge of pins to win a piece.", - // UPDATE: the best move is Bishop to f6. solution: 'Bxf6', }, { name: "Exploit the pin #3", fen: "4r1r1/2p5/1p1kn3/p1p1R1p1/P6p/5N1P/1PP1R1PK/8 w - - 0 1", info: "Get a winning position in 1 move. Use your knowledge of pins to win a pawn. From Magnus Carlsen - Arkadij Naiditsch, 2009.", - // UPDATE: the best move is Knight to g5. solution: 'Nxg5', }, @@ -1009,10 +1010,13 @@ export const scenariosArray = [ { name: "Exploit the pin #5", fen: "q5k1/5pp1/8/1pb1P3/2p4p/2P2r1P/1P3PQ1/1N3R1K b - - 0 1", - info: "Get a winning position in 3 moves" + info: "Get a winning position in 3 moves", + solution: 'Kh2 Qe4 Nd2 Qxe5+ Kh1', + // UPDATE: this seems to be the best move, according to nextchessmove.com, but I could use some confirmation. }, ] }, + //NOTE: Noah DeMent is ALSO working on this section, so the content is not finalized yet. { name: "The Skewer Yum - Skewers!", subSections: [