This commit is contained in:
lustlion 2022-07-19 13:09:08 +02:00
commit 937f193f12
3 changed files with 193 additions and 0 deletions

20
index.html Normal file
View File

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Nya~</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="./main.css">
</head>
<body>
<h1>gay</h1>
<p id="turn">who's turn</p>
<button onclick="roll()">click to start!</button>
<div>
<span id="action">click da</span>
<span id="part">roll button</span>
</div>
<script src="./main.js"></script>
</body>
</html>

67
main.css Normal file
View File

@ -0,0 +1,67 @@
@keyframes reveal {
0% {
text-shadow: none;
}
20% {
text-shadow: 4px 4px 2px rgba(0,0,0,0.1), -4px -4px 2px rgba(0,0,0,0.1), -4px 4px 2px rgba(0,0,0,0.1), 4px -4px 2px rgba(0,0,0,0.1), 0px 0px 8px black;
}
100% {
text-shadow: none;
}
}
* {
user-select: none;
}
body {
margin: 0; padding: 0;
display: flex;
flex-flow: column;
align-items: center;
justify-content: center;
height: 100vh;
overflow: hidden;
font-family: Arial;
text-transform: lowercase;
filter: invert(1);
background-color: black;
}
h1 {
font-size: 3rem;
font-weight: 200;
}
p {
margin: 0;
}
button {
all: unset;
margin-top: 1rem;
border: 1px solid black;
padding: 0.5rem;
font-size: 1rem;
border-radius: 12px;
cursor: pointer;
margin-bottom: 1rem;
transition: opacity 0.3s;
}
button:hover {
background-color: lightgrey;
}
button:active {
background-color: grey;
}
.animation {
animation: reveal 2s linear forwards;
}
.buttondisable {
opacity: 0.5;
cursor: not-allowed;
}

106
main.js Normal file
View File

@ -0,0 +1,106 @@
let actions = [
"kiss",
"touch",
"lick",
"bite",
"scratch",
"slap",
"suck",
// "lie"
]
let actions2 = [
"kisses",
"touches",
"licks",
"bites",
"scratches",
"slaps",
"sucks",
// "lies"
]
let subjects = [ //multiple partners friendly
"Ari",
"Remi"
]
let parts = [ //make this personalizable
"left nipple",
"right nipple",
"left foot",
"right foot",
"left ear",
"right ear",
"left thigh",
"right thigh",
"lips",
"ass",
"tummy",
"genitals",
"nose",
"neck",
"choice"
]
let action = document.querySelector("#action");
let part = document.querySelector("#part");
let button = document.querySelector("button");
let turn = document.querySelector("#turn");
let state = 3;
////// to do
// remove text when next turn
// customizable lists
//
function roll() {
if (state == 0) {
action.style.opacity = 1;
part.style.opacity = 1;
state = 2; //disable the button
let rng = Math.floor(Math.random() * subjects.length);
let rng2 = Math.floor(Math.random() * subjects.length);
button.classList.add("buttondisable");
for (let x = 1; x < 2000; x += x*1.1) {
setTimeout(() => {
if (rng == 0) {
action.innerHTML = "you " + actions[Math.floor(Math.random()*actions.length)] + " " + (rng2 == rng ? "your own" : subjects[rng2] + "s ");
part.innerHTML = parts[Math.floor(Math.random()*parts.length)];
} else {
action.innerHTML = subjects[rng] + " " + actions2[Math.floor(Math.random()*actions2.length)] + " your ";
part.innerHTML = "[click to reveal]";
button.innerHTML = "reveal"
}
}, x);
}
setTimeout(() => {
if (rng != 0) {
state = 1;
} else {
button.innerHTML = "next turn"
state = 3;
}
action.classList.add("animation");
part.classList.add("animation");
button.classList.remove("buttondisable");
}, 2000);
setTimeout(() => {
action.classList.remove("animation");
part.classList.remove("animation");
}, 4000);
} else if (state == 1) {
part.innerHTML = parts[Math.floor(Math.random()*parts.length)];
state = 3;
button.innerHTML = "next turn"
} else if (state == 3) {
part.style.opacity = 0;
action.style.opacity = 0;
state = 0;
subjects.push(subjects.shift());
turn.innerHTML = subjects[0];
button.innerHTML = "click to roll"
}
}