소스 검색

Allowed for units to be singular or plural. Added some basic descriptions for areas

tags/v0.7.0
Fen Dweller 7 년 전
부모
커밋
4d0a55c912
4개의 변경된 파일56개의 추가작업 그리고 20개의 파일을 삭제
  1. +23
    -1
      game.js
  2. +5
    -0
      recursive-desc.js
  3. +1
    -0
      stroll.html
  4. +27
    -19
      units.js

+ 23
- 1
game.js 파일 보기

@@ -17,6 +17,27 @@ var newline = " ";

victims = {};

var macro =
{
"species": "crux",
"color" : "blue"
}

function look()
{
var line1 = "You are a " + length(baseHeight * scale, metric, true) + " tall " + macro.species + ". You weigh " + mass(baseMass * Math.pow(scale,3)) + ".";

var line2 = ""

switch(biome) {
case "rural": line2 = "You're standing amongst rural farmhouses and expansive ranches. Cattle are milling about at your feet."; break;
case "suburb": line2 = "You're striding through the winding roads of a suburb."; break;
case "city": line2 = "You're terrorizing the streets of a city. Heavy traffic, worsened by your rampage, is everywhere."; break;
case "downtown": line2 = "You're lurking amongst the skyscrapers of downtown. The streets are packed, and the buildings are practically begging you to knock them over.";
}
update([line1,newline,line2,newline]);
}

function get_living_prey(sum) {
var total = 0;
for (var key in sum) {
@@ -443,14 +464,15 @@ window.addEventListener('load', function(event) {
victims["stomach"] = initVictims();
victims["bowels"] = initVictims();

document.getElementById("button-look").addEventListener("click",look);
document.getElementById("button-grow").addEventListener("click",grow);
document.getElementById("button-feed").addEventListener("click",feed);
document.getElementById("button-stomp").addEventListener("click",stomp);
document.getElementById("button-anal_vore").addEventListener("click",anal_vore);
document.getElementById("button-stroll").addEventListener("click",toggle_auto);
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-location").addEventListener("click",change_location);
setTimeout(pick_move, 2000);

update();


+ 5
- 0
recursive-desc.js 파일 보기

@@ -1,3 +1,8 @@
function configure(dict) {
foot = dict.foot;

}

function subset(list1,list2) {
for (var i = 0; i < list1.length; i++) {
if (!list2.includes(list1[i])){


+ 1
- 0
stroll.html 파일 보기

@@ -39,6 +39,7 @@
</div>
</div>
<div class=button-container>
<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>
<button class=action-button id=button-stomp>Stomp</button>


+ 27
- 19
units.js 파일 보기

@@ -2,68 +2,76 @@ function round(number,precision=3) {
return Math.round(number*Math.pow(10,precision)) / Math.pow(10,precision);
}

function metricMass(kg) {
function mass(kg, metric=true, singular=false) {
return metric ? metricMass(kg, singular) : customaryMass(kg, singular);
}

function length(m, metric=true, singular=false) {
return metric ? metricLength(m, singular) : customaryLength(m, singular);
}

function metricMass(kg, singular=false) {
if (kg < 1) {
var mass = round(kg * 1000,0);
return mass + (mass == 1 ? " gram" : " grams");
return mass + (singular || mass == 1 ? " gram" : " grams");
} else if (kg < 5000,0) {
var mass = round(kg);
return mass + (mass == 1 ? " kilogram" : " kilograms");
return mass + (singular || mass == 1 ? " kilogram" : " kilograms");
} else if (kg < 5000000) {
var mass = round(kg / 1000,1);
return mass + (mass == 1 ? " metric ton" : " metric tons");
return mass + (singular || mass == 1 ? " metric ton" : " metric tons");
} else if (kg < 5000000000) {
var mass = round(kg / 1000000,1);
return mass + (mass == 1 ? " kiloton" : " kilotons");
return mass + (singular || mass == 1 ? " kiloton" : " kilotons");
} else if (kg < 5000000000000) {
var mass = round(kg / 1000000000,1);
return mass + (mass == 1 ? " megaton" : " megatons");
return mass + (singular || mass == 1 ? " megaton" : " megatons");
} else {
var mass = round(kg / 1000000000000,1);
return mass + (mass == 1 ? " gigaton" : " gigatons");
return mass + (singular || mass == 1 ? " gigaton" : " gigatons");
}
}

function customaryMass(kg) {
function customaryMass(kg, singular=false) {
var lbs = kg * 2.2;

if (lbs < 1) {
var mass = round(lbs * 16,0);
return mass + (mass == 1 ? " ounce" : " ounces");
return mass + (singular || mass == 1 ? " ounce" : " ounces");
} else if (lbs < 2000) {
var mass = round(lbs,0);
return mass + (mass == 1 ? " pound" : " pounds");
return mass + (singular || mass == 1 ? " pound" : " pounds");
} else {
var mass = round(lbs / 2000,1);
return mass + (mass == 1 ? "ton" : " tons");
return mass + (singular || mass == 1 ? "ton" : " tons");
}
}

function metricLength(m) {
function metricLength(m, singular=false) {
if (m < 1) {
var length = round(m * 100,0);
return length + (length == 1 ? " centimeter" : " centimeters");
return length + (singular || length == 1 ? " centimeter" : " centimeters");
} else if (m < 500) {
var length = round(m,2);
return length + (length == 1 ? " meter" : " meters");
return length + (singular || length == 1 ? " meter" : " meters");
} else {
var length = round(m / 1000,1);
return length + (length == 1 ? " kilometer" : " kilometers");
return length + (singular || length == 1 ? " kilometer" : " kilometers");
}
}

function customaryLength(m) {
function customaryLength(m, singular=false) {
var ft = m * 3.28084;

if (ft < 1) {
var length = round(ft * 12,0);
return length + (length == 1 ? " inch" : " inches");
return length + (singular || length == 1 ? " inch" : " inches");
} else if (ft < 5280) {
var end = customaryLength((ft - Math.floor(ft))/3.28084);
var length = Math.floor(ft);
return length + (length == 1 ? " foot" : " feet") + " " + end;
return length + (singular || length == 1 ? " foot" : " feet") + " " + end;
} else {
var length = round(ft/5280,1);
return length + (length == 1 ? " mile" : " miles");
return length + (singular || length == 1 ? " mile" : " miles");
}
}

불러오는 중...
취소
저장