ソースを参照

Added a basic options menu, plus a species field.

tags/v0.7.0
Fen Dweller 7年前
コミット
3e83965564
4個のファイルの変更81行の追加11行の削除
  1. +46
    -0
      game.js
  2. +6
    -6
      recursive-macro.js
  3. +9
    -3
      stroll.html
  4. +20
    -2
      style.css

+ 46
- 0
game.js ファイルの表示

@@ -765,6 +765,48 @@ function grow()
update(["Power surges through you as you grow " + heightStr + " taller and gain " + massStr + " of mass",newline]);
}

function option_male() {
macro.maleParts = !macro.maleParts;

document.getElementById("button-male-genitals").innerHTML = (macro.maleParts ? "Male genitals" : "No male genitals");
}

function option_female() {
macro.femaleParts = !macro.femaleParts;

document.getElementById("button-female-genitals").innerHTML = (macro.femaleParts ? "Female genitals" : "No female genitals");
}

function startGame() {
document.getElementById("option-panel").style.display = 'none';
document.getElementById("action-panel").style.display = 'flex';

if (!macro.maleParts) {
document.getElementById("button-cockslap").style.display = 'none';
document.getElementById("button-cock_vore").style.display = 'none';
document.getElementById("button-ball_smother").style.display = 'none';
document.getElementById("stats-balls").style.display = 'none';
document.getElementById("stats-cock").style.display = 'none';
document.getElementById("stats-smothered").style.display = 'none';
}

if (!macro.femaleParts) {
document.getElementById("button-breast_crush").style.display = 'none';
document.getElementById("button-unbirth").style.display = 'none';
document.getElementById("stats-womb").style.display = 'none';
document.getElementById("stats-breasts").style.display = 'none';
}

var species = document.getElementById("option-species").value;
var re = /^[a-zA-Z\- ]+$/;

// tricksy tricksy players
if (re.test(species)) {
macro.species = species;
}

document.getElementById("stat-container").style.display = 'flex';
}

window.addEventListener('load', function(event) {
victims["stomped"] = initVictims();
@@ -793,6 +835,10 @@ window.addEventListener('load', function(event) {
document.getElementById("button-location").addEventListener("click",change_location);
document.getElementById("button-units").addEventListener("click",toggle_units);
document.getElementById("button-verbose").addEventListener("click",toggle_verbose);

document.getElementById("button-male-genitals").addEventListener("click",option_male);
document.getElementById("button-female-genitals").addEventListener("click",option_female);
document.getElementById("button-start").addEventListener("click",startGame);
setTimeout(pick_move, 2000);

update();


+ 6
- 6
recursive-macro.js ファイルの表示

@@ -615,14 +615,14 @@ function Tram(count = 1) {

this.describe = function(verbose = true) {
if (verbose) {
if (this.count <= 3) {
if (this.count == 1) {
list = [];
for (var i = 0; i < this.count; i++) {
list.push(this.describeOne(this.count < 2));
list.push(this.describeOne(verbose));
}
return merge_things(list) + " with " + this.contents.person.describe() + " inside";
return merge_things(list) + " with " + this.contents.person.describe(verbose) + " inside";
} else {
return this.count + " trams with " + this.contents.person.describe() + " inside";
return this.count + " trams with " + this.contents.person.describe(verbose) + " inside";
}
} else {
return (this.count > 1 ? this.count + " trams" : "a tram");
@@ -668,10 +668,10 @@ function Train(count = 1) {

this.describe = function(verbose = true) {
if (verbose) {
if (this.count <= 3) {
if (this.count == 1) {
list = [];
for (var i = 0; i < this.count; i++) {
list.push(this.describeOne(this.count < 2));
list.push(this.describeOne(verbose));
}
return merge_things(list) + " with " + this.contents.person.describe() + " in the engine and " + this.contents.traincar.describe() + " attached";
} else {


+ 9
- 3
stroll.html ファイルの表示

@@ -11,7 +11,7 @@
</head>
<body>
<div class=game-area>
<div class=stat-container>
<div class=stat-container id=stat-container>
<div class=stat-header-self id=stats-self>
<p>Stats</p>
<div class=stat-line id=height></div>
@@ -47,14 +47,14 @@
</div>
<div id=log-area>
<div id=log>
<div>Welcome to Stroll 0.2.2</div>
<div>Welcome to Stroll 0.2.3</div>
<div><b>This game features 18+ content</b></div>
<div><a href="https://chemicalcrux.org/stroll">Changelog</a></div>
<div>It's a nice day for a walk</div>
<div>&nbsp;</div>
</div>
</div>
<div class=button-container>
<div class=button-container id=action-panel>
<button class=action-button id=button-look>Look</button>
<button class=action-button id=button-grow>Get Bigger</button>
<button class=action-button id=button-feed>Eat</button>
@@ -71,6 +71,12 @@
<button class=action-button class=action-button id=button-units>Units: Metric</button>
<button class=action-button id=button-verbose>Descriptions: Verbose</button>
</div>
<div class=button-container id=option-panel>
<button class=option-button id=button-male-genitals>Male genitals</button>
<button class=option-button id=button-female-genitals>Female genitals</button>
<form class=option-form>Species:<br><input type="text" name="species" id="option-species"></input></form>
<button class=option-button id=button-start>Start game</button>
</div>
</div>
</body>
</html>

+ 20
- 2
style.css ファイルの表示

@@ -49,7 +49,7 @@ body {
}

.stat-container {
display: flex;
display: none;
flex-wrap: wrap;
flex-direction: column;
text-align: right;
@@ -57,13 +57,31 @@ body {
}

.button-container {
display: flex;
flex-wrap: wrap;
max-width: 300px;
height: 400px;
flex: 2;
}

#action-panel {
display: none;
}

#option-panel {
display: flex;
}

.option-button {
font-size: 20px;
width: 120px;
height: 75px;
}

.option-form {
font-size: 16px;
width: 300px;
height: 100px;
}
.action-button {
font-size: 24px;
width: 120px;


読み込み中…
キャンセル
保存