# Kouzelnické pexeso v PHP

Jednoduchá interaktivní obrázková hra s kouzelnickým tématem pro PEF.

## Co projekt obsahuje

- klientskou hru v HTML, CSS a JavaScriptu,
- lokální SVG obrázky v `public/assets`,
- herní plochu 4x4, tedy 16 karet,
- kartičky bez textu, pouze s obrázky,
- lokální ukládání výsledků přes LocalStorage,
- jednoduché PHP API bez frameworku,
- API pro uložení skóre a načtení leaderboardu,
- lokální SQLite databázi `data/schema.db`,
- čisté SQL schéma v `data/schema.sql`.

## Vyhodnocení pořadí

Leaderboard se řadí podle skóre sestupně. Pokud mají hráči stejné skóre,
rozhoduje kratší čas.

## Spuštění v PHP

```bash
php -S 127.0.0.1:8000 -t public
```

Potom otevři:

```text
http://127.0.0.1:8000
```

## Jednodušší varianta bez serveru

Když PHP server nepůjde spustit, hra pořád funguje lokálně. Otevři soubor:

```text
public/index.php
```

V této variantě se výsledky uloží jen do LocalStorage v prohlížeči. Serverové
PHP API a společný leaderboard v této variantě dostupné nebudou.

## Databáze

Serverové výsledky se ukládají do SQLite databáze:

```text
data/schema.db
```

Čisté SQL schéma pro předání je v souboru:

```text
data/schema.sql
```

Připojení k databázi je nastavené v:

```text
public/api/config.php
```

Výchozí nastavení používá lokální SQLite soubor. Pokud se má použít SQL
databáze podle `data/schema.sql`, přepne se v `public/api/config.php` hodnota
`DB_DRIVER` na `mysql` a doplní se `DB_HOST`, `DB_NAME`, `DB_USER` a
`DB_PASSWORD`.

## API

- `GET /api/games.php` vrátí metadata hry.
- `GET /api/leaderboard.php` vrátí leaderboard.
- `POST /api/scores.php` uloží výsledek hráče.

## Metadata hry

- Název: Kouzelnické pexeso
- Identifikátor: `pef-kouzelnicke-pexeso`
- Autor: Pavla Jašková
- Popis: Jednoduché pexeso s kouzelnickými obrázky pro PEF.
