slop game oder so

This commit is contained in:
2026-09-24 17:57:54 +02:00
commit 4c997eee21
166 changed files with 14976 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
{# Einzige Quelle des Disclaimer-Texts: wird von /disclaimer und im Spiel (index.html) genutzt. #}
<h2 class="disclaimer__title">Hinweis vor dem Einsatz</h2>
<p class="disclaimer__lead"><strong>Glory Defense ist Satire und reine Fiktion.</strong></p>
<ul class="disclaimer__list">
<li>Alle Figuren, Staaten, Organisationen und Fraktionen – einschließlich „Präsident Maximilian Valor“, der „Vereinigten Erde“, der „Schwärmer“ und der „Blechlegion“ – sind frei erfunden.</li>
<li>Ähnlichkeiten mit realen Personen, lebend oder verstorben, sowie mit realen Organisationen oder Ereignissen sind nicht beabsichtigt und rein zufällig.</li>
<li>Das Spiel vertritt keine politische Position. Es richtet sich nicht gegen reale Parteien, Politikerinnen und Politiker oder Länder.</li>
<li>Die übertriebenen Durchsagen und Parolen sind Gegenstand der Satire, nicht ihre Botschaft: Der Spott gilt Militarismus und Propaganda im Allgemeinen.</li>
</ul>
+14
View File
@@ -0,0 +1,14 @@
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Glory Defense – ein satirischer 2D-Shooter über Propaganda und Militarismus. Reine Fiktion.">
<title>{% block title %}Glory Defense{% endblock %}</title>
<link rel="icon" href="{{ url_for('static', filename='favicon.svg') }}" type="image/svg+xml">
<link rel="stylesheet" href="{{ url_for('static', filename='css/site.css') }}">
</head>
<body class="{% block body_class %}{% endblock %}">
{% block content %}{% endblock %}
</body>
</html>
+11
View File
@@ -0,0 +1,11 @@
{% extends "base.html" %}
{% block title %}Disclaimer – Glory Defense{% endblock %}
{% block body_class %}page{% endblock %}
{% block content %}
<main class="page__panel disclaimer">
{% include "_disclaimer_content.html" %}
<p class="page__actions">
<a class="button" href="{{ url_for('pages.index') }}">Zurück zum Spiel</a>
</p>
</main>
{% endblock %}
+23
View File
@@ -0,0 +1,23 @@
{% extends "base.html" %}
{% block body_class %}game-page{% endblock %}
{% block content %}
{#
Alle URLs kommen per data-Attribut ins JavaScript. So funktioniert das Spiel auch,
wenn die App in cPanel unter einer Unter-URL (z. B. /glory) eingebunden ist.
#}
<main id="game-shell"
data-static-base="{{ url_for('static', filename='') }}"
data-api-highscores="{{ url_for('api.list_highscores') }}"
data-api-runs="{{ url_for('api.start_run') }}"
data-disclaimer-url="{{ url_for('pages.disclaimer') }}">
<div id="game" aria-label="Spielfläche"></div>
<div id="overlay-root"></div>
<p id="boot-message" class="boot-message">Lade Einsatzdaten …</p>
<noscript>
<p class="boot-message">Glory Defense benötigt JavaScript. <a href="{{ url_for('pages.disclaimer') }}">Disclaimer lesen</a></p>
</noscript>
</main>
<template id="disclaimer-content">{% include "_disclaimer_content.html" %}</template>
<script src="{{ url_for('static', filename='js/lib/phaser.min.js') }}"></script>
<script type="module" src="{{ url_for('static', filename='js/main.js') }}"></script>
{% endblock %}