feat: make game over screen creepy with custom music and new ascii rat

This commit is contained in:
2026-06-17 23:00:28 +02:00
parent f34d3824fc
commit 988fceef65
3 changed files with 24 additions and 11 deletions
+7 -11
View File
@@ -86,21 +86,17 @@ void main(void) {
// Disegna l'ASCII art e il messaggio di sconfitta!
printf("\n\n");
printf(" GAME OVER!\n\n");
printf(" /\\___/\\\n");
printf(" ( ^ ^ )\n");
printf(" > w <\n");
printf(" \\___/\n\n");
printf(" /\\_,,,_/\\\n");
printf(" | ' O O ' |\n");
printf(" | >w< |\n");
printf(" \\_/\"v\"\\_/\n\n");
printf(" L'INVASIONE VINCE!\n");
// Suono di risata malefica (una specie di trillo)
NR10_REG = 0x1E;
NR11_REG = 0x80;
NR12_REG = 0xF3;
NR13_REG = 0x00;
NR14_REG = 0x87;
// Suono inquietante e fine della traccia allegra
play_game_over_music();
while(1) {
update_music(); // La musica del tracollo continua
// Loop vuoto, la musica è ormai spenta a parte il riverbero maligno
wait_vbl_done();
}
}
+15
View File
@@ -303,3 +303,18 @@ void update_music(void) {
frame_counter--;
}
}
void play_game_over_music(void) {
// Silenzia bruscamente la melodia allegra, il basso e i tamburi
NR22_REG = 0x00; // Spegne CH2
NR32_REG = 0x00; // Spegne CH3
NR42_REG = 0x00; // Spegne CH4
// Suona una nota discendente e inquietante sul Canale 1
// NR10: Sweep Time lungo, direzione discendente, shift
NR10_REG = 0x7F;
NR11_REG = 0x80;
NR12_REG = 0xF7;
NR13_REG = 0x50;
NR14_REG = 0x86;
}
+2
View File
@@ -7,4 +7,6 @@ void update_music(void);
void play_sfx_moan(void);
void play_sfx_plop(void);
void play_game_over_music(void);
#endif