Neu: Pokémon Quiz
This commit is contained in:
parent
270963b7cd
commit
e6cf4fd21f
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
||||
/shape_shifter
|
||||
/pokemon_quiz/images/gen*
|
||||
|
@ -211,6 +211,10 @@
|
||||
<div class="category-section">
|
||||
<h2 class="category-title">🎮 Spiele</h2>
|
||||
<div class="tools-grid">
|
||||
<a href="https://tools.ponywave.de/pokemon_quiz" class="tool-bubble">
|
||||
<h2 class="tool-title">Pokémon Quiz</h2>
|
||||
<p class="tool-description">Teste dein Pokémon-Wissen mit diesem interaktiven Quiz zu allen Generationen</p>
|
||||
</a>
|
||||
<a href="https://tools.ponywave.de/breakout" class="tool-bubble">
|
||||
<h2 class="tool-title">Breakout</h2>
|
||||
<p class="tool-description">Ein klassisches Breakout-Spiel mit farbigen Blöcken und Highscore-System</p>
|
||||
|
160
pokemon_quiz/images/download-sprites.bat
Normal file
160
pokemon_quiz/images/download-sprites.bat
Normal file
@ -0,0 +1,160 @@
|
||||
@echo off
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
:main_menu
|
||||
cls
|
||||
echo Pokemon-Sprite-Downloader
|
||||
echo ==============================================
|
||||
echo Diese Datei laedt Sprites von Pokemon.com herunter und sortiert sie nach Generationen.
|
||||
echo.
|
||||
echo HINWEIS: Dieses Script benoetigt curl.exe, um die Bilder herunterzuladen.
|
||||
echo Falls curl nicht installiert ist, bitte von https://curl.se/windows/ herunterladen.
|
||||
echo.
|
||||
|
||||
:: Erstelle Generationsordner falls diese nicht existieren
|
||||
mkdir gen1 2>nul
|
||||
mkdir gen2 2>nul
|
||||
mkdir gen3 2>nul
|
||||
mkdir gen4 2>nul
|
||||
mkdir gen5 2>nul
|
||||
mkdir gen6 2>nul
|
||||
mkdir gen7 2>nul
|
||||
mkdir gen8 2>nul
|
||||
mkdir gen9 2>nul
|
||||
echo Generationsordner wurden erstellt/geprueft.
|
||||
echo.
|
||||
|
||||
:: Prüfe, ob curl verfügbar ist
|
||||
where curl >nul 2>nul
|
||||
if %errorlevel% neq 0 (
|
||||
echo FEHLER: curl.exe wurde nicht gefunden!
|
||||
echo Bitte installiere curl und stelle sicher, dass es im PATH verfuegbar ist.
|
||||
echo Download: https://curl.se/windows/
|
||||
echo.
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo Waehle die Generation zum Herunterladen:
|
||||
echo 1 - Generation 1 (001-151)
|
||||
echo 2 - Generation 2 (152-251)
|
||||
echo 3 - Generation 3 (252-386)
|
||||
echo 4 - Generation 4 (387-493)
|
||||
echo 5 - Generation 5 (494-649)
|
||||
echo 6 - Generation 6 (650-721)
|
||||
echo 7 - Generation 7 (722-809)
|
||||
echo 8 - Generation 8 (810-905)
|
||||
echo 9 - Generation 9 (906-1025)
|
||||
echo 10 - Alle Generationen
|
||||
echo 11 - Beenden
|
||||
echo.
|
||||
|
||||
set /p gen="Deine Auswahl (1-11): "
|
||||
|
||||
:: Beenden, wenn Option 11 gewählt wurde
|
||||
if "%gen%"=="11" (
|
||||
echo Programm wird beendet...
|
||||
exit /b 0
|
||||
)
|
||||
|
||||
:: Setze Start- und Endnummern basierend auf der Auswahl
|
||||
if "%gen%"=="1" (
|
||||
set start=1
|
||||
set end=151
|
||||
set targetDir=gen1
|
||||
) else if "%gen%"=="2" (
|
||||
set start=152
|
||||
set end=251
|
||||
set targetDir=gen2
|
||||
) else if "%gen%"=="3" (
|
||||
set start=252
|
||||
set end=386
|
||||
set targetDir=gen3
|
||||
) else if "%gen%"=="4" (
|
||||
set start=387
|
||||
set end=493
|
||||
set targetDir=gen4
|
||||
) else if "%gen%"=="5" (
|
||||
set start=494
|
||||
set end=649
|
||||
set targetDir=gen5
|
||||
) else if "%gen%"=="6" (
|
||||
set start=650
|
||||
set end=721
|
||||
set targetDir=gen6
|
||||
) else if "%gen%"=="7" (
|
||||
set start=722
|
||||
set end=809
|
||||
set targetDir=gen7
|
||||
) else if "%gen%"=="8" (
|
||||
set start=810
|
||||
set end=905
|
||||
set targetDir=gen8
|
||||
) else if "%gen%"=="9" (
|
||||
set start=906
|
||||
set end=1025
|
||||
set targetDir=gen9
|
||||
) else if "%gen%"=="10" (
|
||||
set start=1
|
||||
set end=1025
|
||||
set targetDir=all
|
||||
) else (
|
||||
echo Ungueltige Auswahl.
|
||||
pause
|
||||
goto main_menu
|
||||
)
|
||||
|
||||
echo Starte Download...
|
||||
echo.
|
||||
|
||||
:: Download basierend auf dem gewählten Bereich
|
||||
if "%targetDir%"=="all" (
|
||||
:: Alle Generationen
|
||||
for /l %%i in (1, 1, 151) do call :download_pokemon %%i gen1
|
||||
for /l %%i in (152, 1, 251) do call :download_pokemon %%i gen2
|
||||
for /l %%i in (252, 1, 386) do call :download_pokemon %%i gen3
|
||||
for /l %%i in (387, 1, 493) do call :download_pokemon %%i gen4
|
||||
for /l %%i in (494, 1, 649) do call :download_pokemon %%i gen5
|
||||
for /l %%i in (650, 1, 721) do call :download_pokemon %%i gen6
|
||||
for /l %%i in (722, 1, 809) do call :download_pokemon %%i gen7
|
||||
for /l %%i in (810, 1, 905) do call :download_pokemon %%i gen8
|
||||
for /l %%i in (906, 1, 1025) do call :download_pokemon %%i gen9
|
||||
) else (
|
||||
:: Einzelne Generation
|
||||
for /l %%i in (%start%, 1, %end%) do call :download_pokemon %%i %targetDir%
|
||||
)
|
||||
|
||||
echo.
|
||||
echo Download abgeschlossen.
|
||||
echo.
|
||||
|
||||
echo Was moechtest du als naechstes tun?
|
||||
echo 1 - Weitere Pokemon herunterladen
|
||||
echo 2 - Programm beenden
|
||||
echo.
|
||||
set /p next_action="Deine Auswahl (1-2): "
|
||||
|
||||
if "%next_action%"=="1" (
|
||||
goto main_menu
|
||||
) else (
|
||||
echo Programm wird beendet...
|
||||
exit /b 0
|
||||
)
|
||||
|
||||
:download_pokemon
|
||||
set num=%1
|
||||
set genDir=%2
|
||||
|
||||
:: Führende Nullen hinzufügen
|
||||
if %num% LSS 10 (
|
||||
set padded=00%num%
|
||||
) else if %num% LSS 100 (
|
||||
set padded=0%num%
|
||||
) else (
|
||||
set padded=%num%
|
||||
)
|
||||
|
||||
echo Lade Pokemon #%padded% herunter...
|
||||
curl -s -o "%genDir%\%padded%.png" "https://www.pokemon.com/static-assets/content-assets/cms2/img/pokedex/full/%padded%.png"
|
||||
timeout /t 1 >nul
|
||||
exit /b 0
|
193
pokemon_quiz/images/download-sprites.sh
Normal file
193
pokemon_quiz/images/download-sprites.sh
Normal file
@ -0,0 +1,193 @@
|
||||
#!/bin/bash
|
||||
|
||||
main_menu() {
|
||||
clear
|
||||
echo "Pokemon-Sprite-Downloader"
|
||||
echo "=============================================="
|
||||
echo "Diese Datei lädt Sprites von Pokemon.com herunter und sortiert sie nach Generationen."
|
||||
echo ""
|
||||
echo "HINWEIS: Dieses Script benötigt curl, um die Bilder herunterzuladen."
|
||||
echo "Falls curl nicht installiert ist, bitte mit 'sudo apt-get install curl' installieren."
|
||||
echo ""
|
||||
|
||||
# Erstelle Generationsordner falls diese nicht existieren
|
||||
mkdir -p gen1
|
||||
mkdir -p gen2
|
||||
mkdir -p gen3
|
||||
mkdir -p gen4
|
||||
mkdir -p gen5
|
||||
mkdir -p gen6
|
||||
mkdir -p gen7
|
||||
mkdir -p gen8
|
||||
mkdir -p gen9
|
||||
echo "Generationsordner wurden erstellt/geprüft."
|
||||
echo ""
|
||||
|
||||
# Prüfe, ob curl verfügbar ist
|
||||
if ! command -v curl &> /dev/null; then
|
||||
echo "FEHLER: curl wurde nicht gefunden!"
|
||||
echo "Bitte installiere curl mit 'sudo apt-get install curl' oder dem Paketmanager deiner Distribution."
|
||||
echo ""
|
||||
read -p "Drücke eine Taste zum Beenden..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Wähle die Generation zum Herunterladen:"
|
||||
echo "1 - Generation 1 (001-151)"
|
||||
echo "2 - Generation 2 (152-251)"
|
||||
echo "3 - Generation 3 (252-386)"
|
||||
echo "4 - Generation 4 (387-493)"
|
||||
echo "5 - Generation 5 (494-649)"
|
||||
echo "6 - Generation 6 (650-721)"
|
||||
echo "7 - Generation 7 (722-809)"
|
||||
echo "8 - Generation 8 (810-905)"
|
||||
echo "9 - Generation 9 (906-1025)"
|
||||
echo "10 - Alle Generationen"
|
||||
echo "11 - Beenden"
|
||||
echo ""
|
||||
|
||||
read -p "Deine Auswahl (1-11): " gen
|
||||
|
||||
# Beenden, wenn Option 11 gewählt wurde
|
||||
if [ "$gen" == "11" ]; then
|
||||
echo "Programm wird beendet..."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Setze Start- und Endnummern basierend auf der Auswahl
|
||||
case $gen in
|
||||
1)
|
||||
start=1
|
||||
end=151
|
||||
targetDir="gen1"
|
||||
;;
|
||||
2)
|
||||
start=152
|
||||
end=251
|
||||
targetDir="gen2"
|
||||
;;
|
||||
3)
|
||||
start=252
|
||||
end=386
|
||||
targetDir="gen3"
|
||||
;;
|
||||
4)
|
||||
start=387
|
||||
end=493
|
||||
targetDir="gen4"
|
||||
;;
|
||||
5)
|
||||
start=494
|
||||
end=649
|
||||
targetDir="gen5"
|
||||
;;
|
||||
6)
|
||||
start=650
|
||||
end=721
|
||||
targetDir="gen6"
|
||||
;;
|
||||
7)
|
||||
start=722
|
||||
end=809
|
||||
targetDir="gen7"
|
||||
;;
|
||||
8)
|
||||
start=810
|
||||
end=905
|
||||
targetDir="gen8"
|
||||
;;
|
||||
9)
|
||||
start=906
|
||||
end=1025
|
||||
targetDir="gen9"
|
||||
;;
|
||||
10)
|
||||
start=1
|
||||
end=1025
|
||||
targetDir="all"
|
||||
;;
|
||||
*)
|
||||
echo "Ungültige Auswahl."
|
||||
read -p "Drücke eine Taste zum Fortfahren..."
|
||||
main_menu
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "Starte Download..."
|
||||
echo ""
|
||||
|
||||
# Download basierend auf dem gewählten Bereich
|
||||
if [ "$targetDir" == "all" ]; then
|
||||
# Alle Generationen
|
||||
for ((i=1; i<=151; i++)); do
|
||||
download_pokemon $i "gen1"
|
||||
done
|
||||
for ((i=152; i<=251; i++)); do
|
||||
download_pokemon $i "gen2"
|
||||
done
|
||||
for ((i=252; i<=386; i++)); do
|
||||
download_pokemon $i "gen3"
|
||||
done
|
||||
for ((i=387; i<=493; i++)); do
|
||||
download_pokemon $i "gen4"
|
||||
done
|
||||
for ((i=494; i<=649; i++)); do
|
||||
download_pokemon $i "gen5"
|
||||
done
|
||||
for ((i=650; i<=721; i++)); do
|
||||
download_pokemon $i "gen6"
|
||||
done
|
||||
for ((i=722; i<=809; i++)); do
|
||||
download_pokemon $i "gen7"
|
||||
done
|
||||
for ((i=810; i<=905; i++)); do
|
||||
download_pokemon $i "gen8"
|
||||
done
|
||||
for ((i=906; i<=1025; i++)); do
|
||||
download_pokemon $i "gen9"
|
||||
done
|
||||
else
|
||||
# Einzelne Generation
|
||||
for ((i=start; i<=end; i++)); do
|
||||
download_pokemon $i $targetDir
|
||||
done
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Download abgeschlossen."
|
||||
echo ""
|
||||
|
||||
echo "Was möchtest du als nächstes tun?"
|
||||
echo "1 - Weitere Pokemon herunterladen"
|
||||
echo "2 - Programm beenden"
|
||||
echo ""
|
||||
read -p "Deine Auswahl (1-2): " next_action
|
||||
|
||||
if [ "$next_action" == "1" ]; then
|
||||
main_menu
|
||||
else
|
||||
echo "Programm wird beendet..."
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
download_pokemon() {
|
||||
num=$1
|
||||
genDir=$2
|
||||
|
||||
# Führende Nullen hinzufügen
|
||||
if [ $num -lt 10 ]; then
|
||||
padded=$(printf "%03d" $num)
|
||||
elif [ $num -lt 100 ]; then
|
||||
padded=$(printf "%03d" $num)
|
||||
else
|
||||
padded=$(printf "%d" $num)
|
||||
fi
|
||||
|
||||
echo "Lade Pokemon #$padded herunter..."
|
||||
curl -s -o "$genDir/$padded.png" "https://www.pokemon.com/static-assets/content-assets/cms2/img/pokedex/full/$padded.png"
|
||||
sleep 1
|
||||
}
|
||||
|
||||
# Skript starten
|
||||
main_menu
|
BIN
pokemon_quiz/images/favicon.ico
Normal file
BIN
pokemon_quiz/images/favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
BIN
pokemon_quiz/images/pokeball.png
Normal file
BIN
pokemon_quiz/images/pokeball.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 59 KiB |
951
pokemon_quiz/index.html
Normal file
951
pokemon_quiz/index.html
Normal file
@ -0,0 +1,951 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Pokémon Quiz</title>
|
||||
|
||||
<!-- OG Tags -->
|
||||
<meta property="og:title" content="Pokémon Quiz">
|
||||
<meta property="og:description" content="Teste dein Pokémon-Wissen mit diesem Quiz">
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://tools.ponywave.de/pokemon_quiz">
|
||||
<meta property="og:image" content="https://tools.ponywave.de/pokemon_quiz/images/pokeball.png">
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" href="images/favicon.ico">
|
||||
<link rel="shortcut icon" href="images/favicon.ico">
|
||||
|
||||
<!-- Analytics -->
|
||||
<script defer src="https://stats.ponywave.de/script" data-website-id="9ef713d2-adb9-4906-9df5-708d8a8b9131" data-tag="pokemon_quiz"></script>
|
||||
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Arial', sans-serif;
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
background-color: #f5f5f5;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
h1 {
|
||||
text-align: center;
|
||||
color: #e91e63;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.container {
|
||||
background-color: white;
|
||||
border-radius: 10px;
|
||||
padding: 20px;
|
||||
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.start-screen, .quiz-screen, .result-screen, .generation-screen {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.difficulty-buttons, .generation-buttons {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 15px;
|
||||
margin: 20px 0;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.info-text {
|
||||
margin: 20px 0;
|
||||
padding: 10px;
|
||||
background-color: #e3f2fd;
|
||||
border-radius: 5px;
|
||||
font-style: italic;
|
||||
color: #0d47a1;
|
||||
}
|
||||
|
||||
button {
|
||||
background-color: #4caf50;
|
||||
color: white;
|
||||
border: none;
|
||||
padding: 10px 20px;
|
||||
cursor: pointer;
|
||||
border-radius: 5px;
|
||||
font-size: 16px;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #45a049;
|
||||
}
|
||||
|
||||
.pokemon-image {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
object-fit: contain;
|
||||
margin: 20px auto;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.silhouette {
|
||||
filter: brightness(0); /* Silhouette-Effekt */
|
||||
}
|
||||
|
||||
.pokemon-image.revealed {
|
||||
filter: brightness(1); /* Normaler Zustand */
|
||||
animation: reveal 0.5s ease-in-out;
|
||||
}
|
||||
|
||||
@keyframes reveal {
|
||||
0% { filter: brightness(0); }
|
||||
100% { filter: brightness(1); }
|
||||
}
|
||||
|
||||
.option-button {
|
||||
display: block;
|
||||
width: 100%;
|
||||
margin: 10px 0;
|
||||
background-color: #2196f3;
|
||||
}
|
||||
|
||||
.option-button:hover {
|
||||
background-color: #0d8aee;
|
||||
}
|
||||
|
||||
.option-button.correct {
|
||||
background-color: #4caf50;
|
||||
}
|
||||
|
||||
.option-button.incorrect {
|
||||
background-color: #f44336;
|
||||
}
|
||||
|
||||
.next-button {
|
||||
margin-top: 20px;
|
||||
background-color: #9c27b0;
|
||||
}
|
||||
|
||||
.next-button:hover {
|
||||
background-color: #8e24aa;
|
||||
}
|
||||
|
||||
.restart-button {
|
||||
margin-top: 20px;
|
||||
background-color: #ff9800;
|
||||
}
|
||||
|
||||
.restart-button:hover {
|
||||
background-color: #f57c00;
|
||||
}
|
||||
|
||||
.progress {
|
||||
margin-top: 20px;
|
||||
font-style: italic;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.back-button {
|
||||
margin-top: 10px;
|
||||
background-color: #f44336;
|
||||
}
|
||||
|
||||
.back-button:hover {
|
||||
background-color: #e53935;
|
||||
}
|
||||
|
||||
.generation-all {
|
||||
background-color: #673ab7;
|
||||
}
|
||||
|
||||
.generation-all:hover {
|
||||
background-color: #5e35b1;
|
||||
}
|
||||
|
||||
.score {
|
||||
font-size: 24px;
|
||||
font-weight: bold;
|
||||
margin: 20px 0;
|
||||
color: #e91e63;
|
||||
}
|
||||
|
||||
footer {
|
||||
margin-top: 40px;
|
||||
text-align: center;
|
||||
color: #666;
|
||||
border-top: 1px solid #ddd;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
footer a {
|
||||
color: #e91e63;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
footer a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.save-load-buttons {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 15px;
|
||||
margin: 15px 0;
|
||||
}
|
||||
|
||||
.save-button {
|
||||
background-color: #ff9800;
|
||||
}
|
||||
|
||||
.save-button:hover {
|
||||
background-color: #f57c00;
|
||||
}
|
||||
|
||||
.load-button {
|
||||
background-color: #2196f3;
|
||||
}
|
||||
|
||||
.load-button:hover {
|
||||
background-color: #0d8aee;
|
||||
}
|
||||
|
||||
/* Modals und Popups */
|
||||
.modal-overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
z-index: 1000;
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
transition: opacity 0.3s, visibility 0.3s;
|
||||
}
|
||||
|
||||
.modal-overlay.active {
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.modal {
|
||||
background-color: white;
|
||||
border-radius: 10px;
|
||||
padding: 20px;
|
||||
max-width: 400px;
|
||||
width: 90%;
|
||||
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.modal h3 {
|
||||
margin-top: 0;
|
||||
color: #e91e63;
|
||||
}
|
||||
|
||||
.modal-buttons {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 15px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.modal-buttons button {
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
.quit-button {
|
||||
background-color: #f44336;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.quit-button:hover {
|
||||
background-color: #e53935;
|
||||
}
|
||||
|
||||
.modal-confirm {
|
||||
background-color: #4caf50;
|
||||
}
|
||||
|
||||
.modal-cancel {
|
||||
background-color: #9e9e9e;
|
||||
}
|
||||
|
||||
/* Freeform-Modus Styles */
|
||||
.freeform-input {
|
||||
margin: 20px auto;
|
||||
width: 100%;
|
||||
max-width: 300px;
|
||||
padding: 10px;
|
||||
font-size: 16px;
|
||||
border: 2px solid #2196f3;
|
||||
border-radius: 5px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.freeform-input:focus {
|
||||
outline: none;
|
||||
border-color: #9c27b0;
|
||||
box-shadow: 0 0 8px rgba(156, 39, 176, 0.5);
|
||||
}
|
||||
|
||||
.mode-selection {
|
||||
margin: 15px 0;
|
||||
}
|
||||
|
||||
.mode-options {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 15px;
|
||||
margin: 15px 0;
|
||||
}
|
||||
|
||||
.mode-button {
|
||||
background-color: #ff9800;
|
||||
}
|
||||
|
||||
.mode-button:hover {
|
||||
background-color: #f57c00;
|
||||
}
|
||||
|
||||
.mode-button.active {
|
||||
background-color: #e65100;
|
||||
box-shadow: 0 0 10px rgba(230, 81, 0, 0.5);
|
||||
}
|
||||
|
||||
.freeform-feedback {
|
||||
margin: 10px 0;
|
||||
font-weight: bold;
|
||||
font-size: 18px;
|
||||
height: 25px;
|
||||
}
|
||||
|
||||
.freeform-feedback.correct {
|
||||
color: #4caf50;
|
||||
}
|
||||
|
||||
.freeform-feedback.incorrect {
|
||||
color: #f44336;
|
||||
}
|
||||
|
||||
.submit-answer {
|
||||
background-color: #2196f3;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.submit-answer:hover {
|
||||
background-color: #0d8aee;
|
||||
}
|
||||
|
||||
.correct-name {
|
||||
margin-top: 10px;
|
||||
font-weight: bold;
|
||||
color: #4caf50;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Pokémon Quiz</h1>
|
||||
|
||||
<div class="container">
|
||||
<!-- Generation-Auswahl Screen -->
|
||||
<div class="generation-screen">
|
||||
<h2>Wähle eine Pokémon-Generation</h2>
|
||||
<img src="" alt="Zufälliges Pokémon" class="pokemon-image" id="random-pokemon">
|
||||
<div class="generation-buttons">
|
||||
<button class="generation-button" data-gen="1">Gen 1: Kanto (1-151)</button>
|
||||
<button class="generation-button" data-gen="2">Gen 2: Johto (152-251)</button>
|
||||
<button class="generation-button" data-gen="3">Gen 3: Hoenn (252-386)</button>
|
||||
<button class="generation-button" data-gen="4">Gen 4: Sinnoh (387-493)</button>
|
||||
<button class="generation-button" data-gen="5">Gen 5: Einall (494-649)</button>
|
||||
<button class="generation-button" data-gen="6">Gen 6: Kalos (650-721)</button>
|
||||
<button class="generation-button" data-gen="7">Gen 7: Alola (722-809)</button>
|
||||
<button class="generation-button" data-gen="8">Gen 8: Galar (810-905)</button>
|
||||
<button class="generation-button" data-gen="9">Gen 9: Paldea (906-1025)</button>
|
||||
<button class="generation-button generation-all" data-gen="all">Alle Generationen</button>
|
||||
</div>
|
||||
|
||||
<!-- Fortschritt laden Button anzeigen, wenn gespeichert -->
|
||||
<div class="save-load-buttons">
|
||||
<button id="load-progress-button" class="load-button hidden">Fortschritt laden</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Schwierigkeitsgrad-Auswahl Screen -->
|
||||
<div class="start-screen hidden">
|
||||
<h2>Wähle den Schwierigkeitsgrad</h2>
|
||||
<img src="" alt="Zufälliges Pokémon" class="pokemon-image" id="difficulty-pokemon">
|
||||
|
||||
<!-- Spielmodus-Auswahl -->
|
||||
<div class="mode-selection">
|
||||
<h3>Spielmodus</h3>
|
||||
<div class="mode-options">
|
||||
<button id="mode-multiple-choice" class="mode-button active">Multiple Choice</button>
|
||||
<button id="mode-freeform" class="mode-button">Freeform</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="difficulty-buttons">
|
||||
<button id="very-easy">10 Pokémon</button>
|
||||
<button id="easy">25 Pokémon</button>
|
||||
<button id="medium">50 Pokémon</button>
|
||||
<button id="advanced">75 Pokémon</button>
|
||||
<button id="hard">100 Pokémon</button>
|
||||
<button id="expert">125 Pokémon</button>
|
||||
<button id="all">Alle Pokémon</button>
|
||||
</div>
|
||||
<button class="back-button">Zurück zur Generation</button>
|
||||
</div>
|
||||
|
||||
<!-- Quiz Screen -->
|
||||
<div class="quiz-screen hidden">
|
||||
<h2>Wie heißt dieses Pokémon?</h2>
|
||||
<img src="" alt="Pokémon" class="pokemon-image silhouette" id="pokemon-image">
|
||||
|
||||
<!-- Multiple Choice Optionen -->
|
||||
<div id="multiple-choice-container">
|
||||
<div class="options" id="options">
|
||||
<!-- Optionen werden hier dynamisch eingefügt -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Freeform Eingabe -->
|
||||
<div id="freeform-container" class="hidden">
|
||||
<input type="text" id="freeform-input" class="freeform-input" placeholder="Pokémon-Name eingeben..." autocomplete="off">
|
||||
<div id="freeform-feedback" class="freeform-feedback"></div>
|
||||
<div id="correct-name" class="correct-name hidden"></div>
|
||||
<button id="submit-answer" class="submit-answer">Überprüfen</button>
|
||||
</div>
|
||||
|
||||
<button class="next-button hidden" id="next-button">Nächstes Pokémon</button>
|
||||
<div class="progress" id="progress"></div>
|
||||
|
||||
<!-- Fortschritt speichern und Aufgeben -->
|
||||
<div class="save-load-buttons">
|
||||
<button id="save-progress-button" class="save-button">Fortschritt speichern</button>
|
||||
<button id="quit-button" class="quit-button">Aufgeben</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Ergebnis Screen -->
|
||||
<div class="result-screen hidden">
|
||||
<h2>Quiz beendet!</h2>
|
||||
<div class="score" id="final-score"></div>
|
||||
<button class="restart-button" id="restart-button">Neustart</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Modals -->
|
||||
<div class="modal-overlay" id="save-modal">
|
||||
<div class="modal">
|
||||
<h3>Fortschritt gespeichert!</h3>
|
||||
<p>Dein Fortschritt wurde erfolgreich gespeichert.</p>
|
||||
<div class="modal-buttons">
|
||||
<button class="modal-confirm" onclick="closeModal('save-modal')">OK</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-overlay" id="quit-modal">
|
||||
<div class="modal">
|
||||
<h3>Quiz wirklich beenden?</h3>
|
||||
<p>Möchtest du das Quiz wirklich beenden? Dein aktueller Fortschritt geht verloren, wenn du nicht gespeichert hast.</p>
|
||||
<div class="modal-buttons">
|
||||
<button class="modal-cancel" onclick="closeModal('quit-modal')">Abbrechen</button>
|
||||
<button class="modal-confirm" onclick="quitQuiz()">Beenden</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
<a href="https://tools.ponywave.de">Zurück zur Startseite</a> | © 2025 Akamaru | Made with ❤️ by Claude
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// DOM-Elemente
|
||||
const generationScreen = document.querySelector('.generation-screen');
|
||||
const startScreen = document.querySelector('.start-screen');
|
||||
const quizScreen = document.querySelector('.quiz-screen');
|
||||
const resultScreen = document.querySelector('.result-screen');
|
||||
const randomPokemonImage = document.getElementById('random-pokemon');
|
||||
const difficultyPokemonImage = document.getElementById('difficulty-pokemon');
|
||||
const pokemonImage = document.getElementById('pokemon-image');
|
||||
const optionsContainer = document.getElementById('options');
|
||||
const multipleChoiceContainer = document.getElementById('multiple-choice-container');
|
||||
const freeformContainer = document.getElementById('freeform-container');
|
||||
const freeformInput = document.getElementById('freeform-input');
|
||||
const freeformFeedback = document.getElementById('freeform-feedback');
|
||||
const correctNameElement = document.getElementById('correct-name');
|
||||
const submitAnswerButton = document.getElementById('submit-answer');
|
||||
const nextButton = document.getElementById('next-button');
|
||||
const progressElement = document.getElementById('progress');
|
||||
const finalScoreElement = document.getElementById('final-score');
|
||||
const restartButton = document.getElementById('restart-button');
|
||||
const backButton = document.querySelector('.back-button');
|
||||
const generationButtons = document.querySelectorAll('.generation-button');
|
||||
const saveProgressButton = document.getElementById('save-progress-button');
|
||||
const loadProgressButton = document.getElementById('load-progress-button');
|
||||
const quitButton = document.getElementById('quit-button');
|
||||
const modeMultipleChoiceButton = document.getElementById('mode-multiple-choice');
|
||||
const modeFreeformButton = document.getElementById('mode-freeform');
|
||||
|
||||
// Spielvariablen
|
||||
let pokemons = [];
|
||||
let currentPokemonIndex = 0;
|
||||
let quizPokemons = [];
|
||||
let correctAnswers = 0;
|
||||
let answeredQuestions = 0;
|
||||
let selectedGeneration = 1;
|
||||
let maxPokemonNumber = 151; // Standard: Gen1
|
||||
let gameMode = 'multiple-choice'; // Standard: Multiple-Choice
|
||||
|
||||
// Modal-Funktionen
|
||||
function showModal(modalId) {
|
||||
document.getElementById(modalId).classList.add('active');
|
||||
}
|
||||
|
||||
function closeModal(modalId) {
|
||||
document.getElementById(modalId).classList.remove('active');
|
||||
}
|
||||
|
||||
function quitQuiz() {
|
||||
closeModal('quit-modal');
|
||||
quizScreen.classList.add('hidden');
|
||||
generationScreen.classList.remove('hidden');
|
||||
displayRandomPokemon(randomPokemonImage);
|
||||
}
|
||||
|
||||
// Game Mode Selection
|
||||
modeMultipleChoiceButton.addEventListener('click', () => {
|
||||
setGameMode('multiple-choice');
|
||||
});
|
||||
|
||||
modeFreeformButton.addEventListener('click', () => {
|
||||
setGameMode('freeform');
|
||||
});
|
||||
|
||||
function setGameMode(mode) {
|
||||
gameMode = mode;
|
||||
|
||||
// UI-Update der Buttons
|
||||
modeMultipleChoiceButton.classList.toggle('active', mode === 'multiple-choice');
|
||||
modeFreeformButton.classList.toggle('active', mode === 'freeform');
|
||||
}
|
||||
|
||||
// Generation-Bereiche
|
||||
const generations = {
|
||||
1: { min: 1, max: 151, name: "Kanto" },
|
||||
2: { min: 152, max: 251, name: "Johto" },
|
||||
3: { min: 252, max: 386, name: "Hoenn" },
|
||||
4: { min: 387, max: 493, name: "Sinnoh" },
|
||||
5: { min: 494, max: 649, name: "Einall" },
|
||||
6: { min: 650, max: 721, name: "Kalos" },
|
||||
7: { min: 722, max: 809, name: "Alola" },
|
||||
8: { min: 810, max: 905, name: "Galar" },
|
||||
9: { min: 906, max: 1025, name: "Paldea" }
|
||||
};
|
||||
|
||||
// Fortschritt-Speicher-Funktionalität
|
||||
|
||||
// Prüfe, ob ein gespeicherter Fortschritt vorhanden ist
|
||||
function checkSavedProgress() {
|
||||
const savedProgress = localStorage.getItem('pokemonQuizProgress');
|
||||
if (savedProgress) {
|
||||
loadProgressButton.classList.remove('hidden');
|
||||
} else {
|
||||
loadProgressButton.classList.add('hidden');
|
||||
}
|
||||
}
|
||||
|
||||
// Fortschritt speichern
|
||||
function saveProgress() {
|
||||
const progress = {
|
||||
selectedGeneration,
|
||||
quizPokemons,
|
||||
currentPokemonIndex,
|
||||
correctAnswers,
|
||||
answeredQuestions,
|
||||
pokemons, // Speichere auch die verfügbaren Pokémon für die korrekten Antwortoptionen
|
||||
gameMode // Speichere den Spielmodus
|
||||
};
|
||||
localStorage.setItem('pokemonQuizProgress', JSON.stringify(progress));
|
||||
showModal('save-modal');
|
||||
}
|
||||
|
||||
// Fortschritt laden
|
||||
function loadProgress() {
|
||||
const savedProgress = localStorage.getItem('pokemonQuizProgress');
|
||||
if (savedProgress) {
|
||||
const progress = JSON.parse(savedProgress);
|
||||
selectedGeneration = progress.selectedGeneration;
|
||||
quizPokemons = progress.quizPokemons;
|
||||
currentPokemonIndex = progress.currentPokemonIndex;
|
||||
correctAnswers = progress.correctAnswers;
|
||||
answeredQuestions = progress.answeredQuestions;
|
||||
|
||||
// Spielmodus laden, falls vorhanden
|
||||
if (progress.gameMode) {
|
||||
gameMode = progress.gameMode;
|
||||
}
|
||||
|
||||
// Stelle sicher, dass wir alle Pokémon haben, um korrekte Antwortoptionen zu generieren
|
||||
if (progress.pokemons) {
|
||||
pokemons = progress.pokemons;
|
||||
} else {
|
||||
// Lade die Pokémon für die aktuelle Generation, wenn sie nicht gespeichert wurden
|
||||
loadPokemonForGeneration(selectedGeneration).then(() => {
|
||||
showNextPokemon();
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// UI wechseln
|
||||
generationScreen.classList.add('hidden');
|
||||
startScreen.classList.add('hidden');
|
||||
quizScreen.classList.remove('hidden');
|
||||
resultScreen.classList.add('hidden');
|
||||
|
||||
// Zeige den richtigen Modus an
|
||||
updateGameModeUI();
|
||||
|
||||
// Aktuelles Pokémon anzeigen
|
||||
showNextPokemon();
|
||||
}
|
||||
}
|
||||
|
||||
// Spielmodus-UI aktualisieren
|
||||
function updateGameModeUI() {
|
||||
if (gameMode === 'multiple-choice') {
|
||||
multipleChoiceContainer.classList.remove('hidden');
|
||||
freeformContainer.classList.add('hidden');
|
||||
} else {
|
||||
multipleChoiceContainer.classList.add('hidden');
|
||||
freeformContainer.classList.remove('hidden');
|
||||
// Reset Freeform-Elemente
|
||||
freeformInput.value = '';
|
||||
freeformInput.disabled = false;
|
||||
freeformFeedback.textContent = '';
|
||||
freeformFeedback.className = 'freeform-feedback';
|
||||
correctNameElement.textContent = '';
|
||||
correctNameElement.classList.add('hidden');
|
||||
submitAnswerButton.disabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Lade Pokémon-Daten für eine bestimmte Generation
|
||||
async function loadPokemonForGeneration(generation) {
|
||||
try {
|
||||
if (generation === "all") {
|
||||
// Lade alle Generationen
|
||||
pokemons = [];
|
||||
for (let i = 1; i <= 9; i++) {
|
||||
try {
|
||||
const genResponse = await fetch(`json/gen${i}.json`);
|
||||
const genData = await genResponse.json();
|
||||
pokemons = pokemons.concat(genData);
|
||||
} catch (genError) {
|
||||
console.warn(`Generation ${i} nicht verfügbar:`, genError);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Lade spezifische Generation
|
||||
const response = await fetch(`json/gen${generation}.json`);
|
||||
pokemons = await response.json();
|
||||
}
|
||||
return pokemons;
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Laden der Pokémon-Daten:', error);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
// Event-Listener für Fortschritt-Buttons
|
||||
saveProgressButton.addEventListener('click', saveProgress);
|
||||
loadProgressButton.addEventListener('click', loadProgress);
|
||||
quitButton.addEventListener('click', () => showModal('quit-modal'));
|
||||
|
||||
// Pokemon-Daten laden
|
||||
async function loadPokemonData(generation) {
|
||||
try {
|
||||
await loadPokemonForGeneration(generation);
|
||||
|
||||
maxPokemonNumber = generations[generation] ? generations[generation].max : 151;
|
||||
|
||||
setupDifficultyButtons();
|
||||
displayRandomPokemon(difficultyPokemonImage);
|
||||
|
||||
// Zeige den Schwierigkeitsgrad-Screen
|
||||
generationScreen.classList.add('hidden');
|
||||
startScreen.classList.remove('hidden');
|
||||
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Laden der Pokémon-Daten:', error);
|
||||
alert(`Generation ${generation} ist noch nicht verfügbar. Bitte wähle eine andere Generation.`);
|
||||
}
|
||||
}
|
||||
|
||||
// Event-Listener für Generationsauswahl
|
||||
generationButtons.forEach(button => {
|
||||
button.addEventListener('click', () => {
|
||||
const gen = button.getAttribute('data-gen');
|
||||
selectedGeneration = gen;
|
||||
loadPokemonData(gen);
|
||||
});
|
||||
});
|
||||
|
||||
// Zufälliges Pokémon im Startbildschirm anzeigen
|
||||
function displayRandomPokemon(imageElement) {
|
||||
if (pokemons.length > 0) {
|
||||
const randomIndex = Math.floor(Math.random() * pokemons.length);
|
||||
const randomPokemon = pokemons[randomIndex];
|
||||
const genFolder = getGenerationFolder(randomPokemon.nummer);
|
||||
imageElement.src = `images/${genFolder}/${randomPokemon.nummer}.png`;
|
||||
}
|
||||
}
|
||||
|
||||
// Bestimme den Generationsordner basierend auf der Pokémon-Nummer
|
||||
function getGenerationFolder(number) {
|
||||
const num = parseInt(number);
|
||||
for (let genId in generations) {
|
||||
const gen = generations[genId];
|
||||
if (num >= gen.min && num <= gen.max) {
|
||||
return `gen${genId}`;
|
||||
}
|
||||
}
|
||||
return "gen1"; // Fallback
|
||||
}
|
||||
|
||||
// Schwierigkeitsgrad-Buttons einrichten
|
||||
function setupDifficultyButtons() {
|
||||
document.getElementById('very-easy').addEventListener('click', () => startQuiz(10));
|
||||
document.getElementById('easy').addEventListener('click', () => startQuiz(25));
|
||||
document.getElementById('medium').addEventListener('click', () => startQuiz(50));
|
||||
document.getElementById('advanced').addEventListener('click', () => startQuiz(75));
|
||||
document.getElementById('hard').addEventListener('click', () => startQuiz(100));
|
||||
document.getElementById('expert').addEventListener('click', () => startQuiz(125));
|
||||
document.getElementById('all').addEventListener('click', () => startQuiz(pokemons.length));
|
||||
}
|
||||
|
||||
// Quiz starten
|
||||
function startQuiz(count) {
|
||||
// Alle Pokémon zufällig anordnen und dann nur die gewünschte Anzahl nehmen
|
||||
const shuffledPokemons = shuffleArray([...pokemons]);
|
||||
count = Math.min(count, shuffledPokemons.length);
|
||||
quizPokemons = shuffledPokemons.slice(0, count);
|
||||
|
||||
// Spielvariablen zurücksetzen
|
||||
currentPokemonIndex = 0;
|
||||
correctAnswers = 0;
|
||||
answeredQuestions = 0;
|
||||
|
||||
// UI wechseln
|
||||
startScreen.classList.add('hidden');
|
||||
quizScreen.classList.remove('hidden');
|
||||
resultScreen.classList.add('hidden');
|
||||
|
||||
// Aktualisiere die Spielmodus-UI
|
||||
updateGameModeUI();
|
||||
|
||||
// Erstes Pokémon anzeigen
|
||||
showNextPokemon();
|
||||
}
|
||||
|
||||
// Nächstes Pokémon anzeigen
|
||||
function showNextPokemon() {
|
||||
if (currentPokemonIndex >= quizPokemons.length) {
|
||||
showResults();
|
||||
return;
|
||||
}
|
||||
|
||||
const currentPokemon = quizPokemons[currentPokemonIndex];
|
||||
|
||||
// Bild setzen
|
||||
const genFolder = getGenerationFolder(currentPokemon.nummer);
|
||||
pokemonImage.src = `images/${genFolder}/${currentPokemon.nummer}.png`;
|
||||
pokemonImage.classList.add('silhouette');
|
||||
pokemonImage.classList.remove('revealed');
|
||||
|
||||
// Je nach Spielmodus UI anpassen
|
||||
if (gameMode === 'multiple-choice') {
|
||||
// Optionen generieren
|
||||
generateOptions(currentPokemon);
|
||||
} else {
|
||||
// Freeform-Felder zurücksetzen
|
||||
freeformInput.value = '';
|
||||
freeformInput.disabled = false;
|
||||
freeformInput.focus();
|
||||
freeformFeedback.textContent = '';
|
||||
freeformFeedback.className = 'freeform-feedback';
|
||||
correctNameElement.textContent = '';
|
||||
correctNameElement.classList.add('hidden');
|
||||
submitAnswerButton.disabled = false;
|
||||
}
|
||||
|
||||
// Fortschritt aktualisieren
|
||||
progressElement.textContent = `Pokemon ${currentPokemonIndex + 1} von ${quizPokemons.length}`;
|
||||
|
||||
// Next-Button verstecken
|
||||
nextButton.classList.add('hidden');
|
||||
}
|
||||
|
||||
// Optionen für aktuelles Pokémon generieren (Multiple Choice)
|
||||
function generateOptions(currentPokemon) {
|
||||
// Optionen-Container leeren
|
||||
optionsContainer.innerHTML = "";
|
||||
|
||||
// Richtige Antwort
|
||||
const correctAnswer = currentPokemon.name;
|
||||
|
||||
// Zwei falsche Antworten auswählen
|
||||
const incorrectOptions = getRandomIncorrectOptions(correctAnswer, 2);
|
||||
|
||||
// Alle Optionen mischen
|
||||
const allOptions = shuffleArray([correctAnswer, ...incorrectOptions]);
|
||||
|
||||
// Optionen-Buttons erstellen
|
||||
allOptions.forEach(option => {
|
||||
const button = document.createElement('button');
|
||||
button.classList.add('option-button');
|
||||
button.textContent = option;
|
||||
button.addEventListener('click', () => checkMultipleChoiceAnswer(button, option, correctAnswer));
|
||||
optionsContainer.appendChild(button);
|
||||
});
|
||||
}
|
||||
|
||||
// Antwort überprüfen (Multiple Choice)
|
||||
function checkMultipleChoiceAnswer(button, selectedOption, correctAnswer) {
|
||||
// Pokémon aufdecken
|
||||
pokemonImage.classList.add('revealed');
|
||||
pokemonImage.classList.remove('silhouette');
|
||||
|
||||
// Alle Buttons deaktivieren
|
||||
const allButtons = optionsContainer.querySelectorAll('button');
|
||||
allButtons.forEach(btn => {
|
||||
btn.disabled = true;
|
||||
if (btn.textContent === correctAnswer) {
|
||||
btn.classList.add('correct');
|
||||
}
|
||||
});
|
||||
|
||||
// Ausgewählten Button markieren
|
||||
if (selectedOption === correctAnswer) {
|
||||
button.classList.add('correct');
|
||||
correctAnswers++;
|
||||
} else {
|
||||
button.classList.add('incorrect');
|
||||
}
|
||||
|
||||
// Nächster Button anzeigen
|
||||
nextButton.classList.remove('hidden');
|
||||
answeredQuestions++;
|
||||
}
|
||||
|
||||
// Event-Listener für Freeform-Antworten
|
||||
submitAnswerButton.addEventListener('click', checkFreeformAnswer);
|
||||
freeformInput.addEventListener('keypress', (e) => {
|
||||
if (e.key === 'Enter') {
|
||||
checkFreeformAnswer();
|
||||
}
|
||||
});
|
||||
|
||||
// Antwort überprüfen (Freeform)
|
||||
function checkFreeformAnswer() {
|
||||
const currentPokemon = quizPokemons[currentPokemonIndex];
|
||||
const correctAnswer = currentPokemon.name;
|
||||
const userAnswer = freeformInput.value.trim();
|
||||
|
||||
// Pokémon aufdecken
|
||||
pokemonImage.classList.add('revealed');
|
||||
pokemonImage.classList.remove('silhouette');
|
||||
|
||||
// Eingabefeld und Button deaktivieren
|
||||
freeformInput.disabled = true;
|
||||
submitAnswerButton.disabled = true;
|
||||
|
||||
// Antwort vergleichen (unabhängig von Groß-/Kleinschreibung)
|
||||
const isCorrect = userAnswer.toLowerCase() === correctAnswer.toLowerCase();
|
||||
|
||||
// Feedback anzeigen
|
||||
if (isCorrect) {
|
||||
freeformFeedback.textContent = "Richtig!";
|
||||
freeformFeedback.className = "freeform-feedback correct";
|
||||
correctAnswers++;
|
||||
} else {
|
||||
freeformFeedback.textContent = "Falsch!";
|
||||
freeformFeedback.className = "freeform-feedback incorrect";
|
||||
correctNameElement.textContent = `Die richtige Antwort ist: ${correctAnswer}`;
|
||||
correctNameElement.classList.remove('hidden');
|
||||
}
|
||||
|
||||
// Nächster Button anzeigen
|
||||
nextButton.classList.remove('hidden');
|
||||
answeredQuestions++;
|
||||
}
|
||||
|
||||
// Zufällige falsche Optionen generieren
|
||||
function getRandomIncorrectOptions(correctAnswer, count) {
|
||||
// Liste aller Pokémon-Namen ohne die richtige Antwort
|
||||
const allNames = pokemons.map(p => p.name).filter(name => name !== correctAnswer);
|
||||
return shuffleArray(allNames).slice(0, count);
|
||||
}
|
||||
|
||||
// Ergebnisse anzeigen
|
||||
function showResults() {
|
||||
quizScreen.classList.add('hidden');
|
||||
resultScreen.classList.remove('hidden');
|
||||
finalScoreElement.textContent = `Deine Punktzahl: ${correctAnswers} von ${quizPokemons.length}`;
|
||||
}
|
||||
|
||||
// Array zufällig mischen (Fisher-Yates Algorithmus)
|
||||
function shuffleArray(array) {
|
||||
for (let i = array.length - 1; i > 0; i--) {
|
||||
const j = Math.floor(Math.random() * (i + 1));
|
||||
[array[i], array[j]] = [array[j], array[i]];
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
// Zurück zur Generationsauswahl
|
||||
backButton.addEventListener('click', () => {
|
||||
startScreen.classList.add('hidden');
|
||||
generationScreen.classList.remove('hidden');
|
||||
displayRandomPokemon(randomPokemonImage);
|
||||
});
|
||||
|
||||
// Event-Listener einrichten
|
||||
nextButton.addEventListener('click', () => {
|
||||
currentPokemonIndex++;
|
||||
showNextPokemon();
|
||||
});
|
||||
|
||||
restartButton.addEventListener('click', () => {
|
||||
resultScreen.classList.add('hidden');
|
||||
generationScreen.classList.remove('hidden');
|
||||
displayRandomPokemon(randomPokemonImage);
|
||||
});
|
||||
|
||||
// Anwendung initialisieren
|
||||
// Prüfe, ob ein gespeicherter Fortschritt vorhanden ist
|
||||
checkSavedProgress();
|
||||
|
||||
// Zeige zufälliges Pokémon im Generationsauswahl-Screen
|
||||
fetch('json/gen1.json')
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
const tempPokemons = data;
|
||||
const randomIndex = Math.floor(Math.random() * tempPokemons.length);
|
||||
const randomPokemon = tempPokemons[randomIndex];
|
||||
randomPokemonImage.src = `images/gen1/${randomPokemon.nummer}.png`;
|
||||
})
|
||||
.catch(error => {
|
||||
console.error('Fehler beim Laden der Vorschau:', error);
|
||||
randomPokemonImage.src = 'images/gen1/001.png'; // Fallback
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
153
pokemon_quiz/json/gen1.json
Normal file
153
pokemon_quiz/json/gen1.json
Normal file
@ -0,0 +1,153 @@
|
||||
[
|
||||
{"nummer": "001", "name": "Bisasam"},
|
||||
{"nummer": "002", "name": "Bisaknosp"},
|
||||
{"nummer": "003", "name": "Bisaflor"},
|
||||
{"nummer": "004", "name": "Glumanda"},
|
||||
{"nummer": "005", "name": "Glutexo"},
|
||||
{"nummer": "006", "name": "Glurak"},
|
||||
{"nummer": "007", "name": "Schiggy"},
|
||||
{"nummer": "008", "name": "Schillok"},
|
||||
{"nummer": "009", "name": "Turtok"},
|
||||
{"nummer": "010", "name": "Raupy"},
|
||||
{"nummer": "011", "name": "Safcon"},
|
||||
{"nummer": "012", "name": "Smettbo"},
|
||||
{"nummer": "013", "name": "Hornliu"},
|
||||
{"nummer": "014", "name": "Kokuna"},
|
||||
{"nummer": "015", "name": "Bibor"},
|
||||
{"nummer": "016", "name": "Taubsi"},
|
||||
{"nummer": "017", "name": "Tauboga"},
|
||||
{"nummer": "018", "name": "Tauboss"},
|
||||
{"nummer": "019", "name": "Rattfratz"},
|
||||
{"nummer": "020", "name": "Rattikarl"},
|
||||
{"nummer": "021", "name": "Habitak"},
|
||||
{"nummer": "022", "name": "Ibitak"},
|
||||
{"nummer": "023", "name": "Rettan"},
|
||||
{"nummer": "024", "name": "Arbok"},
|
||||
{"nummer": "025", "name": "Pikachu"},
|
||||
{"nummer": "026", "name": "Raichu"},
|
||||
{"nummer": "027", "name": "Sandan"},
|
||||
{"nummer": "028", "name": "Sandamer"},
|
||||
{"nummer": "029", "name": "Nidoran♀"},
|
||||
{"nummer": "030", "name": "Nidorina"},
|
||||
{"nummer": "031", "name": "Nidoqueen"},
|
||||
{"nummer": "032", "name": "Nidoran♂"},
|
||||
{"nummer": "033", "name": "Nidorino"},
|
||||
{"nummer": "034", "name": "Nidoking"},
|
||||
{"nummer": "035", "name": "Piepi"},
|
||||
{"nummer": "036", "name": "Pixi"},
|
||||
{"nummer": "037", "name": "Vulpix"},
|
||||
{"nummer": "038", "name": "Vulnona"},
|
||||
{"nummer": "039", "name": "Pummeluff"},
|
||||
{"nummer": "040", "name": "Knuddeluff"},
|
||||
{"nummer": "041", "name": "Zubat"},
|
||||
{"nummer": "042", "name": "Golbat"},
|
||||
{"nummer": "043", "name": "Myrapla"},
|
||||
{"nummer": "044", "name": "Duflor"},
|
||||
{"nummer": "045", "name": "Giflor"},
|
||||
{"nummer": "046", "name": "Paras"},
|
||||
{"nummer": "047", "name": "Parasek"},
|
||||
{"nummer": "048", "name": "Bluzuk"},
|
||||
{"nummer": "049", "name": "Omot"},
|
||||
{"nummer": "050", "name": "Digda"},
|
||||
{"nummer": "051", "name": "Digdri"},
|
||||
{"nummer": "052", "name": "Mauzi"},
|
||||
{"nummer": "053", "name": "Snobilikat"},
|
||||
{"nummer": "054", "name": "Enton"},
|
||||
{"nummer": "055", "name": "Entoron"},
|
||||
{"nummer": "056", "name": "Menki"},
|
||||
{"nummer": "057", "name": "Rasaff"},
|
||||
{"nummer": "058", "name": "Fukano"},
|
||||
{"nummer": "059", "name": "Arkani"},
|
||||
{"nummer": "060", "name": "Quapsel"},
|
||||
{"nummer": "061", "name": "Quaputzi"},
|
||||
{"nummer": "062", "name": "Quappo"},
|
||||
{"nummer": "063", "name": "Abra"},
|
||||
{"nummer": "064", "name": "Kadabra"},
|
||||
{"nummer": "065", "name": "Simsala"},
|
||||
{"nummer": "066", "name": "Machollo"},
|
||||
{"nummer": "067", "name": "Maschock"},
|
||||
{"nummer": "068", "name": "Machomei"},
|
||||
{"nummer": "069", "name": "Knofensa"},
|
||||
{"nummer": "070", "name": "Ultrigaria"},
|
||||
{"nummer": "071", "name": "Sarzenia"},
|
||||
{"nummer": "072", "name": "Tentacha"},
|
||||
{"nummer": "073", "name": "Tentoxa"},
|
||||
{"nummer": "074", "name": "Kleinstein"},
|
||||
{"nummer": "075", "name": "Georok"},
|
||||
{"nummer": "076", "name": "Geowaz"},
|
||||
{"nummer": "077", "name": "Ponita"},
|
||||
{"nummer": "078", "name": "Gallopa"},
|
||||
{"nummer": "079", "name": "Flegmon"},
|
||||
{"nummer": "080", "name": "Lahmus"},
|
||||
{"nummer": "081", "name": "Magnetilo"},
|
||||
{"nummer": "082", "name": "Magneton"},
|
||||
{"nummer": "083", "name": "Porenta"},
|
||||
{"nummer": "084", "name": "Dodu"},
|
||||
{"nummer": "085", "name": "Dodri"},
|
||||
{"nummer": "086", "name": "Jurob"},
|
||||
{"nummer": "087", "name": "Jugong"},
|
||||
{"nummer": "088", "name": "Sleima"},
|
||||
{"nummer": "089", "name": "Sleimok"},
|
||||
{"nummer": "090", "name": "Muschas"},
|
||||
{"nummer": "091", "name": "Austos"},
|
||||
{"nummer": "092", "name": "Nebulak"},
|
||||
{"nummer": "093", "name": "Alpollo"},
|
||||
{"nummer": "094", "name": "Gengar"},
|
||||
{"nummer": "095", "name": "Onix"},
|
||||
{"nummer": "096", "name": "Traumato"},
|
||||
{"nummer": "097", "name": "Hypno"},
|
||||
{"nummer": "098", "name": "Krabby"},
|
||||
{"nummer": "099", "name": "Kingler"},
|
||||
{"nummer": "100", "name": "Voltobal"},
|
||||
{"nummer": "101", "name": "Lektrobal"},
|
||||
{"nummer": "102", "name": "Owei"},
|
||||
{"nummer": "103", "name": "Kokowei"},
|
||||
{"nummer": "104", "name": "Tragosso"},
|
||||
{"nummer": "105", "name": "Knogga"},
|
||||
{"nummer": "106", "name": "Kicklee"},
|
||||
{"nummer": "107", "name": "Nockchan"},
|
||||
{"nummer": "108", "name": "Schlurp"},
|
||||
{"nummer": "109", "name": "Smogon"},
|
||||
{"nummer": "110", "name": "Smogmog"},
|
||||
{"nummer": "111", "name": "Rihorn"},
|
||||
{"nummer": "112", "name": "Rizeros"},
|
||||
{"nummer": "113", "name": "Chaneira"},
|
||||
{"nummer": "114", "name": "Tangela"},
|
||||
{"nummer": "115", "name": "Kangama"},
|
||||
{"nummer": "116", "name": "Seeper"},
|
||||
{"nummer": "117", "name": "Seemon"},
|
||||
{"nummer": "118", "name": "Goldini"},
|
||||
{"nummer": "119", "name": "Golking"},
|
||||
{"nummer": "120", "name": "Sterndu"},
|
||||
{"nummer": "121", "name": "Starmie"},
|
||||
{"nummer": "122", "name": "Pantimos"},
|
||||
{"nummer": "123", "name": "Sichlor"},
|
||||
{"nummer": "124", "name": "Rossana"},
|
||||
{"nummer": "125", "name": "Elektek"},
|
||||
{"nummer": "126", "name": "Magmar"},
|
||||
{"nummer": "127", "name": "Pinsir"},
|
||||
{"nummer": "128", "name": "Tauros"},
|
||||
{"nummer": "129", "name": "Karpador"},
|
||||
{"nummer": "130", "name": "Garados"},
|
||||
{"nummer": "131", "name": "Lapras"},
|
||||
{"nummer": "132", "name": "Ditto"},
|
||||
{"nummer": "133", "name": "Evoli"},
|
||||
{"nummer": "134", "name": "Aquana"},
|
||||
{"nummer": "135", "name": "Blitza"},
|
||||
{"nummer": "136", "name": "Flamara"},
|
||||
{"nummer": "137", "name": "Porygon"},
|
||||
{"nummer": "138", "name": "Amonitas"},
|
||||
{"nummer": "139", "name": "Amoroso"},
|
||||
{"nummer": "140", "name": "Kabuto"},
|
||||
{"nummer": "141", "name": "Kabutops"},
|
||||
{"nummer": "142", "name": "Aerodactyl"},
|
||||
{"nummer": "143", "name": "Relaxo"},
|
||||
{"nummer": "144", "name": "Arktos"},
|
||||
{"nummer": "145", "name": "Zapdos"},
|
||||
{"nummer": "146", "name": "Lavados"},
|
||||
{"nummer": "147", "name": "Dratini"},
|
||||
{"nummer": "148", "name": "Dragonir"},
|
||||
{"nummer": "149", "name": "Dragoran"},
|
||||
{"nummer": "150", "name": "Mewtu"},
|
||||
{"nummer": "151", "name": "Mew"}
|
||||
]
|
102
pokemon_quiz/json/gen2.json
Normal file
102
pokemon_quiz/json/gen2.json
Normal file
@ -0,0 +1,102 @@
|
||||
[
|
||||
{"nummer": "152", "name": "Endivie"},
|
||||
{"nummer": "153", "name": "Lorblatt"},
|
||||
{"nummer": "154", "name": "Meganie"},
|
||||
{"nummer": "155", "name": "Feurigel"},
|
||||
{"nummer": "156", "name": "Igelavar"},
|
||||
{"nummer": "157", "name": "Tornupto"},
|
||||
{"nummer": "158", "name": "Karnimani"},
|
||||
{"nummer": "159", "name": "Tyracroc"},
|
||||
{"nummer": "160", "name": "Impergator"},
|
||||
{"nummer": "161", "name": "Wiesor"},
|
||||
{"nummer": "162", "name": "Wiesenior"},
|
||||
{"nummer": "163", "name": "Hoothoot"},
|
||||
{"nummer": "164", "name": "Noctuh"},
|
||||
{"nummer": "165", "name": "Ledyba"},
|
||||
{"nummer": "166", "name": "Ledian"},
|
||||
{"nummer": "167", "name": "Webarak"},
|
||||
{"nummer": "168", "name": "Ariados"},
|
||||
{"nummer": "169", "name": "Iksbat"},
|
||||
{"nummer": "170", "name": "Lampi"},
|
||||
{"nummer": "171", "name": "Lanturn"},
|
||||
{"nummer": "172", "name": "Pichu"},
|
||||
{"nummer": "173", "name": "Pii"},
|
||||
{"nummer": "174", "name": "Fluffeluff"},
|
||||
{"nummer": "175", "name": "Togepi"},
|
||||
{"nummer": "176", "name": "Togetic"},
|
||||
{"nummer": "177", "name": "Natu"},
|
||||
{"nummer": "178", "name": "Xatu"},
|
||||
{"nummer": "179", "name": "Voltilamm"},
|
||||
{"nummer": "180", "name": "Waaty"},
|
||||
{"nummer": "181", "name": "Ampharos"},
|
||||
{"nummer": "182", "name": "Blubella"},
|
||||
{"nummer": "183", "name": "Marill"},
|
||||
{"nummer": "184", "name": "Azumarill"},
|
||||
{"nummer": "185", "name": "Mogelbaum"},
|
||||
{"nummer": "186", "name": "Quaxo"},
|
||||
{"nummer": "187", "name": "Hoppspross"},
|
||||
{"nummer": "188", "name": "Hubelupf"},
|
||||
{"nummer": "189", "name": "Papungha"},
|
||||
{"nummer": "190", "name": "Griffel"},
|
||||
{"nummer": "191", "name": "Sonnkern"},
|
||||
{"nummer": "192", "name": "Sonnflora"},
|
||||
{"nummer": "193", "name": "Yanma"},
|
||||
{"nummer": "194", "name": "Felino"},
|
||||
{"nummer": "195", "name": "Morlord"},
|
||||
{"nummer": "196", "name": "Psiana"},
|
||||
{"nummer": "197", "name": "Nachtara"},
|
||||
{"nummer": "198", "name": "Kramurx"},
|
||||
{"nummer": "199", "name": "Laschoking"},
|
||||
{"nummer": "200", "name": "Traunfugil"},
|
||||
{"nummer": "201", "name": "Icognito"},
|
||||
{"nummer": "202", "name": "Woingenau"},
|
||||
{"nummer": "203", "name": "Girafarig"},
|
||||
{"nummer": "204", "name": "Tannza"},
|
||||
{"nummer": "205", "name": "Forstellka"},
|
||||
{"nummer": "206", "name": "Dummisel"},
|
||||
{"nummer": "207", "name": "Skorgla"},
|
||||
{"nummer": "208", "name": "Stahlos"},
|
||||
{"nummer": "209", "name": "Snubbull"},
|
||||
{"nummer": "210", "name": "Granbull"},
|
||||
{"nummer": "211", "name": "Baldorfish"},
|
||||
{"nummer": "212", "name": "Scherox"},
|
||||
{"nummer": "213", "name": "Pottrott"},
|
||||
{"nummer": "214", "name": "Skaraborn"},
|
||||
{"nummer": "215", "name": "Sniebel"},
|
||||
{"nummer": "216", "name": "Teddiursa"},
|
||||
{"nummer": "217", "name": "Ursaring"},
|
||||
{"nummer": "218", "name": "Schneckmag"},
|
||||
{"nummer": "219", "name": "Magcargo"},
|
||||
{"nummer": "220", "name": "Quiekel"},
|
||||
{"nummer": "221", "name": "Keifel"},
|
||||
{"nummer": "222", "name": "Corasonn"},
|
||||
{"nummer": "223", "name": "Remoraid"},
|
||||
{"nummer": "224", "name": "Octillery"},
|
||||
{"nummer": "225", "name": "Botogel"},
|
||||
{"nummer": "226", "name": "Mantax"},
|
||||
{"nummer": "227", "name": "Panzaeron"},
|
||||
{"nummer": "228", "name": "Hunduster"},
|
||||
{"nummer": "229", "name": "Hundemon"},
|
||||
{"nummer": "230", "name": "Seedraking"},
|
||||
{"nummer": "231", "name": "Phanpy"},
|
||||
{"nummer": "232", "name": "Donphan"},
|
||||
{"nummer": "233", "name": "Porygon2"},
|
||||
{"nummer": "234", "name": "Damhirplex"},
|
||||
{"nummer": "235", "name": "Farbeagle"},
|
||||
{"nummer": "236", "name": "Rabauz"},
|
||||
{"nummer": "237", "name": "Kapoera"},
|
||||
{"nummer": "238", "name": "Kussilla"},
|
||||
{"nummer": "239", "name": "Elekid"},
|
||||
{"nummer": "240", "name": "Magby"},
|
||||
{"nummer": "241", "name": "Miltank"},
|
||||
{"nummer": "242", "name": "Heiteira"},
|
||||
{"nummer": "243", "name": "Raikou"},
|
||||
{"nummer": "244", "name": "Entei"},
|
||||
{"nummer": "245", "name": "Suicune"},
|
||||
{"nummer": "246", "name": "Larvitar"},
|
||||
{"nummer": "247", "name": "Pupitar"},
|
||||
{"nummer": "248", "name": "Despotar"},
|
||||
{"nummer": "249", "name": "Lugia"},
|
||||
{"nummer": "250", "name": "Ho-Oh"},
|
||||
{"nummer": "251", "name": "Celebi"}
|
||||
]
|
137
pokemon_quiz/json/gen3.json
Normal file
137
pokemon_quiz/json/gen3.json
Normal file
@ -0,0 +1,137 @@
|
||||
[
|
||||
{"nummer": "252", "name": "Geckarbor"},
|
||||
{"nummer": "253", "name": "Reptain"},
|
||||
{"nummer": "254", "name": "Gewaldro"},
|
||||
{"nummer": "255", "name": "Flemmli"},
|
||||
{"nummer": "256", "name": "Jungglut"},
|
||||
{"nummer": "257", "name": "Lohgock"},
|
||||
{"nummer": "258", "name": "Hydropi"},
|
||||
{"nummer": "259", "name": "Moorabbel"},
|
||||
{"nummer": "260", "name": "Sumpex"},
|
||||
{"nummer": "261", "name": "Fiffyen"},
|
||||
{"nummer": "262", "name": "Magnayen"},
|
||||
{"nummer": "263", "name": "Zigzachs"},
|
||||
{"nummer": "264", "name": "Geradaks"},
|
||||
{"nummer": "265", "name": "Waumpel"},
|
||||
{"nummer": "266", "name": "Schaloko"},
|
||||
{"nummer": "267", "name": "Papinella"},
|
||||
{"nummer": "268", "name": "Panekon"},
|
||||
{"nummer": "269", "name": "Pudox"},
|
||||
{"nummer": "270", "name": "Loturzel"},
|
||||
{"nummer": "271", "name": "Lombrero"},
|
||||
{"nummer": "272", "name": "Kappalores"},
|
||||
{"nummer": "273", "name": "Samurzel"},
|
||||
{"nummer": "274", "name": "Blanas"},
|
||||
{"nummer": "275", "name": "Tengulist"},
|
||||
{"nummer": "276", "name": "Schwalbini"},
|
||||
{"nummer": "277", "name": "Schwalboss"},
|
||||
{"nummer": "278", "name": "Wingull"},
|
||||
{"nummer": "279", "name": "Pelipper"},
|
||||
{"nummer": "280", "name": "Trasla"},
|
||||
{"nummer": "281", "name": "Kirlia"},
|
||||
{"nummer": "282", "name": "Guardevoir"},
|
||||
{"nummer": "283", "name": "Gehweiher"},
|
||||
{"nummer": "284", "name": "Maskeregen"},
|
||||
{"nummer": "285", "name": "Knilz"},
|
||||
{"nummer": "286", "name": "Kapilz"},
|
||||
{"nummer": "287", "name": "Bummelz"},
|
||||
{"nummer": "288", "name": "Muntier"},
|
||||
{"nummer": "289", "name": "Letarking"},
|
||||
{"nummer": "290", "name": "Nincada"},
|
||||
{"nummer": "291", "name": "Ninjask"},
|
||||
{"nummer": "292", "name": "Ninjatom"},
|
||||
{"nummer": "293", "name": "Flurmel"},
|
||||
{"nummer": "294", "name": "Krakeelo"},
|
||||
{"nummer": "295", "name": "Krawumms"},
|
||||
{"nummer": "296", "name": "Makuhita"},
|
||||
{"nummer": "297", "name": "Hariyama"},
|
||||
{"nummer": "298", "name": "Azurill"},
|
||||
{"nummer": "299", "name": "Nasgnet"},
|
||||
{"nummer": "300", "name": "Eneco"},
|
||||
{"nummer": "301", "name": "Enekoro"},
|
||||
{"nummer": "302", "name": "Zobiris"},
|
||||
{"nummer": "303", "name": "Flunkifer"},
|
||||
{"nummer": "304", "name": "Stollunior"},
|
||||
{"nummer": "305", "name": "Stollrak"},
|
||||
{"nummer": "306", "name": "Stolloss"},
|
||||
{"nummer": "307", "name": "Meditie"},
|
||||
{"nummer": "308", "name": "Meditalis"},
|
||||
{"nummer": "309", "name": "Frizelbliz"},
|
||||
{"nummer": "310", "name": "Voltenso"},
|
||||
{"nummer": "311", "name": "Plusle"},
|
||||
{"nummer": "312", "name": "Minun"},
|
||||
{"nummer": "313", "name": "Volbeat"},
|
||||
{"nummer": "314", "name": "Illumise"},
|
||||
{"nummer": "315", "name": "Roselia"},
|
||||
{"nummer": "316", "name": "Schluppuck"},
|
||||
{"nummer": "317", "name": "Schlukwech"},
|
||||
{"nummer": "318", "name": "Kanivanha"},
|
||||
{"nummer": "319", "name": "Tohaido"},
|
||||
{"nummer": "320", "name": "Wailmer"},
|
||||
{"nummer": "321", "name": "Wailord"},
|
||||
{"nummer": "322", "name": "Camaub"},
|
||||
{"nummer": "323", "name": "Camerupt"},
|
||||
{"nummer": "324", "name": "Qurtel"},
|
||||
{"nummer": "325", "name": "Spoink"},
|
||||
{"nummer": "326", "name": "Groink"},
|
||||
{"nummer": "327", "name": "Pandir"},
|
||||
{"nummer": "328", "name": "Knacklion"},
|
||||
{"nummer": "329", "name": "Vibrava"},
|
||||
{"nummer": "330", "name": "Libelldra"},
|
||||
{"nummer": "331", "name": "Tuska"},
|
||||
{"nummer": "332", "name": "Noktuska"},
|
||||
{"nummer": "333", "name": "Wablu"},
|
||||
{"nummer": "334", "name": "Altaria"},
|
||||
{"nummer": "335", "name": "Sengo"},
|
||||
{"nummer": "336", "name": "Vipitis"},
|
||||
{"nummer": "337", "name": "Lunastein"},
|
||||
{"nummer": "338", "name": "Sonnfel"},
|
||||
{"nummer": "339", "name": "Schmerbe"},
|
||||
{"nummer": "340", "name": "Welsar"},
|
||||
{"nummer": "341", "name": "Krebscorps"},
|
||||
{"nummer": "342", "name": "Krebutack"},
|
||||
{"nummer": "343", "name": "Puppance"},
|
||||
{"nummer": "344", "name": "Lepumentas"},
|
||||
{"nummer": "345", "name": "Liliep"},
|
||||
{"nummer": "346", "name": "Wielie"},
|
||||
{"nummer": "347", "name": "Anorith"},
|
||||
{"nummer": "348", "name": "Armaldo"},
|
||||
{"nummer": "349", "name": "Barschwa"},
|
||||
{"nummer": "350", "name": "Milotic"},
|
||||
{"nummer": "351", "name": "Formeo"},
|
||||
{"nummer": "352", "name": "Kecleon"},
|
||||
{"nummer": "353", "name": "Shuppet"},
|
||||
{"nummer": "354", "name": "Banette"},
|
||||
{"nummer": "355", "name": "Zwirrlicht"},
|
||||
{"nummer": "356", "name": "Zwirrklop"},
|
||||
{"nummer": "357", "name": "Tropius"},
|
||||
{"nummer": "358", "name": "Palimpalim"},
|
||||
{"nummer": "359", "name": "Absol"},
|
||||
{"nummer": "360", "name": "Isso"},
|
||||
{"nummer": "361", "name": "Schneppke"},
|
||||
{"nummer": "362", "name": "Firnontor"},
|
||||
{"nummer": "363", "name": "Seemops"},
|
||||
{"nummer": "364", "name": "Seejong"},
|
||||
{"nummer": "365", "name": "Walraisa"},
|
||||
{"nummer": "366", "name": "Perlu"},
|
||||
{"nummer": "367", "name": "Aalabyss"},
|
||||
{"nummer": "368", "name": "Saganabyss"},
|
||||
{"nummer": "369", "name": "Relicanth"},
|
||||
{"nummer": "370", "name": "Liebiskus"},
|
||||
{"nummer": "371", "name": "Kindwurm"},
|
||||
{"nummer": "372", "name": "Draschel"},
|
||||
{"nummer": "373", "name": "Brutalanda"},
|
||||
{"nummer": "374", "name": "Tanhel"},
|
||||
{"nummer": "375", "name": "Metang"},
|
||||
{"nummer": "376", "name": "Metagross"},
|
||||
{"nummer": "377", "name": "Regirock"},
|
||||
{"nummer": "378", "name": "Regice"},
|
||||
{"nummer": "379", "name": "Registeel"},
|
||||
{"nummer": "380", "name": "Latias"},
|
||||
{"nummer": "381", "name": "Latios"},
|
||||
{"nummer": "382", "name": "Kyogre"},
|
||||
{"nummer": "383", "name": "Groudon"},
|
||||
{"nummer": "384", "name": "Rayquaza"},
|
||||
{"nummer": "385", "name": "Jirachi"},
|
||||
{"nummer": "386", "name": "Deoxys"}
|
||||
]
|
109
pokemon_quiz/json/gen4.json
Normal file
109
pokemon_quiz/json/gen4.json
Normal file
@ -0,0 +1,109 @@
|
||||
[
|
||||
{"nummer": "387", "name": "Chelast"},
|
||||
{"nummer": "388", "name": "Chelcarain"},
|
||||
{"nummer": "389", "name": "Chelterrar"},
|
||||
{"nummer": "390", "name": "Panflam"},
|
||||
{"nummer": "391", "name": "Panpyro"},
|
||||
{"nummer": "392", "name": "Panferno"},
|
||||
{"nummer": "393", "name": "Plinfa"},
|
||||
{"nummer": "394", "name": "Pliprin"},
|
||||
{"nummer": "395", "name": "Impoleon"},
|
||||
{"nummer": "396", "name": "Staralili"},
|
||||
{"nummer": "397", "name": "Staravia"},
|
||||
{"nummer": "398", "name": "Staraptor"},
|
||||
{"nummer": "399", "name": "Bidiza"},
|
||||
{"nummer": "400", "name": "Bidifas"},
|
||||
{"nummer": "401", "name": "Zirpurze"},
|
||||
{"nummer": "402", "name": "Zirpeise"},
|
||||
{"nummer": "403", "name": "Sheinux"},
|
||||
{"nummer": "404", "name": "Luxio"},
|
||||
{"nummer": "405", "name": "Luxtra"},
|
||||
{"nummer": "406", "name": "Knospi"},
|
||||
{"nummer": "407", "name": "Roserade"},
|
||||
{"nummer": "408", "name": "Koknodon"},
|
||||
{"nummer": "409", "name": "Rameidon"},
|
||||
{"nummer": "410", "name": "Schilterus"},
|
||||
{"nummer": "411", "name": "Bollterus"},
|
||||
{"nummer": "412", "name": "Burmy"},
|
||||
{"nummer": "413", "name": "Burmadame"},
|
||||
{"nummer": "414", "name": "Moterpel"},
|
||||
{"nummer": "415", "name": "Wadribie"},
|
||||
{"nummer": "416", "name": "Honweisel"},
|
||||
{"nummer": "417", "name": "Pachirisu"},
|
||||
{"nummer": "418", "name": "Bamelin"},
|
||||
{"nummer": "419", "name": "Bojelin"},
|
||||
{"nummer": "420", "name": "Kikugi"},
|
||||
{"nummer": "421", "name": "Kinoso"},
|
||||
{"nummer": "422", "name": "Schalellos"},
|
||||
{"nummer": "423", "name": "Gastrodon"},
|
||||
{"nummer": "424", "name": "Ambidiffel"},
|
||||
{"nummer": "425", "name": "Driftlon"},
|
||||
{"nummer": "426", "name": "Drifzepeli"},
|
||||
{"nummer": "427", "name": "Haspiror"},
|
||||
{"nummer": "428", "name": "Schlapor"},
|
||||
{"nummer": "429", "name": "Traunmagil"},
|
||||
{"nummer": "430", "name": "Kramshef"},
|
||||
{"nummer": "431", "name": "Charmian"},
|
||||
{"nummer": "432", "name": "Shnurgarst"},
|
||||
{"nummer": "433", "name": "Klingplim"},
|
||||
{"nummer": "434", "name": "Skunkapuh"},
|
||||
{"nummer": "435", "name": "Skuntank"},
|
||||
{"nummer": "436", "name": "Bronzel"},
|
||||
{"nummer": "437", "name": "Bronzong"},
|
||||
{"nummer": "438", "name": "Mobai"},
|
||||
{"nummer": "439", "name": "Pantimimi"},
|
||||
{"nummer": "440", "name": "Wonneira"},
|
||||
{"nummer": "441", "name": "Plaudagei"},
|
||||
{"nummer": "442", "name": "Kryppuk"},
|
||||
{"nummer": "443", "name": "Kaumalat"},
|
||||
{"nummer": "444", "name": "Knarksel"},
|
||||
{"nummer": "445", "name": "Knakrack"},
|
||||
{"nummer": "446", "name": "Mampfaxo"},
|
||||
{"nummer": "447", "name": "Riolu"},
|
||||
{"nummer": "448", "name": "Lucario"},
|
||||
{"nummer": "449", "name": "Hippopotas"},
|
||||
{"nummer": "450", "name": "Hippoterus"},
|
||||
{"nummer": "451", "name": "Pionskora"},
|
||||
{"nummer": "452", "name": "Piondragi"},
|
||||
{"nummer": "453", "name": "Glibunkel"},
|
||||
{"nummer": "454", "name": "Toxiquak"},
|
||||
{"nummer": "455", "name": "Venuflibis"},
|
||||
{"nummer": "456", "name": "Finneon"},
|
||||
{"nummer": "457", "name": "Lumineon"},
|
||||
{"nummer": "458", "name": "Mantirps"},
|
||||
{"nummer": "459", "name": "Shnebedeck"},
|
||||
{"nummer": "460", "name": "Rexblisar"},
|
||||
{"nummer": "461", "name": "Snibunna"},
|
||||
{"nummer": "462", "name": "Magnezone"},
|
||||
{"nummer": "463", "name": "Schlurplek"},
|
||||
{"nummer": "464", "name": "Rihornior"},
|
||||
{"nummer": "465", "name": "Tangoloss"},
|
||||
{"nummer": "466", "name": "Elevoltek"},
|
||||
{"nummer": "467", "name": "Magbrant"},
|
||||
{"nummer": "468", "name": "Togekiss"},
|
||||
{"nummer": "469", "name": "Yanmega"},
|
||||
{"nummer": "470", "name": "Folipurba"},
|
||||
{"nummer": "471", "name": "Glaziola"},
|
||||
{"nummer": "472", "name": "Skorgro"},
|
||||
{"nummer": "473", "name": "Mamutel"},
|
||||
{"nummer": "474", "name": "Porygon-Z"},
|
||||
{"nummer": "475", "name": "Galagladi"},
|
||||
{"nummer": "476", "name": "Voluminas"},
|
||||
{"nummer": "477", "name": "Zwirrfinst"},
|
||||
{"nummer": "478", "name": "Frosdedje"},
|
||||
{"nummer": "479", "name": "Rotom"},
|
||||
{"nummer": "480", "name": "Selfe"},
|
||||
{"nummer": "481", "name": "Vesprit"},
|
||||
{"nummer": "482", "name": "Tobutz"},
|
||||
{"nummer": "483", "name": "Dialga"},
|
||||
{"nummer": "484", "name": "Palkia"},
|
||||
{"nummer": "485", "name": "Heatran"},
|
||||
{"nummer": "486", "name": "Regigigas"},
|
||||
{"nummer": "487", "name": "Giratina"},
|
||||
{"nummer": "488", "name": "Cresselia"},
|
||||
{"nummer": "489", "name": "Phione"},
|
||||
{"nummer": "490", "name": "Manaphy"},
|
||||
{"nummer": "491", "name": "Darkrai"},
|
||||
{"nummer": "492", "name": "Shaymin"},
|
||||
{"nummer": "493", "name": "Arceus"}
|
||||
]
|
158
pokemon_quiz/json/gen5.json
Normal file
158
pokemon_quiz/json/gen5.json
Normal file
@ -0,0 +1,158 @@
|
||||
[
|
||||
{"nummer": "494", "name": "Victini"},
|
||||
{"nummer": "495", "name": "Serpifeu"},
|
||||
{"nummer": "496", "name": "Efoserp"},
|
||||
{"nummer": "497", "name": "Serpiroyal"},
|
||||
{"nummer": "498", "name": "Floink"},
|
||||
{"nummer": "499", "name": "Ferkokel"},
|
||||
{"nummer": "500", "name": "Flambirex"},
|
||||
{"nummer": "501", "name": "Ottaro"},
|
||||
{"nummer": "502", "name": "Zwottronin"},
|
||||
{"nummer": "503", "name": "Admurai"},
|
||||
{"nummer": "504", "name": "Nagelotz"},
|
||||
{"nummer": "505", "name": "Kukmarda"},
|
||||
{"nummer": "506", "name": "Yorkleff"},
|
||||
{"nummer": "507", "name": "Terribark"},
|
||||
{"nummer": "508", "name": "Bissbark"},
|
||||
{"nummer": "509", "name": "Felilou"},
|
||||
{"nummer": "510", "name": "Kleoparda"},
|
||||
{"nummer": "511", "name": "Vegimak"},
|
||||
{"nummer": "512", "name": "Vegichita"},
|
||||
{"nummer": "513", "name": "Grillmak"},
|
||||
{"nummer": "514", "name": "Grillchita"},
|
||||
{"nummer": "515", "name": "Sodamak"},
|
||||
{"nummer": "516", "name": "Sodachita"},
|
||||
{"nummer": "517", "name": "Somniam"},
|
||||
{"nummer": "518", "name": "Somnivora"},
|
||||
{"nummer": "519", "name": "Dusselgurr"},
|
||||
{"nummer": "520", "name": "Navitaub"},
|
||||
{"nummer": "521", "name": "Fasasnob"},
|
||||
{"nummer": "522", "name": "Elezeba"},
|
||||
{"nummer": "523", "name": "Zebritz"},
|
||||
{"nummer": "524", "name": "Kiesling"},
|
||||
{"nummer": "525", "name": "Sedimantur"},
|
||||
{"nummer": "526", "name": "Brockoloss"},
|
||||
{"nummer": "527", "name": "Fleknoil"},
|
||||
{"nummer": "528", "name": "Fletiamo"},
|
||||
{"nummer": "529", "name": "Rotomurf"},
|
||||
{"nummer": "530", "name": "Stalobor"},
|
||||
{"nummer": "531", "name": "Ohrdoch"},
|
||||
{"nummer": "532", "name": "Praktibalk"},
|
||||
{"nummer": "533", "name": "Strepoli"},
|
||||
{"nummer": "534", "name": "Meistagrif"},
|
||||
{"nummer": "535", "name": "Schallquap"},
|
||||
{"nummer": "536", "name": "Mebrana"},
|
||||
{"nummer": "537", "name": "Branawarz"},
|
||||
{"nummer": "538", "name": "Jiutesto"},
|
||||
{"nummer": "539", "name": "Karadonis"},
|
||||
{"nummer": "540", "name": "Strawickl"},
|
||||
{"nummer": "541", "name": "Folikon"},
|
||||
{"nummer": "542", "name": "Matrifol"},
|
||||
{"nummer": "543", "name": "Toxiped"},
|
||||
{"nummer": "544", "name": "Rollum"},
|
||||
{"nummer": "545", "name": "Cerapendra"},
|
||||
{"nummer": "546", "name": "Waumboll"},
|
||||
{"nummer": "547", "name": "Elfun"},
|
||||
{"nummer": "548", "name": "Lilminip"},
|
||||
{"nummer": "549", "name": "Dressella"},
|
||||
{"nummer": "550", "name": "Barschuft"},
|
||||
{"nummer": "551", "name": "Ganovil"},
|
||||
{"nummer": "552", "name": "Rokkaiman"},
|
||||
{"nummer": "553", "name": "Rabigator"},
|
||||
{"nummer": "554", "name": "Flampion"},
|
||||
{"nummer": "555", "name": "Flampivian"},
|
||||
{"nummer": "556", "name": "Maracamba"},
|
||||
{"nummer": "557", "name": "Lithomith"},
|
||||
{"nummer": "558", "name": "Castellith"},
|
||||
{"nummer": "559", "name": "Zurrokex"},
|
||||
{"nummer": "560", "name": "Irokex"},
|
||||
{"nummer": "561", "name": "Symvolara"},
|
||||
{"nummer": "562", "name": "Makabaja"},
|
||||
{"nummer": "563", "name": "Echnatoll"},
|
||||
{"nummer": "564", "name": "Galapaflos"},
|
||||
{"nummer": "565", "name": "Karippas"},
|
||||
{"nummer": "566", "name": "Flapteryx"},
|
||||
{"nummer": "567", "name": "Aeropteryx"},
|
||||
{"nummer": "568", "name": "Unratütox"},
|
||||
{"nummer": "569", "name": "Deponitox"},
|
||||
{"nummer": "570", "name": "Zorua"},
|
||||
{"nummer": "571", "name": "Zoroark"},
|
||||
{"nummer": "572", "name": "Picochilla"},
|
||||
{"nummer": "573", "name": "Chillabell"},
|
||||
{"nummer": "574", "name": "Mollimorba"},
|
||||
{"nummer": "575", "name": "Hypnomorba"},
|
||||
{"nummer": "576", "name": "Morbitesse"},
|
||||
{"nummer": "577", "name": "Monozyto"},
|
||||
{"nummer": "578", "name": "Mitodos"},
|
||||
{"nummer": "579", "name": "Zytomega"},
|
||||
{"nummer": "580", "name": "Piccolente"},
|
||||
{"nummer": "581", "name": "Swaroness"},
|
||||
{"nummer": "582", "name": "Gelatini"},
|
||||
{"nummer": "583", "name": "Gelatroppo"},
|
||||
{"nummer": "584", "name": "Gelatwino"},
|
||||
{"nummer": "585", "name": "Sesokitz"},
|
||||
{"nummer": "586", "name": "Kronjuwild"},
|
||||
{"nummer": "587", "name": "Emolga"},
|
||||
{"nummer": "588", "name": "Laukaps"},
|
||||
{"nummer": "589", "name": "Cavalanzas"},
|
||||
{"nummer": "590", "name": "Tarnpignon"},
|
||||
{"nummer": "591", "name": "Hutsassa"},
|
||||
{"nummer": "592", "name": "Quabbel"},
|
||||
{"nummer": "593", "name": "Apoquallyp"},
|
||||
{"nummer": "594", "name": "Mamolida"},
|
||||
{"nummer": "595", "name": "Wattzapf"},
|
||||
{"nummer": "596", "name": "Voltula"},
|
||||
{"nummer": "597", "name": "Kastadur"},
|
||||
{"nummer": "598", "name": "Tentantel"},
|
||||
{"nummer": "599", "name": "Klikk"},
|
||||
{"nummer": "600", "name": "Kliklak"},
|
||||
{"nummer": "601", "name": "Klikdiklak"},
|
||||
{"nummer": "602", "name": "Zapplardin"},
|
||||
{"nummer": "603", "name": "Zapplalek"},
|
||||
{"nummer": "604", "name": "Zapplarang"},
|
||||
{"nummer": "605", "name": "Pygraulon"},
|
||||
{"nummer": "606", "name": "Megalon"},
|
||||
{"nummer": "607", "name": "Lichtel"},
|
||||
{"nummer": "608", "name": "Laternecto"},
|
||||
{"nummer": "609", "name": "Skelabra"},
|
||||
{"nummer": "610", "name": "Milza"},
|
||||
{"nummer": "611", "name": "Sharfax"},
|
||||
{"nummer": "612", "name": "Maxax"},
|
||||
{"nummer": "613", "name": "Petznief"},
|
||||
{"nummer": "614", "name": "Siberio"},
|
||||
{"nummer": "615", "name": "Frigometri"},
|
||||
{"nummer": "616", "name": "Schnuthelm"},
|
||||
{"nummer": "617", "name": "Hydragil"},
|
||||
{"nummer": "618", "name": "Flunschlik"},
|
||||
{"nummer": "619", "name": "Lin-Fu"},
|
||||
{"nummer": "620", "name": "Wie-Shu"},
|
||||
{"nummer": "621", "name": "Shardrago"},
|
||||
{"nummer": "622", "name": "Golbit"},
|
||||
{"nummer": "623", "name": "Golgantes"},
|
||||
{"nummer": "624", "name": "Gladiantri"},
|
||||
{"nummer": "625", "name": "Caesurio"},
|
||||
{"nummer": "626", "name": "Bisofank"},
|
||||
{"nummer": "627", "name": "Geronimatz"},
|
||||
{"nummer": "628", "name": "Washakwil"},
|
||||
{"nummer": "629", "name": "Skallyk"},
|
||||
{"nummer": "630", "name": "Grypheldis"},
|
||||
{"nummer": "631", "name": "Furnifraß"},
|
||||
{"nummer": "632", "name": "Fermicula"},
|
||||
{"nummer": "633", "name": "Kapuno"},
|
||||
{"nummer": "634", "name": "Duodino"},
|
||||
{"nummer": "635", "name": "Trikephalo"},
|
||||
{"nummer": "636", "name": "Ignivor"},
|
||||
{"nummer": "637", "name": "Ramoth"},
|
||||
{"nummer": "638", "name": "Kobalium"},
|
||||
{"nummer": "639", "name": "Terrakium"},
|
||||
{"nummer": "640", "name": "Viridium"},
|
||||
{"nummer": "641", "name": "Boreos"},
|
||||
{"nummer": "642", "name": "Voltolos"},
|
||||
{"nummer": "643", "name": "Reshiram"},
|
||||
{"nummer": "644", "name": "Zekrom"},
|
||||
{"nummer": "645", "name": "Demeteros"},
|
||||
{"nummer": "646", "name": "Kyurem"},
|
||||
{"nummer": "647", "name": "Keldeo"},
|
||||
{"nummer": "648", "name": "Meloetta"},
|
||||
{"nummer": "649", "name": "Genesect"}
|
||||
]
|
74
pokemon_quiz/json/gen6.json
Normal file
74
pokemon_quiz/json/gen6.json
Normal file
@ -0,0 +1,74 @@
|
||||
[
|
||||
{"nummer": "650", "name": "Igamaro"},
|
||||
{"nummer": "651", "name": "Igastarnish"},
|
||||
{"nummer": "652", "name": "Brigaron"},
|
||||
{"nummer": "653", "name": "Fynx"},
|
||||
{"nummer": "654", "name": "Rutena"},
|
||||
{"nummer": "655", "name": "Fennexis"},
|
||||
{"nummer": "656", "name": "Froxy"},
|
||||
{"nummer": "657", "name": "Amphizel"},
|
||||
{"nummer": "658", "name": "Quajutsu"},
|
||||
{"nummer": "659", "name": "Scoppel"},
|
||||
{"nummer": "660", "name": "Grebbit"},
|
||||
{"nummer": "661", "name": "Dartiri"},
|
||||
{"nummer": "662", "name": "Dartignis"},
|
||||
{"nummer": "663", "name": "Fiaro"},
|
||||
{"nummer": "664", "name": "Purmel"},
|
||||
{"nummer": "665", "name": "Puponcho"},
|
||||
{"nummer": "666", "name": "Vivillon"},
|
||||
{"nummer": "667", "name": "Leufeo"},
|
||||
{"nummer": "668", "name": "Pyroleo"},
|
||||
{"nummer": "669", "name": "Flabébé"},
|
||||
{"nummer": "670", "name": "Floette"},
|
||||
{"nummer": "671", "name": "Florges"},
|
||||
{"nummer": "672", "name": "Mähikel"},
|
||||
{"nummer": "673", "name": "Chevrumm"},
|
||||
{"nummer": "674", "name": "Pam-Pam"},
|
||||
{"nummer": "675", "name": "Pandagro"},
|
||||
{"nummer": "676", "name": "Coiffwaff"},
|
||||
{"nummer": "677", "name": "Psiau"},
|
||||
{"nummer": "678", "name": "Psiaugon"},
|
||||
{"nummer": "679", "name": "Gramokles"},
|
||||
{"nummer": "680", "name": "Duokles"},
|
||||
{"nummer": "681", "name": "Durengard"},
|
||||
{"nummer": "682", "name": "Parfi"},
|
||||
{"nummer": "683", "name": "Parfinesse"},
|
||||
{"nummer": "684", "name": "Flauschling"},
|
||||
{"nummer": "685", "name": "Sabbaione"},
|
||||
{"nummer": "686", "name": "Iscalar"},
|
||||
{"nummer": "687", "name": "Calamanero"},
|
||||
{"nummer": "688", "name": "Bithora"},
|
||||
{"nummer": "689", "name": "Thanathora"},
|
||||
{"nummer": "690", "name": "Algitt"},
|
||||
{"nummer": "691", "name": "Tandrak"},
|
||||
{"nummer": "692", "name": "Scampisto"},
|
||||
{"nummer": "693", "name": "Wummer"},
|
||||
{"nummer": "694", "name": "Eguana"},
|
||||
{"nummer": "695", "name": "Elezard"},
|
||||
{"nummer": "696", "name": "Balgoras"},
|
||||
{"nummer": "697", "name": "Monargoras"},
|
||||
{"nummer": "698", "name": "Amarino"},
|
||||
{"nummer": "699", "name": "Amagarga"},
|
||||
{"nummer": "700", "name": "Feelinara"},
|
||||
{"nummer": "701", "name": "Resladero"},
|
||||
{"nummer": "702", "name": "Dedenne"},
|
||||
{"nummer": "703", "name": "Rocara"},
|
||||
{"nummer": "704", "name": "Viscora"},
|
||||
{"nummer": "705", "name": "Viscargot"},
|
||||
{"nummer": "706", "name": "Viscogon"},
|
||||
{"nummer": "707", "name": "Clavion"},
|
||||
{"nummer": "708", "name": "Paragoni"},
|
||||
{"nummer": "709", "name": "Trombork"},
|
||||
{"nummer": "710", "name": "Irrbis"},
|
||||
{"nummer": "711", "name": "Pumpdjinn"},
|
||||
{"nummer": "712", "name": "Arktip"},
|
||||
{"nummer": "713", "name": "Arktilas"},
|
||||
{"nummer": "714", "name": "eF-eM"},
|
||||
{"nummer": "715", "name": "UHaFnir"},
|
||||
{"nummer": "716", "name": "Xerneas"},
|
||||
{"nummer": "717", "name": "Yveltal"},
|
||||
{"nummer": "718", "name": "Zygarde"},
|
||||
{"nummer": "719", "name": "Diancie"},
|
||||
{"nummer": "720", "name": "Hoopa"},
|
||||
{"nummer": "721", "name": "Volcanion"}
|
||||
]
|
90
pokemon_quiz/json/gen7.json
Normal file
90
pokemon_quiz/json/gen7.json
Normal file
@ -0,0 +1,90 @@
|
||||
[
|
||||
{"nummer": "722", "name": "Bauz"},
|
||||
{"nummer": "723", "name": "Arboretoss"},
|
||||
{"nummer": "724", "name": "Silvarro"},
|
||||
{"nummer": "725", "name": "Flamiau"},
|
||||
{"nummer": "726", "name": "Miezunder"},
|
||||
{"nummer": "727", "name": "Fuegro"},
|
||||
{"nummer": "728", "name": "Robball"},
|
||||
{"nummer": "729", "name": "Marikeck"},
|
||||
{"nummer": "730", "name": "Primarene"},
|
||||
{"nummer": "731", "name": "Peppeck"},
|
||||
{"nummer": "732", "name": "Trompeck"},
|
||||
{"nummer": "733", "name": "Tukanon"},
|
||||
{"nummer": "734", "name": "Mangunior"},
|
||||
{"nummer": "735", "name": "Manguspektor"},
|
||||
{"nummer": "736", "name": "Mabula"},
|
||||
{"nummer": "737", "name": "Akkup"},
|
||||
{"nummer": "738", "name": "Donarion"},
|
||||
{"nummer": "739", "name": "Krabbox"},
|
||||
{"nummer": "740", "name": "Krawell"},
|
||||
{"nummer": "741", "name": "Choreogel"},
|
||||
{"nummer": "742", "name": "Wommel"},
|
||||
{"nummer": "743", "name": "Bandelby"},
|
||||
{"nummer": "744", "name": "Wuffels"},
|
||||
{"nummer": "745", "name": "Wolwerock"},
|
||||
{"nummer": "746", "name": "Lusardin"},
|
||||
{"nummer": "747", "name": "Garstella"},
|
||||
{"nummer": "748", "name": "Aggrostella"},
|
||||
{"nummer": "749", "name": "Pampuli"},
|
||||
{"nummer": "750", "name": "Pampross"},
|
||||
{"nummer": "751", "name": "Araqua"},
|
||||
{"nummer": "752", "name": "Aranestro"},
|
||||
{"nummer": "753", "name": "Imantis"},
|
||||
{"nummer": "754", "name": "Mantidea"},
|
||||
{"nummer": "755", "name": "Bubungus"},
|
||||
{"nummer": "756", "name": "Lamellux"},
|
||||
{"nummer": "757", "name": "Molunk"},
|
||||
{"nummer": "758", "name": "Amfira"},
|
||||
{"nummer": "759", "name": "Velursi"},
|
||||
{"nummer": "760", "name": "Kosturso"},
|
||||
{"nummer": "761", "name": "Frubberl"},
|
||||
{"nummer": "762", "name": "Frubaila"},
|
||||
{"nummer": "763", "name": "Fruyal"},
|
||||
{"nummer": "764", "name": "Curelei"},
|
||||
{"nummer": "765", "name": "Kommandutan"},
|
||||
{"nummer": "766", "name": "Quartermak"},
|
||||
{"nummer": "767", "name": "Reißlaus"},
|
||||
{"nummer": "768", "name": "Tectass"},
|
||||
{"nummer": "769", "name": "Sankabuh"},
|
||||
{"nummer": "770", "name": "Colossand"},
|
||||
{"nummer": "771", "name": "Gufa"},
|
||||
{"nummer": "772", "name": "Typ:Null"},
|
||||
{"nummer": "773", "name": "Amigento"},
|
||||
{"nummer": "774", "name": "Meteno"},
|
||||
{"nummer": "775", "name": "Koalelu"},
|
||||
{"nummer": "776", "name": "Tortunator"},
|
||||
{"nummer": "777", "name": "Togedemaru"},
|
||||
{"nummer": "778", "name": "Mimigma"},
|
||||
{"nummer": "779", "name": "Knirfish"},
|
||||
{"nummer": "780", "name": "Sen-Long"},
|
||||
{"nummer": "781", "name": "Moruda"},
|
||||
{"nummer": "782", "name": "Miniras"},
|
||||
{"nummer": "783", "name": "Mediras"},
|
||||
{"nummer": "784", "name": "Grandiras"},
|
||||
{"nummer": "785", "name": "Kapu-Riki"},
|
||||
{"nummer": "786", "name": "Kapu-Fala"},
|
||||
{"nummer": "787", "name": "Kapu-Toro"},
|
||||
{"nummer": "788", "name": "Kapu-Kime"},
|
||||
{"nummer": "789", "name": "Cosmog"},
|
||||
{"nummer": "790", "name": "Cosmovum"},
|
||||
{"nummer": "791", "name": "Solgaleo"},
|
||||
{"nummer": "792", "name": "Lunala"},
|
||||
{"nummer": "793", "name": "Anego"},
|
||||
{"nummer": "794", "name": "Masskito"},
|
||||
{"nummer": "795", "name": "Schabelle"},
|
||||
{"nummer": "796", "name": "Voltriant"},
|
||||
{"nummer": "797", "name": "Kaguron"},
|
||||
{"nummer": "798", "name": "Katagami"},
|
||||
{"nummer": "799", "name": "Schlingking"},
|
||||
{"nummer": "800", "name": "Necrozma"},
|
||||
{"nummer": "801", "name": "Magearna"},
|
||||
{"nummer": "802", "name": "Marshadow"},
|
||||
{"nummer": "803", "name": "Venicro"},
|
||||
{"nummer": "804", "name": "Agoyon"},
|
||||
{"nummer": "805", "name": "Muramura"},
|
||||
{"nummer": "806", "name": "Kopplosio"},
|
||||
{"nummer": "807", "name": "Zeraora"},
|
||||
{"nummer": "808", "name": "Meltan"},
|
||||
{"nummer": "809", "name": "Melmetal"}
|
||||
]
|
98
pokemon_quiz/json/gen8.json
Normal file
98
pokemon_quiz/json/gen8.json
Normal file
@ -0,0 +1,98 @@
|
||||
[
|
||||
{"nummer": "810", "name": "Chimpep"},
|
||||
{"nummer": "811", "name": "Chimstix"},
|
||||
{"nummer": "812", "name": "Gortrom"},
|
||||
{"nummer": "813", "name": "Hopplo"},
|
||||
{"nummer": "814", "name": "Kickerlo"},
|
||||
{"nummer": "815", "name": "Liberlo"},
|
||||
{"nummer": "816", "name": "Memmeon"},
|
||||
{"nummer": "817", "name": "Phlegleon"},
|
||||
{"nummer": "818", "name": "Intelleon"},
|
||||
{"nummer": "819", "name": "Raffel"},
|
||||
{"nummer": "820", "name": "Schlaraffel"},
|
||||
{"nummer": "821", "name": "Meikro"},
|
||||
{"nummer": "822", "name": "Kranoviz"},
|
||||
{"nummer": "823", "name": "Krarmor"},
|
||||
{"nummer": "824", "name": "Sensect"},
|
||||
{"nummer": "825", "name": "Keradar"},
|
||||
{"nummer": "826", "name": "Maritellit"},
|
||||
{"nummer": "827", "name": "Kleptifux"},
|
||||
{"nummer": "828", "name": "Gaunux"},
|
||||
{"nummer": "829", "name": "Cottini"},
|
||||
{"nummer": "830", "name": "Cottomi"},
|
||||
{"nummer": "831", "name": "Wolly"},
|
||||
{"nummer": "832", "name": "Zwollock"},
|
||||
{"nummer": "833", "name": "Kamehaps"},
|
||||
{"nummer": "834", "name": "Kamalm"},
|
||||
{"nummer": "835", "name": "Voldi"},
|
||||
{"nummer": "836", "name": "Bellektro"},
|
||||
{"nummer": "837", "name": "Klonkett"},
|
||||
{"nummer": "838", "name": "Wagong"},
|
||||
{"nummer": "839", "name": "Montecarbo"},
|
||||
{"nummer": "840", "name": "Knapfel"},
|
||||
{"nummer": "841", "name": "Drapfel"},
|
||||
{"nummer": "842", "name": "Schlapfel"},
|
||||
{"nummer": "843", "name": "Salanga"},
|
||||
{"nummer": "844", "name": "Sanaconda"},
|
||||
{"nummer": "845", "name": "Urgl"},
|
||||
{"nummer": "846", "name": "Pikuda"},
|
||||
{"nummer": "847", "name": "Barrakiefa"},
|
||||
{"nummer": "848", "name": "Toxel"},
|
||||
{"nummer": "849", "name": "Riffex"},
|
||||
{"nummer": "850", "name": "Thermopod"},
|
||||
{"nummer": "851", "name": "Infernopod"},
|
||||
{"nummer": "852", "name": "Klopptopus"},
|
||||
{"nummer": "853", "name": "Kaocto"},
|
||||
{"nummer": "854", "name": "Fatalitee"},
|
||||
{"nummer": "855", "name": "Mortipot"},
|
||||
{"nummer": "856", "name": "Brimova"},
|
||||
{"nummer": "857", "name": "Brimano"},
|
||||
{"nummer": "858", "name": "Silembrim"},
|
||||
{"nummer": "859", "name": "Bähmon"},
|
||||
{"nummer": "860", "name": "Pelzebub"},
|
||||
{"nummer": "861", "name": "Olangaar"},
|
||||
{"nummer": "862", "name": "Barrikadax"},
|
||||
{"nummer": "863", "name": "Mauzinger"},
|
||||
{"nummer": "864", "name": "Gorgasonn"},
|
||||
{"nummer": "865", "name": "Lauchzelot"},
|
||||
{"nummer": "866", "name": "Pantifrost"},
|
||||
{"nummer": "867", "name": "Oghnatoll"},
|
||||
{"nummer": "868", "name": "Hokumil"},
|
||||
{"nummer": "869", "name": "Pokusan"},
|
||||
{"nummer": "870", "name": "Legios"},
|
||||
{"nummer": "871", "name": "Britzigel"},
|
||||
{"nummer": "872", "name": "Snomnom"},
|
||||
{"nummer": "873", "name": "Mottineva"},
|
||||
{"nummer": "874", "name": "Humanolith"},
|
||||
{"nummer": "875", "name": "Kubuin"},
|
||||
{"nummer": "876", "name": "Servol"},
|
||||
{"nummer": "877", "name": "Morpeko"},
|
||||
{"nummer": "878", "name": "Kupfanti"},
|
||||
{"nummer": "879", "name": "Patinaraja"},
|
||||
{"nummer": "880", "name": "Lectragon"},
|
||||
{"nummer": "881", "name": "Lecryodon"},
|
||||
{"nummer": "882", "name": "Pescragon"},
|
||||
{"nummer": "883", "name": "Pescryodon"},
|
||||
{"nummer": "884", "name": "Duraludon"},
|
||||
{"nummer": "885", "name": "Grolldra"},
|
||||
{"nummer": "886", "name": "Phandra"},
|
||||
{"nummer": "887", "name": "Katapuldra"},
|
||||
{"nummer": "888", "name": "Zacian"},
|
||||
{"nummer": "889", "name": "Zamazenta"},
|
||||
{"nummer": "890", "name": "Endynalos"},
|
||||
{"nummer": "891", "name": "Dakuma"},
|
||||
{"nummer": "892", "name": "Wulaosu"},
|
||||
{"nummer": "893", "name": "Zarude"},
|
||||
{"nummer": "894", "name": "Regieleki"},
|
||||
{"nummer": "895", "name": "Regidrago"},
|
||||
{"nummer": "896", "name": "Polaross"},
|
||||
{"nummer": "897", "name": "Phantoross"},
|
||||
{"nummer": "898", "name": "Coronospa"},
|
||||
{"nummer": "899", "name": "Damythir"},
|
||||
{"nummer": "900", "name": "Axantor"},
|
||||
{"nummer": "901", "name": "Ursaluna"},
|
||||
{"nummer": "902", "name": "Salmagnis"},
|
||||
{"nummer": "903", "name": "Snieboss"},
|
||||
{"nummer": "904", "name": "Myriador"},
|
||||
{"nummer": "905", "name": "Cupidos"}
|
||||
]
|
122
pokemon_quiz/json/gen9.json
Normal file
122
pokemon_quiz/json/gen9.json
Normal file
@ -0,0 +1,122 @@
|
||||
[
|
||||
{"nummer": "906", "name": "Felori"},
|
||||
{"nummer": "907", "name": "Feliospa"},
|
||||
{"nummer": "908", "name": "Maskagato"},
|
||||
{"nummer": "909", "name": "Krokel"},
|
||||
{"nummer": "910", "name": "Lokroko"},
|
||||
{"nummer": "911", "name": "Skelokrok"},
|
||||
{"nummer": "912", "name": "Kwaks"},
|
||||
{"nummer": "913", "name": "Fuentente"},
|
||||
{"nummer": "914", "name": "Bailonda"},
|
||||
{"nummer": "915", "name": "Ferkuli"},
|
||||
{"nummer": "916", "name": "Fragrunz"},
|
||||
{"nummer": "917", "name": "Tarundel"},
|
||||
{"nummer": "918", "name": "Spinsidias"},
|
||||
{"nummer": "919", "name": "Micrick"},
|
||||
{"nummer": "920", "name": "Lextremo"},
|
||||
{"nummer": "921", "name": "Pamo"},
|
||||
{"nummer": "922", "name": "Pamamo"},
|
||||
{"nummer": "923", "name": "Pamomamo"},
|
||||
{"nummer": "924", "name": "Zwieps"},
|
||||
{"nummer": "925", "name": "Famieps"},
|
||||
{"nummer": "926", "name": "Hefel"},
|
||||
{"nummer": "927", "name": "Backel"},
|
||||
{"nummer": "928", "name": "Olini"},
|
||||
{"nummer": "929", "name": "Olivinio"},
|
||||
{"nummer": "930", "name": "Olithena"},
|
||||
{"nummer": "931", "name": "Krawalloro"},
|
||||
{"nummer": "932", "name": "Geosali"},
|
||||
{"nummer": "933", "name": "Sedisal"},
|
||||
{"nummer": "934", "name": "Saltigant"},
|
||||
{"nummer": "935", "name": "Knarbon"},
|
||||
{"nummer": "936", "name": "Crimanzo"},
|
||||
{"nummer": "937", "name": "Azugladis"},
|
||||
{"nummer": "938", "name": "Blipp"},
|
||||
{"nummer": "939", "name": "Wampitz"},
|
||||
{"nummer": "940", "name": "Voltrel"},
|
||||
{"nummer": "941", "name": "Voltrean"},
|
||||
{"nummer": "942", "name": "Mobtiff"},
|
||||
{"nummer": "943", "name": "Mastifioso"},
|
||||
{"nummer": "944", "name": "Sproxi"},
|
||||
{"nummer": "945", "name": "Affiti"},
|
||||
{"nummer": "946", "name": "Weherba"},
|
||||
{"nummer": "947", "name": "Horrerba"},
|
||||
{"nummer": "948", "name": "Tentagra"},
|
||||
{"nummer": "949", "name": "Tenterra"},
|
||||
{"nummer": "950", "name": "Klibbe"},
|
||||
{"nummer": "951", "name": "Chilingel"},
|
||||
{"nummer": "952", "name": "Halupenjo"},
|
||||
{"nummer": "953", "name": "Relluk"},
|
||||
{"nummer": "954", "name": "Skarabaks"},
|
||||
{"nummer": "955", "name": "Flattutu"},
|
||||
{"nummer": "956", "name": "Psiopatra"},
|
||||
{"nummer": "957", "name": "Forgita"},
|
||||
{"nummer": "958", "name": "Tafforgita"},
|
||||
{"nummer": "959", "name": "Granforgita"},
|
||||
{"nummer": "960", "name": "Schligda"},
|
||||
{"nummer": "961", "name": "Schligdri"},
|
||||
{"nummer": "962", "name": "Adebom"},
|
||||
{"nummer": "963", "name": "Normifin"},
|
||||
{"nummer": "964", "name": "Delfinator"},
|
||||
{"nummer": "965", "name": "Knattox"},
|
||||
{"nummer": "966", "name": "Knattatox"},
|
||||
{"nummer": "967", "name": "Mopex"},
|
||||
{"nummer": "968", "name": "Schlurm"},
|
||||
{"nummer": "969", "name": "Lumispross"},
|
||||
{"nummer": "970", "name": "Lumiflora"},
|
||||
{"nummer": "971", "name": "Gruff"},
|
||||
{"nummer": "972", "name": "Friedwuff"},
|
||||
{"nummer": "973", "name": "Flaminkno"},
|
||||
{"nummer": "974", "name": "Flaniwal"},
|
||||
{"nummer": "975", "name": "Kolowal"},
|
||||
{"nummer": "976", "name": "Agiluza"},
|
||||
{"nummer": "977", "name": "Heerashai"},
|
||||
{"nummer": "978", "name": "Nigiragi"},
|
||||
{"nummer": "979", "name": "Epitaff"},
|
||||
{"nummer": "980", "name": "Suelord"},
|
||||
{"nummer": "981", "name": "Farigiraf"},
|
||||
{"nummer": "982", "name": "Dummimisel"},
|
||||
{"nummer": "983", "name": "Gladimperio"},
|
||||
{"nummer": "984", "name": "Riesenzahn"},
|
||||
{"nummer": "985", "name": "Brüllschweif"},
|
||||
{"nummer": "986", "name": "Wutpilz"},
|
||||
{"nummer": "987", "name": "Flatterhaar"},
|
||||
{"nummer": "988", "name": "Kriechflügel"},
|
||||
{"nummer": "989", "name": "Sandfell"},
|
||||
{"nummer": "990", "name": "Eisenrad"},
|
||||
{"nummer": "991", "name": "Eisenbündel"},
|
||||
{"nummer": "992", "name": "Eisenhand"},
|
||||
{"nummer": "993", "name": "Eisenhals"},
|
||||
{"nummer": "994", "name": "Eisenfalter"},
|
||||
{"nummer": "995", "name": "Eisendorn"},
|
||||
{"nummer": "996", "name": "Frospino"},
|
||||
{"nummer": "997", "name": "Cryospino"},
|
||||
{"nummer": "998", "name": "Espinodon"},
|
||||
{"nummer": "999", "name": "Gierspenst"},
|
||||
{"nummer": "1000", "name": "Monetigo"},
|
||||
{"nummer": "1001", "name": "Chongjian"},
|
||||
{"nummer": "1002", "name": "Baojian"},
|
||||
{"nummer": "1003", "name": "Dinglu"},
|
||||
{"nummer": "1004", "name": "Yuyu"},
|
||||
{"nummer": "1005", "name": "Donnersichel"},
|
||||
{"nummer": "1006", "name": "Eisenkrieger"},
|
||||
{"nummer": "1007", "name": "Koraidon"},
|
||||
{"nummer": "1008", "name": "Miraidon"},
|
||||
{"nummer": "1009", "name": "Windewoge"},
|
||||
{"nummer": "1010", "name": "Eisenblatt"},
|
||||
{"nummer": "1011", "name": "Sirapfel"},
|
||||
{"nummer": "1012", "name": "Mortcha"},
|
||||
{"nummer": "1013", "name": "Fatalitcha"},
|
||||
{"nummer": "1014", "name": "Boninu"},
|
||||
{"nummer": "1015", "name": "Benesaru"},
|
||||
{"nummer": "1016", "name": "Beatori"},
|
||||
{"nummer": "1017", "name": "Ogerpon"},
|
||||
{"nummer": "1018", "name": "Briduradon"},
|
||||
{"nummer": "1019", "name": "Hydrapfel"},
|
||||
{"nummer": "1020", "name": "Keilflamme"},
|
||||
{"nummer": "1021", "name": "Furienblitz"},
|
||||
{"nummer": "1022", "name": "Eisenfels"},
|
||||
{"nummer": "1023", "name": "Eisenhaupt"},
|
||||
{"nummer": "1024", "name": "Terapagos"},
|
||||
{"nummer": "1025", "name": "Infamomo"}
|
||||
]
|
@ -17,4 +17,5 @@ https://tools.ponywave.de/bohne
|
||||
https://tools.ponywave.de/pinkie_timer
|
||||
https://tools.ponywave.de/depp_gpt
|
||||
https://tools.ponywave.de/emoji
|
||||
https://tools.ponywave.de/banana_run
|
||||
https://tools.ponywave.de/banana_run
|
||||
https://tools.ponywave.de/pokemon_quiz
|
Loading…
x
Reference in New Issue
Block a user