dependabot[bot] and GitHub
adc2e1de32
chore(deps): bump actions/upload-pages-artifact from 3 to 5 ( #9 )
2026-05-23 18:45:44 +07:00
dependabot[bot] and GitHub
0031e82353
chore(deps): bump next from 15.3.1 to 16.2.6 ( #14 )
2026-05-23 18:44:56 +07:00
dependabot[bot] and GitHub
781dfdf4c0
chore(deps): bump phaser from 3.90.0 to 4.1.0 ( #15 )
2026-05-23 18:17:01 +07:00
dependabot[bot] and GitHub
304b5358ea
chore(deps-dev): bump jest from 29.7.0 to 30.4.2 ( #13 )
2026-05-23 18:14:06 +07:00
dependabot[bot] and GitHub
8d21684226
chore(deps): bump the minor-and-patch group with 2 updates ( #12 )
2026-05-23 18:11:31 +07:00
dependabot[bot] and GitHub
c90eb2b020
chore(deps): bump actions/checkout from 4 to 6 ( #10 )
2026-05-23 18:09:52 +07:00
dependabot[bot] and GitHub
e92616146a
chore(deps): bump actions/setup-node from 4 to 6 ( #8 )
2026-05-23 18:09:48 +07:00
dependabot[bot] and GitHub
d57a55ab4a
chore(deps): bump actions/configure-pages from 5 to 6 ( #7 )
2026-05-23 18:09:44 +07:00
tiennm99 and GitHub
8dfdc6e450
chore: add dependabot config ( #6 )
2026-05-23 10:48:23 +07:00
tiennm99
9f1a424c47
chore(ci): bump node to 24
2026-05-13 10:52:35 +07:00
tiennm99
72d81a5bd8
fix(ci): approve sharp build via pnpm-workspace.yaml allowBuilds
2026-05-13 10:39:13 +07:00
tiennm99
edb7b96fea
fix(ci): bump Node.js to 22 required by pnpm@11.1.1
2026-05-13 10:33:45 +07:00
tiennm99
232b657be0
fix(ci): remove pnpm version override conflicting with packageManager
2026-05-13 10:28:42 +07:00
tiennm99
9b377ecd00
chore: migrate from npm to pnpm
...
Replace package-lock.json with pnpm-lock.yaml, add packageManager field,
update GitHub Actions workflow to use pnpm/action-setup@v4, and convert
README instructional npm commands to pnpm equivalents.
2026-05-13 10:20:18 +07:00
tiennm99
d8deea4009
chore: relicense from MIT to Apache-2.0 (sole-author repo)
2026-05-11 17:15:45 +07:00
tiennm99
27fc7c1749
update .gitignore to exclude chrome-devtools artifacts
2026-04-04 17:33:27 +07:00
tiennm99
6d6cd80c23
refactor: replace card terminology with emoji/cell in user-facing text
...
- Page title: "Pikachu Card Matching" → "Pikachu Connect"
- Menu subtitle: "Card Matching" → "Emoji Matching"
- CLAUDE.md: update descriptions to reflect emoji-based game
- game-design.md: "Card Rendering/States" → "Cell Rendering/States"
- README: remove obsolete card asset pack reference
- Internal code names (cardBg, selectedCards) kept as-is
2026-04-04 17:22:44 +07:00
tiennm99
107a1d6db8
feat: rounded corners for cards, buttons, and grid border
...
- Replace sharp Rectangle objects with rounded rect Graphics/textures
- Generate card state textures (normal/hover/selected/mismatch/hint)
with 6px radius via fillRoundedRect at scene init
- Buttons use Graphics with 8px radius and redraw on hover/press
- Grid border uses 10px rounded rect
- MainMenu start button also rounded, dark theme consistent
- State changes use setTexture() instead of setFillStyle/setStrokeStyle
2026-04-04 17:18:09 +07:00
tiennm99
9d2712a82c
feat: dark theme UI with score/combo/timer + modularize game scene
...
- Dark theme (0x0d0d2b) with gold accents inspired by pikachu-connect
- Score system with combo multiplier (max x8, 2.5s window)
- 180s countdown timer with red warning at ≤30s
- Gold selection glow, match rotation animation, combo popups
- Glowing path effect (thick glow + thin core + endpoint dots)
- Blue hint glow animation, win/loss completion screens
- Modularize PikachuGame.js (605→290 lines) into:
- pikachu-game-config.js (constants)
- pikachu-path-renderer.js (path drawing)
- pikachu-game-ui.js (buttons, timer, stats, completion, hint)
2026-04-04 17:09:36 +07:00
tiennm99
1fe50aa6d5
fix: clear path lines after match animation completes
2026-04-04 16:49:38 +07:00
tiennm99
9ec6faabac
fix: use Graphics instead of Line for correct path drawing
...
Phaser Line objects have origin (0.5, 0.5) which shifts the line
off-position. Switch to Graphics.strokePath() which draws at
absolute coordinates.
2026-04-04 16:09:15 +07:00
tiennm99
5c57a3f85f
feat: always show connection path between selected cards
...
- Valid match: green path drawn along the actual route, visible for 400ms
before cards are removed
- Invalid match: red line between the two cards with fade-in animation,
visible for 500ms alongside shake feedback
- Path lines animate in with staggered fade (150ms per segment, 50ms delay)
- No longer requires debug mode to see connection paths
2026-04-04 15:50:15 +07:00
tiennm99
6489633784
docs: replace PDF with comprehensive game design document
...
Extract and expand game rules from pikachu.pdf into detailed markdown.
Covers board structure, all 4 matching patterns with ASCII diagrams,
card states, animation specs, symbol set, and technical architecture.
2026-04-04 15:25:54 +07:00
tiennm99
3bb6ed5d74
fix: regenerate package-lock.json for npm ci compatibility
2026-04-04 14:52:59 +07:00
tiennm99
214c305e83
ci: add GitHub Actions workflow to deploy to GitHub Pages
...
- Add deploy.yml: test → build → deploy pipeline
- Update next.config.mjs with basePath/assetPrefix for /pikachu/ subpath
- Uses actions/deploy-pages for GitHub Pages deployment
2026-04-04 14:42:00 +07:00
tiennm99
48a8aa29ae
remove settings.local.json from version control
2026-04-04 14:28:05 +07:00
tiennm99
1b64ab7a7b
fix: add text padding to prevent emoji glyph clipping
2026-04-04 14:25:33 +07:00
tiennm99
38d107a57a
feat: add ?scene=game URL param to skip menu for debugging
2026-04-04 14:17:20 +07:00
tiennm99
45774cf563
fix: adjust card size and padding for better emoji display
2026-04-04 14:14:15 +07:00
tiennm99
b3fac84176
fix: enlarge cards to 55x55 so emojis display without cropping
2026-04-04 14:05:09 +07:00
tiennm99
e68038a157
fix: make cards square so emojis display fully without cropping
2026-04-04 14:00:35 +07:00
tiennm99
4b20343673
feat: use fun emojis as card faces
...
Replace card suit symbols with 24 fun emojis (faces, animals, objects)
for a more playful and visually distinct matching experience.
2026-04-04 13:55:09 +07:00
tiennm99
57bd599d90
feat: replace card images with emoji-styled cards, polish UI/UX
...
- Replace 52 card PNG assets with emoji-styled cards (suit symbols + values)
rendered via Phaser containers (rectangle bg + text)
- Card interactions: hover (blue bg + scale), selection (green bg + pulse),
match (white flash + scale up + fade), mismatch (red bg + shake)
- MainMenu: title entrance animation, button hover/press feedback,
scene fade transitions, subtle title glow pulse
- Add moves counter tracking player progress
- Completion screen: dark overlay, animated congratulations, move stats,
play again button
- Unified dark elegant theme (#16213e) across all scenes and CSS
- Clean up globals.css, remove unused styles
- Preloader: simplified without card asset loading
2026-04-04 13:52:03 +07:00
tiennm99
31e3fe6f93
refactor: DRY up game logic, remove dead code
...
- PikachuGameLogic.js: eliminate duplicated pattern methods (507→240 lines)
- Remove non-WithPath variants, rename WithPath to findIPath/findLPath/etc
- Replace redundant checkLineX/Y with isPathClear
- New findPath() returns {valid, path, pattern} as single source of truth
- Rename confusing U-pattern helpers with descriptive names
- Fix testMove calling pattern methods twice redundantly
- PikachuGame.js: use new findPath API, remove dead changeScene method
- Delete empty unused Home.module.css, clean up index.jsx
- Simplify jest.config.js
2026-04-04 13:20:10 +07:00
tiennm99
007882962b
update .gitignore with session-state and settings.local.json
2026-04-04 12:51:00 +07:00
tiennm99
ffd7577a65
fix: Z-pattern logic, eliminate code duplication, fix tests
...
- Fix Z-pattern to use proper 2-turn path (H-V-H and V-H-V scanning)
instead of single midpoint which only duplicated L-pattern behavior
- Eliminate ~390 lines of duplicated pattern-matching code from
PikachuGame.js by delegating to PikachuGameLogic via shared board ref
- Fix removeCards to reset type=0 so pattern matching works after removal
- Fix Jest config: remove invalid preset, add ESM support for Windows
- Rename log.js to log.cjs for CommonJS compatibility with ESM project
- Fix test expectations to account for pattern priority and border routing
2026-04-04 12:50:30 +07:00
tiennm99
73239c1e27
test: init tests
2025-07-17 14:16:06 +07:00
tiennm99
b0ebabb372
fix: logic
2025-07-17 13:36:27 +07:00
tiennm99
7f7ebe6753
feat: init claude, debug line
2025-07-17 13:28:01 +07:00
tiennm99
66d8b70ed1
feat: cleanup, fix U pattern
2025-07-16 23:45:26 +07:00
tiennm99
f9f3a9b355
feat: init simple rule
2025-07-16 23:19:12 +07:00
tiennm99
fb691216af
Add credits section to README
...
Added a 'Credit' section to the README with links to the rule document and asset pack used in the project.
2025-07-16 23:13:05 +07:00
tiennm99
e80b412f02
feat: add assets
2025-07-16 23:11:19 +07:00
tiennm99
0b4614b99e
feat: convert ts to js
2025-07-16 22:43:51 +07:00
tiennm99
db0a199940
chore: init
2025-07-16 22:30:16 +07:00
Tien Nguyen Minh and GitHub
d1fbb908a9
Initial commit
2025-07-16 22:11:29 +07:00