updated game links to apps subdomain and removed TADS source files

This commit is contained in:
2025-08-10 17:02:51 +02:00
parent 967ce0132b
commit 0b550101e6
34 changed files with 8 additions and 472 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 615 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

View File

@@ -1,99 +0,0 @@
@import url('https://fonts.upset.dev/css2?family=Bricolage+Grotesque&family=Lato&family=Borel&family=Kanit:ital@1&display=swap');
html {
scroll-behavior: smooth;
}
* {
font-family: 'Lato', sans-serif;
}
h1, h2, h3, h4, h5, h6 {
color: var(--color-on-primary);
font-family: 'Kanit', sans-serif;
}
.fancy-header {
font-family: 'Borel', serif;
}
:root {
--text-color: #212121;
--color-on-primary: #e0e0e0;
--primary: #3a433c;
--secondary: #819688;
--tertiary: #7296a4;
--neutral: #8f918e;
--color-background: #121212;
--color-text: #e3e3e3;
--color-button-border: #24c76c;
}
body {
background-color: var(--color-background);
max-width: 35cm;
margin: auto;
}
p {
color: var(--color-on-primary);
}
span {
color: var(--color-on-primary);
}
.styled-button {
padding: 8px;
font-size: 0.9em;
font-family: 'Lato', sans-serif;
border-radius: 12px;
color: var(--color-text);
border-color: var(--color-button-border);
background-color: var(--color-background);
}
.page-header-div {
position: relative;
text-align: center;
}
.page-header-text {
margin: 12px 24px;
font-size: 3em;
/* display: flex; */
margin-left: auto;
margin-right: auto;
width: fit-content;
text-align: center;
}
.page-header {
margin: 8px 0px 0px 0px;
}
.page-subheader {
margin: 0px 0px 8px 0px;
}
.page-header-banner {
background-color: #24c76c;
}
.page-header-image {
width: 100%;
filter: brightness(70%);
}
.clickable {
cursor: pointer;
}
/* unvisited link */
a:link {
color: #c2e8ff;
}
/* visited link */
a:visited {
color: #ffd7f0;
}
/* mouse over link */
a:hover {
color: #ffdad5;
}
.centered {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.page-content {
margin: 0px 32px;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -1,63 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<meta name='viewport' content='width=device-width'>
<title>Totally Accurate Dating Simulator</title>
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/projects/tads/pagestyle.css">
<script>
let playerNameEmptyError = "Your name cannot be nothing, silly.";
let promisingButtonText = "Find hot girls";
let disillusionedButtonText = "Continue being sad";
let loserText = "There are hot girls around, but they are not interested in ";
var isButtonClicked = false;
var playerName;
window.onload = function() {
document.getElementById("button").innerText = promisingButtonText;
document.getElementById("datingsim").style.display = "none";
}
function finishPrep() {
let name = document.getElementById("playerName").value;
if (name.trim() === "") {
document.getElementById("error").innerText = playerNameEmptyError;
return;
}
playerName = name;
document.getElementById("prep").style.display = "none";
document.getElementById("datingsim").style.display = "block";
}
function datingSimButton() {
if (isButtonClicked) {
document.getElementById("text").innerText = "";
document.getElementById("button").innerText = promisingButtonText;
} else {
document.getElementById("text").innerText = loserText + playerName + ".";
document.getElementById("button").innerText = disillusionedButtonText;
}
isButtonClicked = !isButtonClicked;
}
</script>
</head>
<body>
<h1 class="fancy-header">Totally Accurate Dating Simulator</h1>
<div id="prep">
<input id="playerName"/>
<p id="error"></p>
<button onclick="finishPrep()">Get dating!</button>
</div>
<div id="datingsim">
<p id="text"></p>
<button id="button" onclick="datingSimButton()">Find hot girls</button>
</div>
</body>
</html>

View File

@@ -1,302 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<meta name='viewport' content='width=device-width'>
<title>Totally Accurate Dating Simulator 2</title>
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/projects/tads/pagestyle.css">
<script>
let playerNameEmptyError = "Your name cannot be nothing, silly.";
let promisingButtonText = "Find hot girls";
let disillusionedButtonText = "Continue being sad";
let baldiImages = [
"baldicampertalk.webp", // 1
"baldiwaveparty.webp",
"baldifarmerspank.webp",
"baldicrying.webp",
"spacerat.png", // 5
"red.webp",
"cena.jpeg",
"vaso1.png",
"vaso2.png",
"dannyass.png", // 10
"batman.jpeg",
"homersweet.jpg",
"california.jpg",
"dream.gif",
"frax.png", // 15
"sandwich.png",
"sonicgood.png",
"sonicbad.png",
"toilet.jpg",
"nook.png", // 20
"garry.jpg",
"bigsmoke.png",
"biden.png",
"burn.jpg",
"reigns.png", // 25
"helga.png",
"deniz.gif",
"isa.png"
];
let baldiTexts;
function initBaldiTexts() {
baldiTexts = [
`${playerName} just met Baldi as he returned from a camping trip! Baldi is eager to talk to ${playerName} and they form a lasting friendship`,
`${playerName} just met Baldi after he went to a party and he is drunk as fuck, he touches ${playerName}'s bum and ${playerName} reports Baldi to the police for sexual assault`,
`${playerName} meets Baldi, and he is horny as fuck. Fortunately, ${playerName} is also in the mood for it. Baldi has a stick ready to spank ${playerName}`,
`${playerName} meets Baldi as he is having an existential crisis. Baldi doesn't know what to do with his life and neither does ${playerName} so they cry together`,
`${playerName} meets a space rat from 3000 years into the future. The space rat does not speak ${playerName}'s language. The space rat pulls out a rocket launcher and ${playerName} runs away`,
`${playerName} meets red\n\nthat's kinda sus`,
`${playerName} meets John Cena. Or at least ${playerName} thinks so, because ${playerName} cannot see him`,
`${playerName} encounters Vaso, but he doesn't look too well. ${playerName} calls an ambulance and Vaso dies in the hospital, holding ${playerName}'s hand, sharing his last moments with ${playerName}`,
`${playerName} meets Vaso! He is excited to tell ${playerName} all about how Outer Wilds has changed his life, and how it will change ${playerName}'s life as well`,
`${playerName} bears witness to a weird couple doing fetish things in public. They ask ${playerName} if they would like to join, but ${playerName} declines and dies alone`,
`${playerName} encounters plagiarism Batman and Robin. They discover that ${playerName} didn't correctly cite Karl Marx in an essay ${playerName} submitted 4 years ago, and they run over ${playerName} with the Batmobile`,
`${playerName} sees Homer Simpson wielding a bat. Homer wants to protect ${playerName}. ${playerName} and Homer live happily ever after`,
`${playerName} meets the US state California. It is on fire due to climate change and ${playerName} suffocates from smoke inhalation`,
`${playerName} approaches Vaso's dream girl. Vaso notices and punches ${playerName} to death`,
`${playerName} meets Fraxiom at a rave. Fraxiom wants to fantasize about being or kissing Skrillex. Rejected, ${playerName} walks away and drowns their sadness in alcohol`,
`${playerName} sees a sandwich lying on the floor. ${playerName} picks it up and begins to eat it. ${playerName} realizes that they just ate a potential lover, and that they will be forever alone`,
`${playerName} meets Sonic from the Sonic the Hedgehog series! Sonic takes one look at ${playerName} and proceeds to run away as far as possible at top speed`,
`${playerName} meets Sonic from the Sonic the Hedgehog series! But it's the original design from the movie, so ${playerName} decides to pretend they don't speak Sonic's language and walks away`,
`${playerName} sees a cool toilet. ${playerName} realizes that the toilet is a metaphor for how ${playerName}'s life is going down the shitter, so ${playerName} goes to cry in the shower`,
`${playerName} meets Tom Nook. Tom Nook is here to collect the 2,498,000 bell debt that ${playerName} has not paid off in 28 months. Tom Nook shoots ${playerName}`,
`${playerName} meets Garry! But Garry is too busy with creating the base game groundwork for renowned fantasy shooter Team Fortress 2`,
`${playerName} meets up with Big Smoke from Grand Theft Auto: San Andreas, and they go out for a meal at the Cluckin' Bell. Big Smoke orders two number 9s, a number 9 large, a number 6 with extra dip, a number 7, two number 45s, one with cheese, and a large soda. ${playerName} is embarrassed, runs away, and gets caught in the crossfire of a drive-by shooting`,
`${playerName} gets invited to the White House and has the pleasure of meeting Joe Biden. ${playerName} tells Joe Biden their name, and Joe Biden responds: "nice to meet you ${playerName.shuffle()}!" ${playerName} decides to leave the state of Washington`,
`Unable to find a lover, ${playerName} travels towards the sun and burns to death`,
`${playerName} meets Roman Reigns! ${playerName} boos him and quickly regrets it, as Roman Reigns is filled with hatred and all members of the Bloodline body slam ${playerName} out of existence`,
`${playerName} meets Helga von Streissenburgen! She tells ${playerName} that they are too weak, weak, weak, and that they could eat them for breakfast, so Helga fries up some robot bacon alongside ${playerName} and eats them`,
`${playerName} meets Deniz! Unfortunately, Deniz is busy creating a dating simulator and has no time for ${playerName}`,
`${playerName} meets Isabel! She is lonely and watches all the cool kids from her window. ${playerName} joins Isabel and they are lonely together`
];
}
let viewPrep, viewButtons, viewAnswer, text;
var userPreference;
var playerName;
window.onload = function() {
viewPrep = document.getElementById("viewPrep");
viewButtons = document.getElementById("viewButtons");
viewAnswer = document.getElementById("viewAnswer");
text = document.getElementById("text");
viewPrep.style.display = "block";
viewButtons.style.display = "none";
viewAnswer.style.display = "none";
document.getElementById("viewCheater").style.display = "none";
document.getElementById("buttonHotGirls").style.display = "block";
document.getElementById("buttonHotGuys").style.display = "block";
document.getElementById("buttonCuteGirls").style.display = "none";
document.getElementById("buttonCuteGuys").style.display = "none";
document.getElementById("buttonNormalGirls").style.display = "none";
document.getElementById("buttonNormalGuys").style.display = "none";
document.getElementById("buttonAnyGirl").style.display = "none";
document.getElementById("buttonAnyGuy").style.display = "none";
document.getElementById("buttonLiterallyAny").style.display = "none";
}
String.prototype.shuffle = function () {
var a = this.split(""),
n = a.length;
for(var i = n - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
return a.join("");
}
function finishPrep() {
let name = document.getElementById("playerName").value;
if (name.trim() === "") {
document.getElementById("error").innerText = playerNameEmptyError;
return;
}
if (name.trim() === "cheater") {
showCheaterMenu();
return;
}
playerName = name.trim();
viewPrep.style.display = "none";
viewButtons.style.display = "block";
document.getElementById("cheaterDescription").innerText = `Pick a number from 1-${baldiImages.length + 1}`;
initBaldiTexts();
}
function hotGirls() {
document.getElementById("buttonHotGirls").onclick = alreadyTried;
userPreference = "girl";
document.getElementById("buttonHotGuys").style.display = "none";
document.getElementById("buttonCuteGirls").style.display = "block";
showAnswer(
`There are hot girls around, but they are not interested in ${playerName}`,
"Look around some more"
);
}
function hotGuys() {
document.getElementById("buttonHotGuys").onclick = alreadyTried;
userPreference = "guy";
document.getElementById("buttonHotGirls").style.display = "none";
document.getElementById("buttonCuteGuys").style.display = "block";
showAnswer(
`There are hot guys around, but they are not interested in ${playerName}`,
"Look around some more"
);
}
function cute() {
document.getElementById("buttonCuteGirls").onclick = alreadyTried;
document.getElementById("buttonCuteGuys").onclick = alreadyTried;
if (userPreference == "girl") {
document.getElementById("buttonNormalGirls").style.display = "block";
} else {
document.getElementById("buttonNormalGuys").style.display = "block";
}
showAnswer(
`A cute ${userPreference} walks by, ${playerName} waves at them but the ${userPreference} pretends they didn't see that`,
":("
);
}
function normal() {
document.getElementById("buttonNormalGirls").onclick = alreadyTried;
document.getElementById("buttonNormalGuys").onclick = alreadyTried;
if (userPreference == "girl") {
document.getElementById("buttonAnyGirl").style.display = "block";
} else {
document.getElementById("buttonAnyGuy").style.display = "block";
}
showAnswer(
`${playerName} sees a group of ${userPreference}s but ${playerName} is too scared to talk to any of them`,
"maybe another time"
);
}
function any() {
document.getElementById("buttonAnyGirl").onclick = alreadyTried;
document.getElementById("buttonAnyGuy").onclick = alreadyTried;
document.getElementById("buttonLiterallyAny").style.display = "block";
showAnswer(
`Losing patience, ${playerName} approaches a ${userPreference} but they already have a partner and tell ${playerName} to leave`,
"oof really?"
);
}
function random(min,max) {
return Math.floor((Math.random())*(max-min+1))+min;
}
function literallyany(i) {
document.getElementById("answerButton").onclick = null;
showAnswer(
baldiTexts[i],
`Ending ${i + 1} of ${baldiImages.length}`
);
document.getElementById("baldiImage").src = `/projects/tads/${baldiImages[i]}`;
}
function literallyanyButton() {
literallyany(random(0, baldiImages.length - 1));
}
function returnToOverview() {
viewButtons.style.display = "block";
viewAnswer.style.display = "none";
}
function alreadyTried() {
showAnswer(
`${playerName} considers it but then decides against it, because it would only end in disappointment`,
"depressing but ok"
);
}
function showAnswer(answer, buttonText) {
text.innerText = answer;
document.getElementById("answerButton").innerText = buttonText;
viewButtons.style.display = "none";
viewAnswer.style.display = "block";
}
function showCheaterMenu() {
viewPrep.style.display = "none";
document.getElementById("viewCheater").style.display = "block";
}
function buttonCheater() {
let index = document.getElementById("cheater").value;
if (baldiImages[index - 1] == undefined) {
document.getElementById("cheaterError").innerText = `'${index}' does not exist`;
return;
}
playerName = "cheater";
initBaldiTexts();
document.getElementById("viewCheater").style.display = "none";
literallyany(index - 1);
}
</script>
</head>
<body>
<h1 class="fancy-header">Totally Accurate Dating Simulator 2</h1>
<div id="viewPrep">
<p>Enter your name, dating padawan:</p>
<input id="playerName"/>
<p id="error"></p>
<button onclick="finishPrep()">Get dating!</button>
</div>
<div id="viewButtons">
<button id="buttonHotGirls" onclick="hotGirls()">Find hot girls</button>
<button id="buttonHotGuys" onclick="hotGuys()">Find hot guys</button>
<button id="buttonCuteGirls" onclick="cute()">Find cute girls</button>
<button id="buttonCuteGuys" onclick="cute()">Find cute guys</button>
<button id="buttonNormalGirls" onclick="normal()">Find normal girls</button>
<button id="buttonNormalGuys" onclick="normal()">Find normal guys</button>
<button id="buttonAnyGirl" onclick="any()">Find any girl</button>
<button id="buttonAnyGuy" onclick="any()">Find any guy</button>
<button id="buttonLiterallyAny" onclick="literallyanyButton()">Really, no one??</button>
</div>
<div id="viewAnswer">
<p id="text"></p>
<img id="baldiImage"/>
<button id="answerButton" onclick="returnToOverview()"></button>
</div>
<div id="viewCheater">
<h3>CHEATER CHEATER CHEATER</h3>
<p id="cheaterDescription"></p>
<input id="cheater"/>
<p id="cheaterError"></p>
<button onclick="buttonCheater()">THAT'S RIGHT WE'RE GONNA CHEAT</button>
</div>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB