Solitaire: Man kann jetzt aufgeben
This commit is contained in:
parent
06cd8e5e83
commit
dc2b59c282
@ -326,6 +326,21 @@
|
||||
.modal.show .modal-content {
|
||||
animation: fadeIn 0.3s ease-out;
|
||||
}
|
||||
|
||||
.modal-buttons {
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
justify-content: center;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.give-up-btn {
|
||||
background: #e74c3c;
|
||||
}
|
||||
|
||||
.give-up-btn:hover {
|
||||
background: #c0392b;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
@ -343,6 +358,7 @@
|
||||
<button onclick="newGame()">Neues Spiel</button>
|
||||
<button onclick="showHighscores()">Highscores</button>
|
||||
<button onclick="takeScreenshot()">Screenshot</button>
|
||||
<button onclick="showGiveUpConfirmation()" class="give-up-btn">Aufgeben</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="game-board" id="gameBoard">
|
||||
@ -372,6 +388,7 @@
|
||||
<li>Foundation-Stapel werden mit Assen begonnen und in aufsteigender Reihenfolge mit gleicher Farbe aufgebaut</li>
|
||||
<li>Durch Klick auf den Kartenstapel werden neue Karten aufgedeckt</li>
|
||||
<li>Wenn der Kartenstapel leer ist, können die Karten vom Ablagestapel wieder verwendet werden</li>
|
||||
<li>Bei vorzeitiger Aufgabe des Spiels werden die erspielten Punkte halbiert</li>
|
||||
</ul>
|
||||
<button onclick="closeRules()">Verstanden</button>
|
||||
</div>
|
||||
@ -386,6 +403,19 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal" id="giveUpModal">
|
||||
<div class="modal-content">
|
||||
<h2>Spiel aufgeben?</h2>
|
||||
<p>Möchtest du das Spiel wirklich aufgeben?</p>
|
||||
<p style="color: #e74c3c; margin-top: 10px;">Achtung: Bei Aufgabe werden deine Punkte halbiert!</p>
|
||||
<p style="margin-top: 10px;">Der finale Punktestand wird als Highscore gespeichert.</p>
|
||||
<div class="modal-buttons">
|
||||
<button onclick="giveUp()">Ja, aufgeben</button>
|
||||
<button onclick="closeGiveUpModal()">Nein, weiterspielen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// Spielvariablen
|
||||
let score = 0;
|
||||
@ -728,7 +758,7 @@
|
||||
list.innerHTML = highscores.map((score, index) => `
|
||||
<div class="highscore-entry">
|
||||
<span>${index + 1}. ${score.score} Punkte</span>
|
||||
<span>${Math.floor(score.time / 60)}:${(score.time % 60).toString().padStart(2, '0')} - ${score.moves} Züge</span>
|
||||
<span> ${Math.floor(score.time / 60)}:${(score.time % 60).toString().padStart(2, '0')} - ${score.moves} Züge</span>
|
||||
</div>
|
||||
`).join('');
|
||||
|
||||
@ -946,6 +976,24 @@
|
||||
}
|
||||
}
|
||||
|
||||
function showGiveUpConfirmation() {
|
||||
const modal = document.getElementById('giveUpModal');
|
||||
modal.classList.add('show');
|
||||
}
|
||||
|
||||
function closeGiveUpModal() {
|
||||
document.getElementById('giveUpModal').classList.remove('show');
|
||||
}
|
||||
|
||||
function giveUp() {
|
||||
clearInterval(timerInterval);
|
||||
const finalScore = Math.floor(score / 2); // Halbiere den Score beim Aufgeben
|
||||
updateHighscores(finalScore);
|
||||
closeGiveUpModal();
|
||||
showHighscores();
|
||||
newGame();
|
||||
}
|
||||
|
||||
// Spiel initialisieren
|
||||
newGame();
|
||||
showRules(); // Zeige Spielregeln beim Start
|
||||
|
Loading…
x
Reference in New Issue
Block a user