interface qui marche

This commit is contained in:
2025-12-01 22:21:40 +01:00
parent 6bd971eb6c
commit f311d3f103
3 changed files with 385 additions and 48 deletions

210
style.css
View File

@ -125,6 +125,195 @@ body::after {
100% { transform: scale(1); }
}
/* === MENU PRINCIPAL === */
.main-menu {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: #0a0a0a;
background-image:
radial-gradient(circle at 20% 30%, rgba(255, 0, 0, 0.1) 0%, transparent 50%),
radial-gradient(circle at 80% 70%, rgba(0, 0, 255, 0.1) 0%, transparent 50%),
radial-gradient(circle at 50% 50%, rgba(128, 0, 128, 0.1) 0%, transparent 50%);
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1000;
}
.menu-container {
text-align: center;
background: rgba(0, 0, 0, 0.8);
padding: 50px 40px;
border-radius: 20px;
border: 3px solid rgba(255, 215, 0, 0.4);
box-shadow:
0 10px 30px rgba(0, 0, 0, 0.8),
0 0 50px rgba(255, 0, 0, 0.2),
inset 0 0 30px rgba(255, 215, 0, 0.05);
}
.menu-container h1 {
font-size: 3em;
margin-bottom: 40px;
letter-spacing: 5px;
animation: neonFlicker 3s infinite, rainbow 8s linear infinite;
}
.menu-buttons {
display: flex;
flex-direction: column;
gap: 20px;
align-items: center;
}
.menu-btn {
padding: 20px 50px;
font-size: 1em;
font-family: 'Press Start 2P', cursive;
background: linear-gradient(180deg, #ffd700 0%, #ff8c00 100%);
color: #000;
border: none;
border-radius: 15px;
cursor: pointer;
font-weight: bold;
transition: all 0.3s;
box-shadow: 0 5px 15px rgba(255, 215, 0, 0.4);
min-width: 250px;
}
.menu-btn:hover {
background: linear-gradient(180deg, #ffed4e 0%, #ffa500 100%);
transform: translateY(-3px);
box-shadow: 0 8px 20px rgba(255, 215, 0, 0.6);
}
.menu-btn:active {
transform: translateY(0) scale(0.98);
}
/* === WRAPPER DE JEU === */
.game-wrapper {
min-height: 100vh;
}
/* === HEADER DU JEU === */
.game-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.game-header h2 {
font-size: 1.5em;
margin: 0;
flex: 1;
text-align: center;
letter-spacing: 3px;
animation: neonFlicker 3s infinite, rainbow 8s linear infinite;
}
.back-btn {
padding: 10px 20px;
font-size: 0.7em;
font-family: 'Press Start 2P', cursive;
background: rgba(255, 255, 255, 0.1);
color: #ffd700;
border: 2px solid #ffd700;
border-radius: 10px;
cursor: pointer;
transition: all 0.3s;
}
.back-btn:hover {
background: rgba(255, 215, 0, 0.2);
transform: translateX(-3px);
}
/* === MODAL CLASSEMENT === */
.leaderboard-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.9);
display: flex;
justify-content: center;
align-items: center;
z-index: 2000;
animation: fadeIn 0.3s ease-out;
}
.modal-content {
background: rgba(0, 0, 0, 0.9);
padding: 30px;
border-radius: 20px;
border: 3px solid rgba(255, 215, 0, 0.4);
box-shadow:
0 10px 30px rgba(0, 0, 0, 0.8),
0 0 50px rgba(255, 0, 0, 0.2);
max-width: 500px;
width: 90%;
max-height: 80vh;
overflow-y: auto;
position: relative;
}
.modal-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.modal-header h2 {
color: #ffd700;
font-size: 1.5em;
margin: 0;
}
.close-modal-btn, .close-leaderboard-btn {
background: rgba(255, 0, 0, 0.3);
color: #fff;
border: 2px solid #ff0000;
border-radius: 50%;
width: 35px;
height: 35px;
font-size: 1.2em;
cursor: pointer;
transition: all 0.3s;
display: flex;
align-items: center;
justify-content: center;
font-family: 'Press Start 2P', cursive;
}
.close-modal-btn:hover, .close-leaderboard-btn:hover {
background: rgba(255, 0, 0, 0.5);
transform: scale(1.1);
}
#menuLeaderboard {
max-height: 60vh;
overflow-y: auto;
}
.leaderboard-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.leaderboard-header h2 {
margin: 0;
}
/* === LAYOUT === */
.main-wrapper {
display: flex;
@ -340,7 +529,7 @@ h1 {
.leaderboard-container h2 {
color: #ffd700;
text-align: center;
margin-bottom: 20px;
margin: 0;
font-size: 1.2em;
text-shadow:
0 0 10px rgba(255, 215, 0, 0.5),
@ -609,6 +798,20 @@ footer {
}
@media (max-width: 700px) {
.menu-container {
padding: 30px 20px;
}
.menu-container h1 {
font-size: 2em;
}
.menu-btn {
min-width: 200px;
padding: 15px 30px;
font-size: 0.8em;
}
#gameCanvas {
width: 100%;
height: auto;
@ -639,4 +842,9 @@ footer {
.final-score, .final-level {
font-size: 0.7em;
}
.modal-content {
padding: 20px;
width: 95%;
}
}