diff --git a/.eslintrc.js b/.eslintrc.js index de07fe3..8020103 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -19,7 +19,7 @@ module.exports = { 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', }, - extends: ['plugin:vue/vue3-essential', 'eslint:recommended', '@vue/typescript/recommended', 'plugin:prettier/recommended'], + extends: ['plugin:vue/vue3-essential', 'eslint:recommended', '@vue/typescript/recommended'], overrides: [ { diff --git a/README.md b/README.md index a6a4cdc..01139b4 100644 --- a/README.md +++ b/README.md @@ -100,3 +100,21 @@ To remove the container you can use the following command: ```sh docker rm bugfinder ``` + +## Audio sources + +1. Background music +https://pixabay.com/de/music/optimistisch-walking-while-looking-at-the-moon-187621/ + +2. Click +https://pixabay.com/de/sound-effects/interface-button-154180/ + +3. Error notification +https://pixabay.com/de/sound-effects/error-126627/ + +4. Classic notifications from the chat +https://pixabay.com/de/sound-effects/notifications-sound-127856/ + +5. Success notification +https://pixabay.com/de/sound-effects/short-success-sound-glockenspiel-treasure-video-game-6346/ + diff --git a/src/App.vue b/src/App.vue index 66f11a3..a08fe2d 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,8 +1,23 @@ @@ -26,7 +52,7 @@ function closeGame() { Bugfinder - + diff --git a/src/assets/music/background_music.mp3 b/src/assets/music/background_music.mp3 new file mode 100644 index 0000000..da37963 Binary files /dev/null and b/src/assets/music/background_music.mp3 differ diff --git a/src/assets/music/click_sound.mp3 b/src/assets/music/click_sound.mp3 new file mode 100644 index 0000000..63dc463 Binary files /dev/null and b/src/assets/music/click_sound.mp3 differ diff --git a/src/assets/music/error_sound.mp3 b/src/assets/music/error_sound.mp3 new file mode 100644 index 0000000..237df8a Binary files /dev/null and b/src/assets/music/error_sound.mp3 differ diff --git a/src/assets/music/notification_sound.mp3 b/src/assets/music/notification_sound.mp3 new file mode 100644 index 0000000..8b7e983 Binary files /dev/null and b/src/assets/music/notification_sound.mp3 differ diff --git a/src/assets/music/success_sound.mp3 b/src/assets/music/success_sound.mp3 new file mode 100644 index 0000000..6d5799e Binary files /dev/null and b/src/assets/music/success_sound.mp3 differ diff --git a/src/components/ChatBox.vue b/src/components/ChatBox.vue index 4f0dd39..b6e7d6b 100644 --- a/src/components/ChatBox.vue +++ b/src/components/ChatBox.vue @@ -1,15 +1,33 @@ You finished the Game! - Back to game + Back to game diff --git a/src/views/GameView.vue b/src/views/GameView.vue index 8a1f95c..281c2f9 100644 --- a/src/views/GameView.vue +++ b/src/views/GameView.vue @@ -6,6 +6,9 @@ import { ICode, ISolution } from '@/models/code'; import * as chat from '@/services/chat'; import { CodeFeedback } from '@/services/code-feedback'; import { Ref, ref } from 'vue'; +import clickSoundSource from '/src/assets/music/click_sound.mp3'; + +const clickSound = new Audio(clickSoundSource); const emit = defineEmits<{ (e: 'endGame'): void; @@ -28,6 +31,7 @@ const showNextButton = ref(false); chat.sendStartMessgae(); async function nextCode() { + playClickSound(); if (await game.hasNextCode()) { await chat.sendNextCode(); await game.nextCode(); @@ -49,6 +53,10 @@ async function submitSolution(selectedBugs: ISolution) { showNextButton.value = true; }, 2000); } + +function playClickSound(){ + clickSound.play(); +} diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index 1edbc68..d648710 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -1,7 +1,9 @@ @@ -34,7 +39,7 @@ fetch(`${BASE_URL}/configurations/${configurationId}`) {{ configuration }} - Start + Start