snake-pp/src/menu.c

65 lines
1.9 KiB
C

#include "menu.h"
#include "game.h"
#include <stdio.h>
#include <Windows.h>
void showStartScreen(){
game.gameState = RUNNING;
return;
}
void showLeaderboard(){
game.gameState = EXIT;
//____________Ton abspielen_________________
// Lade die Audiodatei
SDL_AudioSpec wavSpec;
Uint32 wavLength;
Uint8 *wavBuffer;
//Prüfung, ob Datei geladen wurde
//Alternativ ("../sounds/rock-cinematic-161648.wav") -> beide Ordner sind angelegt und die Datei befindet sich in beiden Ordnern
if (SDL_LoadWAV("../SDL2/sounds/rock-cinematic-161648.wav", &wavSpec, &wavBuffer, &wavLength) == NULL) {
printf("Die Audiodatei konnte nicht geladen werden: %s\n", SDL_GetError());
return;
}
// Spiel die Audiodatei ab
SDL_AudioDeviceID deviceId = SDL_OpenAudioDevice(NULL, 0, &wavSpec, NULL, 0); //(Standard-Audiogerät,1 für Aufnahme/ 0 für Wiedergabe,Zeiger auf eine SDL_AudioSpec-Struktur,NULL: In diesem Fall wird kein Zeiger auf eine SDL_AudioSpec-Struktur übergeben, die die tatsächlich verwendeten Audio-Eigenschaften speichert,0: allowed_changes ist ein Bitfeld, das Änderungen an den geöffneten Eigenschaften erlaubt)
SDL_QueueAudio(deviceId, wavBuffer, wavLength);
SDL_PauseAudioDevice(deviceId, 0);
printf("Audiodatei wird abgespielt");
// Warte, bis die Wiedergabe abgeschlossen ist
while (SDL_GetQueuedAudioSize(deviceId) > 0) {
SDL_Delay(100);
}
// Aufräumen
SDL_CloseAudioDevice(deviceId);
SDL_FreeWAV(wavBuffer);
printf("\n\aalarm sound mit a\n");
printf("\7alarm sound mit 7\n");
// Spiele einen System-Sound ab (Exclamation-Sound)
MessageBeep(MB_ICONEXCLAMATION); //nur dieser Ton wird bei mir abgespielt
return;
}
void showPauseScreen(){
game.gameState = PAUSED;
return;
}
void showSettings(){
return;
}
void menuHandleInput(SDL_Event event){
//compare 'handleInput_runningState(SDL_Event event)' in input.c
return;
}