# Toy Drone

## About me

**Violan Naidoo**

- Email: violan7naidoo@gmail.com
- Phone: 084 014 1996
- LinkedIn: https://www.linkedin.com/in/violan-naidoo/
- GitHub: https://github.com/violan7naidoo

## About the game

This is my submission for the Stormcraft Studios Toy Drone Assessment: a toy drone flying over a 10 x 10 surface. It accepts `PLACE`, `MOVE`, `LEFT`, `RIGHT`, `REPORT` and `ATTACK`, and the drone can never leave the surface.

- **Vanilla JavaScript.** ES6 modules and plain CSS, with no frameworks and no runtime dependencies. Vite is used only as the build tool, and the production build keeps its source maps.
- **Three ways to play.** Touch: tap a cell to place the drone, then use the on-screen buttons. Keyboard: the arrow keys, Space to attack and R to report. Commands: a console that takes a single command or a whole pasted script.
- **3D view.** The surface is shown in 3D, with a button to switch to a top view.
- **Sound.** Generated in the browser, with a mute button.
- **Phone and desktop.** The layout adapts to both.

**Links**

- Play the game: https://www.getviolanonboard.co.za/
- Download the source code (.zip): https://github.com/violan7naidoo/toy-drone/archive/refs/heads/main.zip
- Repository: https://github.com/violan7naidoo/toy-drone

To run it locally: `npm install`, then `npm run dev`.
