a
This commit is contained in:
commit
937f193f12
20
index.html
Normal file
20
index.html
Normal 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
67
main.css
Normal 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
106
main.js
Normal 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"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user