Skip to content

Commit

Permalink
Merge pull request #9 from gvpiche/added-laundramat-hack
Browse files Browse the repository at this point in the history
feat: added laundromat hack

- Added Laundromat hack with Input field to set seconds.
- Added reset button.
- Added Home button to all Mini-games.
- Added in-game default key inputs (A,D,Space)
- Fixed Progress bar so it fits the time remaining
  • Loading branch information
MaximilianAdF committed Feb 13, 2024
2 parents f7c4342 + ebdb99b commit 6007832
Show file tree
Hide file tree
Showing 15 changed files with 1,599 additions and 252 deletions.
394 changes: 394 additions & 0 deletions Laundromat/Laundromat.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,394 @@
body {
font-family: 'Roboto', sans-serif;
overflow: hidden;
position: relative; /* Set position to relative to allow positioning of pseudo-element */
background: linear-gradient(rgba(21, 27, 48, 0.97), rgba(21, 27, 48, 0.97)), url(https://i.pinimg.com/originals/05/9c/6f/059c6f6f28f86e82367da81344f89206.png);
background-size: cover;
}

.hack-box-container {
border-radius: 5px;
outline: 2px solid gray;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
margin: 2% auto;
width: 600px;
height: 800px;
}

.info-container {
display: flex;
align-items: center;
gap: 15px;
margin-top: -20px;
margin-left: -250px;
}

.fa-gamepad {
font-size: 35px;
color: rgb(142, 142, 142);
}

.info-container h2 {
font-size: 25px;
color: rgb(84, 255, 164);
text-shadow: 0 0 2px rgb(127, 255, 191);
}

.info-container p {
font-size: 15px;
color: rgb(142, 142, 142);
}

.outer-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background-color: rgb(15, 27, 33);
}

.hack-box {
display: flex;
border-radius: 5px;
flex-direction: column;
align-items: center;
justify-content: center;
width: 580px;
height: 580px;
margin-top: 20px; /* Adjusted this line */
background-color: rgb(22, 40, 52);
}



/* Static lines (Turn line1.... into ts code) */
.line {
width: 83%;
outline: 1.2px solid rgb(142, 142, 142);
}



/* Lock Circles (turn lock-circle1.... into ts code) */
.lock-container {
display: flex;
align-items: center;
justify-content: center;
position: absolute;
width: 580px;
height: 580px;
}

.lock-circle {
outline: 3px solid rgb(173, 173, 173);
border-radius: 50%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 1;
}

/* Balls attached to the lock-circles */
.ball {
width: 17px;
height: 17px;
border-radius: 50%;
background-color: rgb(255, 255, 255);
position: absolute;
z-index: 2;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
transition: transform 0.2s ease-in-out;
}

/* Only account for 30/60deg and then change the ball's position based on the rotation of the lock-circle */
/* cos(30deg) = sqrt(3)/2 */
/* sin(30deg) = 1/2 */
/* cos(60deg) = 1/2 */
/* sin(60deg) = sqrt(3)/2 */

/* Buttons */
/* Rotate Buttons */
.rotate-buttons-container {
display: flex;
align-items: center;
justify-content: center;
gap: 5px;
margin-top: 10px;
}

.rotate-button {
display: flex;
align-items: center;
justify-content: center;
width: 287px;
height: 50px;
background-color: rgb(49, 37, 76);
color: rgb(147, 62, 171);
border-radius: 5px;
border: none;
font-size: 20px;
font-weight: 500;
cursor: pointer;
gap: 10px; /* Space between arrow and text */
transition: background-color 0.1s ease-in-out;
}

.rotate-button:hover {
background-color: rgb(83, 39, 107);
}

.submit-button-container {
display: flex;
align-items: center;
justify-content: center;
margin-top: 10px;
}

.submit-button {
display: flex;
align-items: center;
justify-content: center;
width: 579px;
height: 50px;
background-color: rgb(23, 95, 88);
color: rgb(48, 221, 189);
border-radius: 5px;
border: none;
font-size: 20px;
font-weight: 500;
cursor: pointer;
transition: background-color 0.1s ease-in-out;
}

.submit-button:hover {
background-color: rgb(23, 109, 93);
}


/* Timer */
.timer-container {
background-color: rgb(15, 27, 33);
display: flex;
width: 100%;
height: 10px;
}

.timer-progress-bar {
background-color: orangered;
width: 100%;
height: 100%;
transition: width 1s linear;
}

/* The semi-circles that indicate where ball color is supposed to be */
.position-container{
display: flex;
align-items: center;
justify-content: center;
position: absolute;
z-index: 50;
width: 580px;
height: 580px;
}


/* r = 55, r = 105, r = 155, r = 205, */
.position-circle {
fill: none;
stroke-width: 5px;
transform-origin: 50% 50%;
}

.lose-message {
gap: 10px;
margin-top: -40px;
margin-left: 340px;
display: none;
color: white;
padding: 0px 18px;
border-radius: 5px;
align-items: center;
justify-content: center;
background-color: rgb(56, 13, 23);
}

.win-message {
gap: 10px;
margin-top: -40px;
margin-left: 340px;
display: none;
color: white;
padding: 0px 10px;
border-radius: 5px;
align-items: center;
justify-content: center;
background-color: rgb(23, 95, 88);
}

.lose-message p, .win-message p{
font-size: 12px;
font-weight: 500;
}

.fa-circle-check {
font-size: 25px;
color: rgb(84, 255, 164);
}

.fa-circle-xmark {
font-size: 25px;
color: rgb(255, 84, 84);
}

.overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: transparent;
z-index: 9999;
}
.set-timer-container {
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
margin-top: 10px;
}
.timer {
display: flex;
align-items: center;
justify-content: center;
width: 300px;
height: 50px;
background-color: rgb(23, 95, 88);
color: rgb(48, 221, 189);
border-radius: 5px;
border: none;
font-size: 20px;
font-weight: 500;
cursor: pointer;
transition: background-color 0.1s ease-in-out;
}

.reset-button {
background-color: #c2fbd7;
border-radius: 100px;
box-shadow: rgba(44, 187, 99, .2) 0 -25px 18px -14px inset,rgba(44, 187, 99, .15) 0 1px 2px,rgba(44, 187, 99, .15) 0 2px 4px,rgba(44, 187, 99, .15) 0 4px 8px,rgba(44, 187, 99, .15) 0 8px 16px,rgba(44, 187, 99, .15) 0 16px 32px;
color: green;
cursor: pointer;
display: inline-block;
font-family: CerebriSans-Regular,-apple-system,system-ui,Roboto,sans-serif;
padding: 7px 20px;
text-align: center;
text-decoration: none;
transition: all 250ms;
border: 0;
font-size: 16px;
user-select: none;
-webkit-user-select: none;
touch-action: manipulation;
}

.reset-button:hover {
box-shadow: rgba(44,187,99,.35) 0 -25px 18px -14px inset,rgba(44,187,99,.25) 0 1px 2px,rgba(44,187,99,.25) 0 2px 4px,rgba(44,187,99,.25) 0 4px 8px,rgba(44,187,99,.25) 0 8px 16px,rgba(44,187,99,.25) 0 16px 32px;
transform: scale(1.05) rotate(-1deg);
}

.input__group {
position: relative;
padding: 20px 0 0;
width: 100%;
max-width: 180px;
}

.input__field {
font-family: inherit;
width: 100%;
border: none;
border-bottom: 2px solid #9b9b9b;
outline: 0;
font-size: 17px;
color: #fff;
padding: 7px 0;
background: transparent;
transition: border-color 0.2s;
}

.input__field::placeholder {
color: transparent;
}

.input__field:placeholder-shown ~ .input__label {
font-size: 17px;
cursor: text;
top: 20px;
}

.input__label {
position: absolute;
top: 0;
display: block;
transition: 0.2s;
font-size: 17px;
color: #9b9b9b;
pointer-events: none;
}

.input__field:focus {
padding-bottom: 6px;
font-weight: 700;
border-width: 3px;
border-image: linear-gradient(to right, #116399, #38caef);
border-image-slice: 1;
}

.input__field:focus ~ .input__label {
position: absolute;
top: 0;
display: block;
transition: 0.2s;
font-size: 17px;
color: #38caef;
font-weight: 700;
}

.other-container {
display: flex;
align-items: left;
justify-content: left;
gap: 10px;
margin-top: 10px;
}
.home-button {
background-color: #3292ec;
border-radius: 100px;
box-shadow: rgba(37, 138, 227, 0.2) 0 -25px 18px -14px inset,rgba(37, 138, 227, 0.2) 0 1px 2px,rgba(37, 138, 227, 0.2) 0 2px 4px,rgba(37, 138, 227, 0.2) 0 4px 8px,rgba(37, 138, 227, 0.2) 0 8px 16px,rgba(37, 138, 227, 0.2) 0 16px 32px;
color: black;
cursor: pointer;
display: inline-block;
font-family: CerebriSans-Regular,-apple-system,system-ui,Roboto,sans-serif;
padding: 10px 20px;
text-align: center;
text-decoration: none;
transition: all 250ms;
border: 0;
font-size: 16px;
user-select: none;
-webkit-user-select: none;
touch-action: manipulation;
}

.home-button:hover {
box-shadow: rgba(72, 147, 233, 0.35) 0 -25px 18px -14px inset,rgba(72, 147, 233, 0.35) 0 1px 2px,rgba(72, 147, 233, 0.35) 0 2px 4px,rgba(72, 147, 233, 0.35) 0 4px 8px,rgba(72, 147, 233, 0.35) 0 8px 16px,rgba(72, 147, 233, 0.35) 0 16px 32px;
transform: scale(1.05) rotate(-1deg);
}
Loading

0 comments on commit 6007832

Please sign in to comment.