Add Knights and Knaves puzzle

Adds the "Knights and Knaves - I" interactive to the Foundations section. The interactive features a central arena and five external boxes for statements. Dragging statements into the arena turns them green, and incompatible statements turn the arena red.
This commit is contained in:
gpt-engineer-app[bot] 2025-08-08 06:49:18 +00:00
parent 16ccffa5f4
commit 954110c6a2
4 changed files with 208 additions and 0 deletions

View file

@ -8,6 +8,7 @@ import TernaryNumberGame from "@/components/TernaryNumberGame";
import BalancedTernaryGame from "@/components/BalancedTernaryGame";
import ZeckendorfGame from "@/components/ZeckendorfGame";
import ZeckendorfSearchTrick from "@/components/ZeckendorfSearchTrick";
import KnightsAndKnavesI from "@/components/KnightsAndKnavesI";
interface Interactive {
id: string;
title: string;
@ -44,6 +45,13 @@ const interactives: Interactive[] = [{
tags: ["fibonacci", "numbers", "representation", "zeckendorf", "combinatorics"],
component: ZeckendorfGame,
greenScreenPath: "/discrete-math/foundations/zeckendorf"
}, {
id: "knights-and-knaves-i",
title: "Knights and Knaves - I",
description: "Drag statements into the arena to test consistency of As claim and roles in a classic Knights & Knaves puzzle.",
tags: ["logic", "puzzle", "knights", "knaves", "truth-tellers"],
component: KnightsAndKnavesI,
greenScreenPath: "/themes/discrete-math/foundations"
}];
const Foundations = () => {
const [searchTerm, setSearchTerm] = useState("");