Snake-peli

Klassinen käärme-peli modernilla toteutuksella ja tyylikkäällä ulkoasulla. Opi canvas-piirtämistä, pelisilmukkaa ja törmäystunnistusta rakentamalla ikiklassikko alusta asti.

Keskitaso · 3-5 tuntia · Next.js, TypeScript, Tailwind CSS, Canvas

Aloitusprompt

Kopioi tämä Cursoriin tai Claude Codeen ja aloita rakentaminen.

Luo Snake-peli HTML Canvas + React.

Pelimekaniikka:
- Käärme liikkuu jatkuvasti yhteen suuntaan
- Nuolinäppäimet vaihtavat suuntaa
- Ruoan syönti = kasva + pisteet
- Törmäys seinään tai itseensä = game over

Canvas:
- Ruudukko (esim. 20x20)
- Käärme: vihreä (pää kirkkaampi)
- Ruoka: punainen
- Tausta: tumma

Ominaisuudet:
- Pistelaskuri
- Nopeus kasvaa pisteiden myötä
- Huipputulokset localStorage
- Pause (välilyönti)

Tech: Next.js, TypeScript, Canvas API

Vaiheet

1. Pelikenttä ja käärme

Piirrä pelikenttä ja käärme.

Luo Snake-peli canvas-elementillä. Piirrä ruudukko ja käärme (pään väri eri kuin häntä). Käärme liikkuu automaattisesti nykyiseen suuntaan.

2. Kontrollit ja ruoka

Lisää ohjaus ja ruoan syönti.

Lisää nuolinäppäin-ohjaus käärmeen suunnan vaihtamiseen. Lisää ruoka satunnaiseen paikkaan. Kun käärme syö ruoan, kasva ja generoi uusi ruoka.

3. Törmäykset ja pisteet

Lisää game over ja huipputulokset.

Lisää törmäyksen tunnistus: seinään tai itseensä = game over. Näytä pisteet (syödyt ruoat). Game over -näkymä huipputuloksilla ja restart-napilla.

Ominaisuudet

Canvas-piirto

Näppäinkontrollit

Pistelaskuri

Kasvava käärme

Game over -logiikka

Laajennusideat

Kun perusprojekti on valmis:

Eri pelimoodit (seinätön, esteitä)

Power-upit

Mobiilituki (swipe)

Multiplayer

Eri teemat/skinit