Diamond Painting – funkelnde Kreativtechnik als Alternative zu Malen nach Zahlen
PDO::ERRMODE_EXCEPTION]
);
// ================== API ==================
if (isset($_GET['action'])) {
header('Content-Type: application/json');
// ---- GET ALL HIGHSCORES ----
if ($_GET['action'] === 'get') {
// Alte Highscores zurücksetzen, die älter als 60 Tage sind
$pdo->exec("
UPDATE highscores
SET best_time = NULL, updated_at = NULL
WHERE updated_at <= NOW() - INTERVAL 60 DAY
");
// Alle Highscores abrufen
$rows = $pdo->query("
SELECT * FROM highscores
ORDER BY level
")->fetchAll(PDO::FETCH_ASSOC);
// Sicherstellen, dass alle Level 1-8 angezeigt werden
$levels = range(1,8);
$result = [];
foreach($levels as $lvl){
$found = false;
foreach($rows as $r){
if($r['level']==$lvl){
$result[] = $r;
$found = true;
break;
}
}
if(!$found){
$result[] = [
'level'=>$lvl,
'best_time'=>null,
'voucher_code'=>null,
'voucher_value'=>null,
'voucher_url'=>null,
'updated_at'=>null
];
}
}
echo json_encode($result);
exit;
}
// ---- SET HIGHSCORE ----
if ($_GET['action'] === 'set') {
$level = (int)$_GET['level'];
$time = (float)$_GET['time'];
// Prüfen, ob Level existiert
$stmt = $pdo->prepare("SELECT * FROM highscores WHERE level=?");
$stmt->execute([$level]);
$row = $stmt->fetch(PDO::FETCH_ASSOC);
// Defaultwerte
$voucher_code = 'MNZ-MEMORY';
$voucher_value = match($level) {
1=>"5%",2=>"10%",3=>"15%",4=>"20%",5=>"25%",6=>"30%",7=>"35%",8=>"50%"
};
$voucher_url = "https://malen-nach-zahlen.ch/shop?code=$voucher_code";
if($row){
$voucher_code = $row['voucher_code'] ?: $voucher_code;
$voucher_value = $row['voucher_value'] ?: $voucher_value;
$voucher_url = $row['voucher_url'] ?: $voucher_url;
}
$newHighscore = false;
// Highscore nur aktualisieren, wenn kein bestehender oder besser
if (!$row || $row['best_time'] === null || $time < $row['best_time']) {
$pdo->prepare("
INSERT INTO highscores (level,best_time,voucher_code,voucher_value,voucher_url,updated_at)
VALUES (?,?,?,?,?,NOW())
ON DUPLICATE KEY UPDATE best_time=VALUES(best_time), updated_at=NOW()
")->execute([$level, $time, $voucher_code, $voucher_value, $voucher_url]);
$newHighscore = true;
}
echo json_encode([
'newHighscore' => $newHighscore,
'voucher_code' => $voucher_code,
'voucher_value'=> $voucher_value,
'voucher_url' => $voucher_url
]);
exit;
}
}
?>
Malen nach Zahlen | Memory
🎨 Willkommen bei MNZ Farb-Memory Profi!
Teste dein Gedächtnis!
Knacke die Levels von Einfach bis Unmöglich und sichere dir exklusive Gutscheine für unseren Shop!
Bei jedem neuen Highscore erhältst du einen Gutschein-Code, den du direkt bei Kreativsein.shop einlösen kannst. Je schwieriger das Level, desto höher der Rabatt – bis zu 50 % Rabatt!
💡 Tipps:
- Merk dir die Farben gut – je schneller du alle Paare findest, desto größer deine Chance auf den Highscore.
- Jeder Versuch zählt – trainiere dein Gedächtnis und steigere deine Geschwindigkeit.
- Schau dir die Levelübersicht an und plane deine Strategie, um die höchsten Rabatte zu kassieren.
Bereit für die Herausforderung? Wähle ein Level und starte jetzt – dein Highscore wartet!
Hinweis:
- jeder Gutschein von jedem Level kann nur einmal pro Kunde verwendet werden.
- wenn 60 Tage kein neuer Highscore aufgestellt wird, wird dieser auf Null zurückgesetzt.
Knacke die Levels von Einfach bis Unmöglich und sichere dir exklusive Gutscheine für unseren Shop!
Bei jedem neuen Highscore erhältst du einen Gutschein-Code, den du direkt bei Kreativsein.shop einlösen kannst. Je schwieriger das Level, desto höher der Rabatt – bis zu 50 % Rabatt!
💡 Tipps:
- Merk dir die Farben gut – je schneller du alle Paare findest, desto größer deine Chance auf den Highscore.
- Jeder Versuch zählt – trainiere dein Gedächtnis und steigere deine Geschwindigkeit.
- Schau dir die Levelübersicht an und plane deine Strategie, um die höchsten Rabatte zu kassieren.
Bereit für die Herausforderung? Wähle ein Level und starte jetzt – dein Highscore wartet!
Hinweis:
- jeder Gutschein von jedem Level kann nur einmal pro Kunde verwendet werden.
- wenn 60 Tage kein neuer Highscore aufgestellt wird, wird dieser auf Null zurückgesetzt.
