Make Northcott's Game standalone

Give Northcott's Game a unique ID and make it accessible as a standalone interactive.
This commit is contained in:
gpt-engineer-app[bot] 2025-07-21 07:09:10 +00:00
parent 92026405a1
commit cd588e391a
3 changed files with 23 additions and 0 deletions

View file

@ -24,6 +24,7 @@ import GameOfSimGreenScreen from "./pages/GameOfSimGreenScreen";
import GameOfSimPage from "./pages/GameOfSimPage"; import GameOfSimPage from "./pages/GameOfSimPage";
import TernarySearchTrickPage from "./pages/TernarySearchTrickPage"; import TernarySearchTrickPage from "./pages/TernarySearchTrickPage";
import TernarySearchTrickGreenScreen from "./pages/TernarySearchTrickGreenScreen"; import TernarySearchTrickGreenScreen from "./pages/TernarySearchTrickGreenScreen";
import NorthcottsGamePage from "./pages/NorthcottsGamePage";
import Foundations from "./pages/theme-pages/discrete-math/Foundations"; import Foundations from "./pages/theme-pages/discrete-math/Foundations";
import Proofs from "./pages/theme-pages/discrete-math/Proofs"; import Proofs from "./pages/theme-pages/discrete-math/Proofs";
import Counting from "./pages/theme-pages/discrete-math/Counting"; import Counting from "./pages/theme-pages/discrete-math/Counting";
@ -74,6 +75,7 @@ const App = () => (
<Route path="/game-of-sim/:mode" element={<GameOfSimGreenScreen />} /> <Route path="/game-of-sim/:mode" element={<GameOfSimGreenScreen />} />
<Route path="/ternary-search-trick" element={<TernarySearchTrickPage />} /> <Route path="/ternary-search-trick" element={<TernarySearchTrickPage />} />
<Route path="/ternary-search-trick/:mode" element={<TernarySearchTrickGreenScreen />} /> <Route path="/ternary-search-trick/:mode" element={<TernarySearchTrickGreenScreen />} />
<Route path="/northcotts-game" element={<NorthcottsGamePage />} />
{/* ADD ALL CUSTOM ROUTES ABOVE THE CATCH-ALL "*" ROUTE */} {/* ADD ALL CUSTOM ROUTES ABOVE THE CATCH-ALL "*" ROUTE */}
<Route path="*" element={<NotFound />} /> <Route path="*" element={<NotFound />} />

View file

@ -6,6 +6,7 @@ import { Search } from 'lucide-react';
import Layout from '@/components/Layout'; import Layout from '@/components/Layout';
import BinarySearchTrick from '@/components/BinarySearchTrick'; import BinarySearchTrick from '@/components/BinarySearchTrick';
import TernarySearchTrick from '@/components/TernarySearchTrick'; import TernarySearchTrick from '@/components/TernarySearchTrick';
import NorthcottsGame from '@/components/NorthcottsGame';
interface Interactive { interface Interactive {
id: string; id: string;
@ -29,6 +30,13 @@ const interactives: Interactive[] = [
description: 'Experience the magic of ternary search! Think of a number and watch as the cards reveal it through mathematical calculations.', description: 'Experience the magic of ternary search! Think of a number and watch as the cards reveal it through mathematical calculations.',
tags: ['ternary', 'magic', 'numbers', 'trick', 'data-structures', 'search'], tags: ['ternary', 'magic', 'numbers', 'trick', 'data-structures', 'search'],
component: TernarySearchTrick component: TernarySearchTrick
},
{
id: 'northcotts-game',
title: "Northcott's Game",
description: 'A two-player strategy game where players move their pieces along rows trying to block each other. Features multiple game modes and customizable board sizes.',
tags: ['game', 'strategy', 'two-player', 'logic', 'combinatorial-game-theory'],
component: NorthcottsGame
} }
]; ];
const InteractiveGallery = () => { const InteractiveGallery = () => {

View file

@ -0,0 +1,13 @@
import NorthcottsGame from '@/components/NorthcottsGame';
const NorthcottsGamePage = () => {
return (
<div className="min-h-screen bg-background">
<div className="container mx-auto px-4 py-8">
<NorthcottsGame showSocialShare={true} />
</div>
</div>
);
};
export default NorthcottsGamePage;