49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
# Dino Land
|
|
|
|
No-build browser game using plain **HTML/CSS/JS/PHP**.
|
|
|
|
## Run locally
|
|
|
|
```bash
|
|
cd "/Users/lawsonawhittington/.openclaw/workspace/Dino Land"
|
|
php -S 0.0.0.0:8000
|
|
```
|
|
|
|
Open on the same machine: http://localhost:8000
|
|
|
|
LAN test URL (from another device on your network):
|
|
1. Find your LAN IP:
|
|
`python3 -c "import socket;s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM);s.connect(('8.8.8.8',80));print(s.getsockname()[0]);s.close()"`
|
|
2. Open: `http://<YOUR_LAN_IP>:8000` (example: `http://192.168.1.25:8000`)
|
|
|
|
## Controls
|
|
|
|
- **Up Arrow**: jump
|
|
- **Down Arrow**: duck
|
|
- **Left Arrow**: walk backward
|
|
- **Right Arrow**: walk forward
|
|
|
|
## Gameplay Rules
|
|
|
|
- TRex starts with **5 hearts** (or **10 hearts** in VIP mode).
|
|
- Easy and Medium end with a portal that advances to the next difficulty while preserving score.
|
|
- Moving forward earns score (**+1 per forward step unit**).
|
|
- Water gaps cause instant death if landed in.
|
|
- Ant collision costs 1 heart; jumping on ants crushes them.
|
|
- Pterodactyls unlock after score > 100 (duck to avoid).
|
|
- Meteors unlock after score > 250.
|
|
- On death: top-10 leaderboard is shown; top-10 runs can be saved.
|
|
|
|
## Leaderboard persistence
|
|
|
|
- Backend endpoint: `api/scores.php`
|
|
- Data file: `data/scores.json`
|
|
|
|
## Quick verification checklist
|
|
|
|
1. Start server and open game.
|
|
2. Confirm score increases while moving right.
|
|
3. Confirm hearts drop on ant / pterodactyl / meteor collisions.
|
|
4. Confirm water causes immediate game over.
|
|
5. Confirm leaderboard loads and score save works.
|