A Letter-Swapping Crossword Puzzle Game with Real News Headlines
Transform scrambled letters into news headlines using crossword-style logic! No trivia knowledge required โ just spatial reasoning and strategic thinking.
Want to jump right in and try Headlines? Play the full game online right now:
No downloads or setup required โ just click and start solving crossword puzzles with real news headlines!
You can also create your own personalized crossword puzzle and share it with your friends with a simple link
Unlike traditional crosswords that require knowledge, this is a pure logic puzzle where contextual hints make the challenge engaging and solvable.
- Observe the Grid: Letters are arranged in a crossword pattern but scrambled
- Read the Hint: Check the description below the grid for contextual clues about the headline
- Click Two Letters: Select any two letters to swap their positions
- Use Color Feedback: Colors guide you toward the correct solution
- Solve the Headlines: Reconstruct all news headlines to win
The hint system is crucial - descriptions provide semantic clues that help you think about what words might fit in the scrambled headline. Most of the time, words present in the description are also present or have synonyms in the headlines, giving you meaningful guidance for solving.
| Color | Meaning |
|---|---|
| ๐ข Green | Letter is in the correct position |
| ๐ Orange | Letter belongs to this word but wrong position |
| ๐ฃ Purple | Letter belongs to a connected/intersecting word |
| โซ Gray | Letter belongs to a different, non-connected word |
- Multi-phase algorithm with intelligent word placement
- Intersection detection using shared letters
- Layout validation ensuring proper crossword rules
- Fallback systems for edge cases
- Dynamic color coding based on letter relationships
- Intersection cell handling for letters belonging to multiple words
- Connected word logic showing relationships between crossing words
- English and Russian with automatic language detection
- Language selector dropdown for manual switching
- Independent RSS language configuration
- Parallel fetching from multiple news sources for instant loading
- Real-time headline processing with HTML content cleaning
- Multilingual RSS support with special headline formatting
- Debug panel (press 'D') with comprehensive game state analysis
- Test framework for validating color logic and edge cases
- Grid state export for creating test cases
js/ # Modular JavaScript architecture
โโโ main.js # Entry point and global state
โโโ create-puzzle.js # Creator page logic
โโโ core/ # Core engine modules
โ โโโ crossword-engine.js # Smart backbone-first layout generation
โ โโโ grid-manager.js # Grid management
โ โโโ color-logic.js # Color feedback logic
โโโ gameplay/ # Game features
โ โโโ difficulty-system.js # Letter scrambling algorithms
โ โโโ game-controller.js # Game flow control
โโโ localization/ # Localization system
โ โโโ en.js # English translations
โ โโโ ru.js # Russian translations
โ โโโ i18n.js # Localization manager
โโโ platforms/ # Platform abstraction layer
โ โโโ platformAdapter.js # Platform adapter interface
โ โโโ webPlatform.js # Web platform implementation
โโโ rss/ # RSS and headline processing
โ โโโ async-rss-fetcher.js # Parallel RSS fetching
โ โโโ custom-puzzle-loader.js # Custom puzzle loading
โ โโโ headline-manager.js # Headline pool management
โ โโโ headline-scorer.js # Headline filtering & scoring
โ โโโ rss-parser.js # RSS feed parsing
โ โโโ html-processor.js # HTML cleaning
โโโ singletons/ # Singleton pattern modules
โ โโโ analytics.js # Analytics tracking
โ โโโ soundManager.js # Audio system management
โโโ tutorials/ # Tutorial system
โ โโโ popups.js # General popup/modal system
โ โโโ tutorials.js # Tutorial state management
โโโ ui/ # User interface modules
โ โโโ hamburger-menu.js # Hamburger menu functionality
โ โโโ ui-interactions.js # User interface & rendering
โ โโโ victory-animations.js # Victory animations
โโโ utils/ # Utilities
โ โโโ debug-utils.js # Debug panel tools
โ โโโ gamestats.js # Game statistics tracking
โ โโโ utils.js # General utilities
โโโ lib/ # Third-party libraries
โโโ lz-string.min.js # LZ compression library
headlines/
โโโ index.html # Main game interface
โโโ create-puzzle.html # Creator page interface
โโโ data.js # Configuration and data
โโโ data-audio.js # Audio system configuration
โโโ news-fetching-config.js # RSS feed configuration
โโโ build-utils.js # Build utilities
โโโ build.js # Build script
โโโ launch.bat # Windows launcher
โโโ launch.sh # Unix launcher
โโโ package.json # Node.js dependencies
โโโ README.md # Project documentation
โโโ content/ # Content assets
โ โโโ bgs/ # Background images
โ โโโ images/ # Game images
โ โโโ prototypes/ # Prototype files
โโโ css/ # Stylesheets
โ โโโ base.css # Base styling and layout
โ โโโ theme.css # CSS custom properties and design tokens
โ โโโ game-board.css # Game board styling
โ โโโ create-puzzle.css # Creator page styling
โ โโโ hamburger-menu.css # Hamburger menu styling
โ โโโ debug-panel.css # Debug panel styling
โ โโโ hint-section.css # Hint section styling
โ โโโ moves-counter.css # Moves counter styling
โ โโโ victory-modal.css # Victory modal styling
โ โโโ popups.css # General popup/modal styling
โ โโโ tutorials.css # Tutorial overlay and content styling
โ โโโ loading.css # Loading animation and spinner styling
โ โโโ responsive.css # Responsive design and media queries
โโโ fonts/ # Font files
โโโ imgs/ # Image assets
โโโ js/ # See Modular Design section above
โโโ test/ # Test framework and utilities
โ โโโ [various test files] # Test interfaces and utilities
โโโ memory-bank/ # Project documentation
โโโ activeContext.md # Current development context
โโโ analyticsEvents.md # Analytics events documentation
โโโ customEvents.md # Custom events documentation
โโโ designGuidelines.md # Design guidelines
โโโ projectBrief.md # Project brief
โโโ projectOverview.md # Project overview
โโโ systemPatterns.md # System architecture patterns
โโโ techContext.md # Technical documentation
This project uses a comprehensive memory-bank system for development guidance:
memory-bank/designGuidelines.md: Contains visual design principles, Material Design approach, color palette, typography, and component styling guidelinesmemory-bank/systemPatterns.md: Documents architecture decisions and technical patternsmemory-bank/techContext.md: Technology stack and development environment setupmemory-bank/projectbrief.md: Project scope and core requirements
For developers: Start by reading the memory-bank files to understand the project's design philosophy and technical decisions.
Press 'D' during to access:
- Current game state analysis
- Layout generation details
- Difficulty system information
- Test case generation tools
- Grid state export functionality
The project includes multiple test files:
test.html- Main testing interfacetest-html-processor.html- HTML processing teststest-rss-parser.html- RSS parsing tests
- ES6 JavaScript support
- CSS Grid and Flexbox
- Modern DOM APIs
- No external dependencies
- Zero Dependencies: Pure vanilla JavaScript, HTML, and CSS
- No Build Process: Direct browser execution
- Modular Architecture: Clean separation of concerns
- Advanced Algorithms: Sophisticated crossword generation and scrambling
- Developer-Friendly: Extensive debug tools and documentation
- RSS Integration: Real-time headline fetching with parallel processing
- Multi-language Support: Zero-dependency localization system with automatic detection
- Configurable Systems: Runtime configuration for difficulty, animations, and scoring
- Local storage for progress saving
- API integration for real-time headlines
- Enhanced difficulty levels
- Timer functionality and scoring
- Hint system
- Mobile touch optimization (partially implemented)
- Multiplayer support
- Achievement system
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Test thoroughly using the test framework
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Maintain the modular architecture
- Add test cases for new features
- Update documentation in the memory-bank
- Use the debug panel for testing
- Follow the existing code patterns
- Consult
memory-bank/designGuidelines.mdfor styling consistency
If you use this code or create derivative works, please provide proper attribution:
- Include a clear acknowledgment that the project was created using this repository
- Credit Pak911 as the original author
- Link back to the original repository: https://github.com/Pak911/headlines
Example attribution:
Based on "Headlines" by Pak911 (https://github.com/Pak911/headlines)
This attribution helps support the open-source community and gives credit where it's due.
- Inspired by crossword puzzles and Wordle-style feedback
- Built with modern web technologies
- Designed for educational and entertainment purposes
- Created by Pak911 with love for game design and code