diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..7a9dfa0 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "pwa-chrome", + "request": "launch", + "name": "Launch Chrome against localhost", + "url": "http://localhost:8080", + "webRoot": "${workspaceFolder}" + } + ] +} \ No newline at end of file diff --git a/README.md b/README.md index 696f0f6..aa13241 100644 --- a/README.md +++ b/README.md @@ -8,3 +8,4 @@ Official project site: https://www.chrome.com/cubelab Demo: http://seanfrasure.github.io/cuber/cuber/index.html *If there are any questions please feel free to make a new issue* + diff --git a/cuber/build/cuber.js b/cuber/build/cuber.js index 333538b..d78a533 100644 --- a/cuber/build/cuber.js +++ b/cuber/build/cuber.js @@ -1011,7 +1011,7 @@ self.console = self.console || { if( self.cancelAnimationFrame === undefined && self['clearTimeout'] !== undefined ) { - self.cancelAnimationFrame = function ( id ) { self.clearTimeout( id ) }; + self.cancelAnimationFrame = function ( id ) { self.clearTimeout( id ); }; } @@ -5806,7 +5806,7 @@ THREE.PerspectiveCamera.prototype.setLens = function ( focalLength, frameHeight this.fov = 2 * THREE.Math.radToDeg( Math.atan( frameHeight / ( focalLength * 2 ) ) ); this.updateProjectionMatrix(); -} +}; /** diff --git a/cuber/build/styles/cube.css b/cuber/build/styles/cube.css index 645205d..89ed35a 100644 --- a/cuber/build/styles/cube.css +++ b/cuber/build/styles/cube.css @@ -80,14 +80,14 @@ position: absolute; width: 1em; height: 1em; - background-color: #000; + background-color: rgba(0, 0, 0, 0.158); text-align: center; - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -o-backface-visibility: hidden; - backface-visibility: hidden; + -webkit-backface-visibility: visible; + -moz-backface-visibility: visible; + -o-backface-visibility: visible; + backface-visibility: visible; padding: 0.05em; @@ -109,7 +109,7 @@ are momentarily visible as the cube twists. */ -.cube /*.cubelet >*/ .face.faceIntroverted { background-color: #000; } +.cube /*.cubelet >*/ .face.faceIntroverted { background-color: rgba(3, 59, 63, 0.158); } @@ -199,23 +199,76 @@ } +.playing { + box-shadow: inset 0 0 100px 100px rgba( 255, 255, 255, 0.5 ); +} -.cube .sticker.red { background: #DC422F; } -.cube .sticker.white { background: #F3F3F3; } -.cube .sticker.blue { background: #3D81F6; } -.cube .sticker.green { background: #009D54; } -.cube .sticker.orange { background: #E87000; } -.cube .sticker.yellow { background: #F5B400; } +.cube .sticker.red { background: rgba(26, 26, 26, 0.9); } +.cube .sticker.white { background: black; } +.cube .sticker.blue { background: blue; } +.cube .sticker.green { background: green; } +.cube .sticker.orange { background: rgb(216, 216, 216, 0.9); } +.cube .sticker.yellow { background: yellow; } -.cube .sticker.stickerLogo { +/* .cube .sticker.stickerLogo { - background: #F3F3F3 url( "../media/rubiksLogoClassic.png" ); + background: #0eb16d url( "../media/rubiksLogoClassic.png" ); background-size: 100% 100%; background-repeat: none; +} */ + +[sticker~="10-1"]{ + background: rgba(151, 207, 211, 0.9) !important; } +[sticker~="16-3"]{ + background: rgba(19, 66, 70, 0.9) !important; +} +[sticker~="0-0"], +[sticker~="1-0"], +[sticker~="2-0"], +[sticker~="2-2"], +[sticker~="11-2"], +[sticker~="20-2"], +[sticker~="20-5"], +[sticker~="19-5"], +[sticker~="18-5"], +[sticker~="18-4"], +[sticker~="9-4"], +[sticker~="0-4"]{ + background: rgb(146, 146, 146, 0.9) !important; +} +[sticker~="3-0"], +[sticker~="4-0"], +[sticker~="5-0"], +[sticker~="5-2"], +[sticker~="14-2"], +[sticker~="23-2"], +[sticker~="23-5"], +[sticker~="22-5"], +[sticker~="21-5"], +[sticker~="21-4"], +[sticker~="12-4"], +[sticker~="3-4"]{ + background: rgb(87, 87, 87 , 0.9) !important; +} + +[sticker~="6-0"], +[sticker~="7-0"], +[sticker~="8-0"], +[sticker~="8-2"], +[sticker~="17-2"], +[sticker~="26-2"], +[sticker~="26-5"], +[sticker~="25-5"], +[sticker~="24-5"], +[sticker~="24-4"], +[sticker~="15-4"], +[sticker~="6-4"]{ + background: rgb(56, 56, 56 , 0.9) !important; +} /* @@ -290,3 +343,19 @@ -o-backface-visibility: hidden; backface-visibility: hidden;*/ } + +.buttons { + flex-direction: column; + font-size: 32px; + position: absolute; + bottom: 280px; + display: flex; + justify-content: center; + border-right: 5px solid black; + padding: 15px; +} + +.buttons div { + margin-left: 16px; + margin-right: 16px; +} \ No newline at end of file diff --git a/cuber/examples/basic/scripts/main.js b/cuber/examples/basic/scripts/main.js index cf5d4a3..33fef6c 100644 --- a/cuber/examples/basic/scripts/main.js +++ b/cuber/examples/basic/scripts/main.js @@ -78,8 +78,7 @@ $(document).ready( function(){ - - + var useLockedControls = true, controls = useLockedControls ? ERNO.Locked : ERNO.Freeform; @@ -96,7 +95,9 @@ $(document).ready( function(){ var container = document.getElementById( 'container' ); container.appendChild( cube.domElement ); - + var shuffleButton = document.getElementById('shuffle-btn'); + var playAllButton = document.getElementById('play-all-btn'); + var playSolutionButton = document.getElementById('play-solution-btn'); if( controls === ERNO.Locked ){ var fixedOrientation = new THREE.Euler( Math.PI * 0.1, Math.PI * -0.25, 0 ); @@ -107,6 +108,231 @@ $(document).ready( function(){ } + const sounds = { + "10-1": "../sounds/Sound-1.mp3", + "1-1": "../sounds/Sound-2.mp3", + "2-1": "../sounds/Sound-3.mp3", + "11-1": "../sounds/Sound-4.mp3", + "20-1": "../sounds/Sound-5.mp3", + "19-1": "../sounds/Sound-6.mp3", + "18-1": "../sounds/Sound-7.mp3", + "9-1": "../sounds/Sound-8.mp3", + "0-1": "../sounds/Sound-9.mp3", + + "0-0": "../sounds/Sound-10.mp3", + "1-0": "../sounds/Sound-11.mp3", + "2-0": "../sounds/Sound-12.mp3", + + "2-2": "../sounds/Sound-13.mp3", + "11-2": "../sounds/Sound-14.mp3", + "20-2": "../sounds/Sound-15.mp3", + + "20-5": "../sounds/Sound-16.mp3", + "19-5":"../sounds/Sound-17.mp3", + "18-5":"../sounds/Sound-18.mp3", + + "18-4": "../sounds/Sound-19.mp3", + "9-4": "../sounds/Sound-20.mp3", + "0-4": "../sounds/Sound-21.mp3", + + "3-0": "../sounds/Sound-22.mp3", + "4-0":"../sounds/Sound-23.mp3", + "5-0": "../sounds/Sound-24.mp3", + + "5-2": "../sounds/Sound-25.mp3", + "14-2": "../sounds/Sound-26.mp3", + "23-2": "../sounds/Sound-27.mp3", + + "23-5": "../sounds/Sound-28.mp3", + "22-5": "../sounds/Sound-29.mp3", + "21-5":"../sounds/Sound-30.mp3", + + "21-4":"../sounds/Sound-31.mp3", + "12-4": "../sounds/Sound-32.mp3", + "3-4": "../sounds/Sound-33.mp3", + + "6-0": "../sounds/Sound-34.mp3", + "7-0":"../sounds/Sound-35.mp3" , + "8-0": "../sounds/Sound-36.mp3" , + + "8-2": "../sounds/Sound-37.mp3", + "17-2": "../sounds/Sound-38.mp3", + "26-2": "../sounds/Sound-39.mp3", + + "26-5": "../sounds/Sound-40.mp3", + "25-5": "../sounds/Sound-41.mp3", + "24-5":"../sounds/Sound-42.mp3", + + "24-4": "../sounds/Sound-43.mp3", + "15-4": "../sounds/Sound-44.mp3", + "6-4": "../sounds/Sound-45.mp3", + + "6-3": "../sounds/Sound-46.mp3", + "7-3": "../sounds/Sound-47.mp3", + "8-3": "../sounds/Sound-48.mp3", + "17-3": "../sounds/Sound-49.mp3", + "26-3": "../sounds/Sound-50.mp3", + "25-3": "../sounds/Sound-51.mp3", + "24-3": "../sounds/Sound-52.mp3", + "15-3": "../sounds/Sound-53.mp3", + "16-3": "../sounds/Sound-54.mp3", + } + + const orderOfSong = [ + ['up','origin'], + ['up','south'], + ['up', 'southEast'], + ['up', 'east'], + ['up', 'northEast'], + ['up', 'north'], + ['up', 'northWest'], + ['up', 'west'], + ['up', 'southWest'], + + //round 1 + ['front', 'northWest'], + ['front', 'north'], + ['front', 'northEast'], + + ['right', 'northWest'], + ['right', 'north'], + ['right', 'northEast'], + + ['back', 'northEast'], + ['back', 'east'], + ['back', 'southEast'], + + ['left', 'northEast'], + ['left', 'east'], + ['left', 'southEast'], + //round 2 + ['front', 'west'], + ['front', 'origin'], + ['front', 'east'], + + ['right', 'west'], + ['right', 'origin'], + ['right', 'east'], + + ['back', 'north'], + ['back', 'origin'], + ['back', 'south'], + + ['left', 'north'], + ['left', 'origin'], + ['left', 'south'], + //round 3 + ['front', 'southWest'], + ['front', 'south'], + ['front', 'southEast'], + ['right', 'southWest'], + ['right', 'south'], + ['right', 'southEast'], + + ['back', 'northWest'], + ['back', 'west'], + ['back', 'southWest'], + + ['left', 'northWest'], + ['left', 'west'], + ['left', 'southWest'], + + ['down', 'southWest'], + ['down', 'west'], + ['down', 'northWest'], + ['down', 'north'], + ['down', 'northEast'], + ['down', 'east'], + ['down', 'southEast'], + ['down', 'south'], + ['down', 'origin'] + ]; + //OUR CODE + + shuffleButton.addEventListener('click', (e) => { + let s = new Howl({ + src: "../sounds/ShuffleWholeEdited01.mp3", + }); + s.play(); + cube.shuffle(15); + }); + + playAllButton.addEventListener('click', (e) => { + playSong(0, orderOfSong); //Add this to the button event listener + }); + + playSolutionButton.addEventListener('click', (e) => { + playSolution(1); + }); + + cube.domElement.addEventListener('click', (e) => { + + if(e.target.getAttribute('sticker')) { + let stickerId = e.target.getAttribute('sticker'); + + let s = new Howl({ + src: [sounds[stickerId]], + onend: () => { + cube.domElement.querySelector('[sticker="'+ stickerId + '"]').classList.remove("playing"); + } + }); + + s.play(); + cube.domElement.querySelector('[sticker="'+ stickerId + '"]').classList.add("playing"); + } + }); + + function playSolution(i) { + let s = new Howl({ + src: `../sounds/Sound-${i}.mp3`, + onend: () => { + if (i<55) + playSolution(i += 1); + } + }); + s.play(); + } + + function playSong(i, orderOfSong) { + const faceIds = [1, 2, 3, 4, 0, 5]; + const positions = ['up', 'right', 'down', 'left', 'front', 'back']; + const facePositions = ['southWest', 'south', 'southEast', 'west', 'origin', 'east', 'southWest', 'south', 'southEast']; + + let coordinates = orderOfSong[i]; + let cubletId = cube[coordinates[0]][coordinates[1]].id; + let faceIdIndex = positions.indexOf(coordinates[0]); + let faceId = faceIds[faceIdIndex]; + + + let stickerId = `${cubletId}-${faceId}`; + + let s = new Howl({ + src: [sounds[stickerId]], + onend: () => { + if (i { + if (i + + @@ -76,7 +78,7 @@ - + @@ -89,11 +91,20 @@ +
+ Rubik's Melody, created by Ilse, Imani, Björn, Tudor and Daniël. +
+

Sorry,

Cubers broken

- + +
+
+
+
+
\ No newline at end of file diff --git a/cuber/src/scripts/cubelets.js b/cuber/src/scripts/cubelets.js index c0fb59d..ea9e45e 100644 --- a/cuber/src/scripts/cubelets.js +++ b/cuber/src/scripts/cubelets.js @@ -76,6 +76,9 @@ ERNO.Cubelet = function( cube, id, colors ){ this.id = id || 0; + //OUR CODE + this.originalPos = this.originalPos || 0; + // Our Cubelet's address is its current location on the Cube. // When the Cubelet is initialized its ID and address are the same. @@ -158,6 +161,8 @@ ERNO.Cubelet = function( cube, id, colors ){ this.faces[ i ] = {}; this.faces[ i ].id = i; this.faces[ i ].color = color; + //OUR CODE + this.faces[ i ].originalPos = i; // We're going to keep track of what face was what at the moment of initialization, diff --git a/cuber/src/scripts/renderer.js b/cuber/src/scripts/renderer.js index 96ae5b4..3ae810a 100644 --- a/cuber/src/scripts/renderer.js +++ b/cuber/src/scripts/renderer.js @@ -245,8 +245,7 @@ ERNO.renderers.CSS3DCubelet = (function(){ style.OTransform = style.MozTransform = style.WebkitTransform = style.transform = cssTransform; - - + // INTROVERTED FACES. // If this face has no color sticker then it must be interior to the Cube. // That means in a normal state (no twisting happening) it is entirely hidden. @@ -280,6 +279,11 @@ ERNO.renderers.CSS3DCubelet = (function(){ stickerElement.classList.add( face.color.name ); face.element.appendChild( stickerElement ); + // STICKER ID + // Making the sticker identifyable through the DOM because we're lazy + + stickerElement.setAttribute('sticker', `${cubelet.id}-${face.id}`); + // If this happens to be our logo-bearing Cubelet diff --git a/cuber/src/styles/cube.css b/cuber/src/styles/cube.css index 645205d..475a254 100644 --- a/cuber/src/styles/cube.css +++ b/cuber/src/styles/cube.css @@ -11,6 +11,8 @@ } + + @font-face { font-family: "RubikExtended"; @@ -202,7 +204,7 @@ .cube .sticker.red { background: #DC422F; } .cube .sticker.white { background: #F3F3F3; } -.cube .sticker.blue { background: #3D81F6; } +.cube .sticker.blue { background: #192130; } .cube .sticker.green { background: #009D54; } .cube .sticker.orange { background: #E87000; } .cube .sticker.yellow { background: #F5B400; } diff --git a/img/Play_All.png b/img/Play_All.png new file mode 100644 index 0000000..a2b53dc Binary files /dev/null and b/img/Play_All.png differ diff --git a/img/Play_Our_Song.png b/img/Play_Our_Song.png new file mode 100644 index 0000000..385bdc9 Binary files /dev/null and b/img/Play_Our_Song.png differ diff --git a/img/Shuffle.png b/img/Shuffle.png new file mode 100644 index 0000000..678b084 Binary files /dev/null and b/img/Shuffle.png differ diff --git a/sounds/ShuffleOneLayer.MP3 b/sounds/ShuffleOneLayer.MP3 new file mode 100644 index 0000000..28762d9 Binary files /dev/null and b/sounds/ShuffleOneLayer.MP3 differ diff --git a/sounds/ShuffleWholeEdited01.mp3 b/sounds/ShuffleWholeEdited01.mp3 new file mode 100644 index 0000000..f4d853c Binary files /dev/null and b/sounds/ShuffleWholeEdited01.mp3 differ diff --git a/sounds/Sound-1.mp3 b/sounds/Sound-1.mp3 new file mode 100644 index 0000000..85a8ab5 Binary files /dev/null and b/sounds/Sound-1.mp3 differ diff --git a/sounds/Sound-10.mp3 b/sounds/Sound-10.mp3 new file mode 100644 index 0000000..1799792 Binary files /dev/null and b/sounds/Sound-10.mp3 differ diff --git a/sounds/Sound-11.mp3 b/sounds/Sound-11.mp3 new file mode 100644 index 0000000..d0e2067 Binary files /dev/null and b/sounds/Sound-11.mp3 differ diff --git a/sounds/Sound-12.mp3 b/sounds/Sound-12.mp3 new file mode 100644 index 0000000..d10c6bf Binary files /dev/null and b/sounds/Sound-12.mp3 differ diff --git a/sounds/Sound-13.mp3 b/sounds/Sound-13.mp3 new file mode 100644 index 0000000..8af736f Binary files /dev/null and b/sounds/Sound-13.mp3 differ diff --git a/sounds/Sound-14.mp3 b/sounds/Sound-14.mp3 new file mode 100644 index 0000000..07150d7 Binary files /dev/null and b/sounds/Sound-14.mp3 differ diff --git a/sounds/Sound-15.mp3 b/sounds/Sound-15.mp3 new file mode 100644 index 0000000..d3ac323 Binary files /dev/null and b/sounds/Sound-15.mp3 differ diff --git a/sounds/Sound-16.mp3 b/sounds/Sound-16.mp3 new file mode 100644 index 0000000..61c41c6 Binary files /dev/null and b/sounds/Sound-16.mp3 differ diff --git a/sounds/Sound-17.mp3 b/sounds/Sound-17.mp3 new file mode 100644 index 0000000..092e23e Binary files /dev/null and b/sounds/Sound-17.mp3 differ diff --git a/sounds/Sound-18.mp3 b/sounds/Sound-18.mp3 new file mode 100644 index 0000000..8eec98a Binary files /dev/null and b/sounds/Sound-18.mp3 differ diff --git a/sounds/Sound-19.mp3 b/sounds/Sound-19.mp3 new file mode 100644 index 0000000..102a658 Binary files /dev/null and b/sounds/Sound-19.mp3 differ diff --git a/sounds/Sound-2.mp3 b/sounds/Sound-2.mp3 new file mode 100644 index 0000000..dbb759c Binary files /dev/null and b/sounds/Sound-2.mp3 differ diff --git a/sounds/Sound-20.mp3 b/sounds/Sound-20.mp3 new file mode 100644 index 0000000..972859e Binary files /dev/null and b/sounds/Sound-20.mp3 differ diff --git a/sounds/Sound-21.mp3 b/sounds/Sound-21.mp3 new file mode 100644 index 0000000..f28f7a1 Binary files /dev/null and b/sounds/Sound-21.mp3 differ diff --git a/sounds/Sound-22.mp3 b/sounds/Sound-22.mp3 new file mode 100644 index 0000000..f184dce Binary files /dev/null and b/sounds/Sound-22.mp3 differ diff --git a/sounds/Sound-23.mp3 b/sounds/Sound-23.mp3 new file mode 100644 index 0000000..9f1b3ed Binary files /dev/null and b/sounds/Sound-23.mp3 differ diff --git a/sounds/Sound-24.mp3 b/sounds/Sound-24.mp3 new file mode 100644 index 0000000..d3f00bf Binary files /dev/null and b/sounds/Sound-24.mp3 differ diff --git a/sounds/Sound-25.mp3 b/sounds/Sound-25.mp3 new file mode 100644 index 0000000..4f6cab4 Binary files /dev/null and b/sounds/Sound-25.mp3 differ diff --git a/sounds/Sound-26.mp3 b/sounds/Sound-26.mp3 new file mode 100644 index 0000000..e217046 Binary files /dev/null and b/sounds/Sound-26.mp3 differ diff --git a/sounds/Sound-27.mp3 b/sounds/Sound-27.mp3 new file mode 100644 index 0000000..b580b3a Binary files /dev/null and b/sounds/Sound-27.mp3 differ diff --git a/sounds/Sound-28.mp3 b/sounds/Sound-28.mp3 new file mode 100644 index 0000000..ef769da Binary files /dev/null and b/sounds/Sound-28.mp3 differ diff --git a/sounds/Sound-29.mp3 b/sounds/Sound-29.mp3 new file mode 100644 index 0000000..5ddaf47 Binary files /dev/null and b/sounds/Sound-29.mp3 differ diff --git a/sounds/Sound-3.mp3 b/sounds/Sound-3.mp3 new file mode 100644 index 0000000..8fff8df Binary files /dev/null and b/sounds/Sound-3.mp3 differ diff --git a/sounds/Sound-30.mp3 b/sounds/Sound-30.mp3 new file mode 100644 index 0000000..0d3c210 Binary files /dev/null and b/sounds/Sound-30.mp3 differ diff --git a/sounds/Sound-31.mp3 b/sounds/Sound-31.mp3 new file mode 100644 index 0000000..8c0cd92 Binary files /dev/null and b/sounds/Sound-31.mp3 differ diff --git a/sounds/Sound-32.mp3 b/sounds/Sound-32.mp3 new file mode 100644 index 0000000..3f2417e Binary files /dev/null and b/sounds/Sound-32.mp3 differ diff --git a/sounds/Sound-33.mp3 b/sounds/Sound-33.mp3 new file mode 100644 index 0000000..e6b4c67 Binary files /dev/null and b/sounds/Sound-33.mp3 differ diff --git a/sounds/Sound-34.mp3 b/sounds/Sound-34.mp3 new file mode 100644 index 0000000..c9d109f Binary files /dev/null and b/sounds/Sound-34.mp3 differ diff --git a/sounds/Sound-35.mp3 b/sounds/Sound-35.mp3 new file mode 100644 index 0000000..c26e8b7 Binary files /dev/null and b/sounds/Sound-35.mp3 differ diff --git a/sounds/Sound-36.mp3 b/sounds/Sound-36.mp3 new file mode 100644 index 0000000..f77b4bd Binary files /dev/null and b/sounds/Sound-36.mp3 differ diff --git a/sounds/Sound-37.mp3 b/sounds/Sound-37.mp3 new file mode 100644 index 0000000..818de96 Binary files /dev/null and b/sounds/Sound-37.mp3 differ diff --git a/sounds/Sound-38.mp3 b/sounds/Sound-38.mp3 new file mode 100644 index 0000000..db65fae Binary files /dev/null and b/sounds/Sound-38.mp3 differ diff --git a/sounds/Sound-39.mp3 b/sounds/Sound-39.mp3 new file mode 100644 index 0000000..db1cfd0 Binary files /dev/null and b/sounds/Sound-39.mp3 differ diff --git a/sounds/Sound-4.mp3 b/sounds/Sound-4.mp3 new file mode 100644 index 0000000..012d04b Binary files /dev/null and b/sounds/Sound-4.mp3 differ diff --git a/sounds/Sound-40.mp3 b/sounds/Sound-40.mp3 new file mode 100644 index 0000000..46c59b5 Binary files /dev/null and b/sounds/Sound-40.mp3 differ diff --git a/sounds/Sound-41.mp3 b/sounds/Sound-41.mp3 new file mode 100644 index 0000000..45988f7 Binary files /dev/null and b/sounds/Sound-41.mp3 differ diff --git a/sounds/Sound-42.mp3 b/sounds/Sound-42.mp3 new file mode 100644 index 0000000..3df9b83 Binary files /dev/null and b/sounds/Sound-42.mp3 differ diff --git a/sounds/Sound-43.mp3 b/sounds/Sound-43.mp3 new file mode 100644 index 0000000..ec34494 Binary files /dev/null and b/sounds/Sound-43.mp3 differ diff --git a/sounds/Sound-44.mp3 b/sounds/Sound-44.mp3 new file mode 100644 index 0000000..ccb6136 Binary files /dev/null and b/sounds/Sound-44.mp3 differ diff --git a/sounds/Sound-45.mp3 b/sounds/Sound-45.mp3 new file mode 100644 index 0000000..9adb9c0 Binary files /dev/null and b/sounds/Sound-45.mp3 differ diff --git a/sounds/Sound-46.mp3 b/sounds/Sound-46.mp3 new file mode 100644 index 0000000..c9a4116 Binary files /dev/null and b/sounds/Sound-46.mp3 differ diff --git a/sounds/Sound-47.mp3 b/sounds/Sound-47.mp3 new file mode 100644 index 0000000..a759dc3 Binary files /dev/null and b/sounds/Sound-47.mp3 differ diff --git a/sounds/Sound-48.mp3 b/sounds/Sound-48.mp3 new file mode 100644 index 0000000..3046395 Binary files /dev/null and b/sounds/Sound-48.mp3 differ diff --git a/sounds/Sound-49.mp3 b/sounds/Sound-49.mp3 new file mode 100644 index 0000000..0b4cd18 Binary files /dev/null and b/sounds/Sound-49.mp3 differ diff --git a/sounds/Sound-5.mp3 b/sounds/Sound-5.mp3 new file mode 100644 index 0000000..09e6be1 Binary files /dev/null and b/sounds/Sound-5.mp3 differ diff --git a/sounds/Sound-50.mp3 b/sounds/Sound-50.mp3 new file mode 100644 index 0000000..d848544 Binary files /dev/null and b/sounds/Sound-50.mp3 differ diff --git a/sounds/Sound-51.mp3 b/sounds/Sound-51.mp3 new file mode 100644 index 0000000..22eb2d1 Binary files /dev/null and b/sounds/Sound-51.mp3 differ diff --git a/sounds/Sound-52.mp3 b/sounds/Sound-52.mp3 new file mode 100644 index 0000000..9e5a86a Binary files /dev/null and b/sounds/Sound-52.mp3 differ diff --git a/sounds/Sound-53.mp3 b/sounds/Sound-53.mp3 new file mode 100644 index 0000000..d719ef7 Binary files /dev/null and b/sounds/Sound-53.mp3 differ diff --git a/sounds/Sound-54.mp3 b/sounds/Sound-54.mp3 new file mode 100644 index 0000000..92bb837 Binary files /dev/null and b/sounds/Sound-54.mp3 differ diff --git a/sounds/Sound-6.mp3 b/sounds/Sound-6.mp3 new file mode 100644 index 0000000..dc26323 Binary files /dev/null and b/sounds/Sound-6.mp3 differ diff --git a/sounds/Sound-7.mp3 b/sounds/Sound-7.mp3 new file mode 100644 index 0000000..4a6426e Binary files /dev/null and b/sounds/Sound-7.mp3 differ diff --git a/sounds/Sound-8.mp3 b/sounds/Sound-8.mp3 new file mode 100644 index 0000000..7f130f4 Binary files /dev/null and b/sounds/Sound-8.mp3 differ diff --git a/sounds/Sound-9.mp3 b/sounds/Sound-9.mp3 new file mode 100644 index 0000000..0ef25e1 Binary files /dev/null and b/sounds/Sound-9.mp3 differ