| @@ -7,6 +7,8 @@ var strolling = false; | |||||
| var maxStomachDigest = 10; | var maxStomachDigest = 10; | ||||
| var maxBowelsDigest = 10; | var maxBowelsDigest = 10; | ||||
| var metric = true; | |||||
| victims = {}; | victims = {}; | ||||
| function toggle_auto() | function toggle_auto() | ||||
| @@ -18,6 +20,16 @@ function toggle_auto() | |||||
| else | else | ||||
| update(["You stop walking."]); | update(["You stop walking."]); | ||||
| } | } | ||||
| function toggle_units() | |||||
| { | |||||
| metric = !metric; | |||||
| document.getElementById("button-units").innerHTML = metric ? "Metric" : "Customary"; | |||||
| update(); | |||||
| } | |||||
| function initVictims() | function initVictims() | ||||
| { | { | ||||
| return { | return { | ||||
| @@ -167,8 +179,8 @@ function update(lines = []) | |||||
| var height = baseHeight * scale; | var height = baseHeight * scale; | ||||
| var mass = baseMass * Math.pow(scale, 3); | var mass = baseMass * Math.pow(scale, 3); | ||||
| document.getElementById("height").innerHTML = "Height: " + Math.round(height * 3) + " feet"; | |||||
| document.getElementById("mass").innerHTML = "Mass: " + Math.round(mass * 2.2) + " pounds"; | |||||
| document.getElementById("height").innerHTML = "Height: " + (metric ? metricLength(height) : customaryLength(height)); | |||||
| document.getElementById("mass").innerHTML = "Mass: " + (metric ? metricMass(mass) : customaryMass(mass)); | |||||
| for (var type in victims) { | for (var type in victims) { | ||||
| if (victims.hasOwnProperty(type)) { | if (victims.hasOwnProperty(type)) { | ||||
| @@ -270,7 +282,7 @@ window.addEventListener('load', function(event) { | |||||
| document.getElementById("button-stomp").addEventListener("click",stomp); | document.getElementById("button-stomp").addEventListener("click",stomp); | ||||
| document.getElementById("button-anal_vore").addEventListener("click",anal_vore); | document.getElementById("button-anal_vore").addEventListener("click",anal_vore); | ||||
| document.getElementById("button-stroll").addEventListener("click",toggle_auto); | document.getElementById("button-stroll").addEventListener("click",toggle_auto); | ||||
| document.getElementById("button-units").addEventListener("click",toggle_units); | |||||
| setTimeout(pick_move, 2000); | setTimeout(pick_move, 2000); | ||||
| update(); | update(); | ||||
| @@ -4,6 +4,7 @@ | |||||
| <meta charset="utf-8"> | <meta charset="utf-8"> | ||||
| <title>Stroll</title> | <title>Stroll</title> | ||||
| <link rel="stylesheet" href="style.css"> | <link rel="stylesheet" href="style.css"> | ||||
| <script src="units.js"></script> | |||||
| <script src="recursive-desc.js"></script> | <script src="recursive-desc.js"></script> | ||||
| <script src="recursive-macro.js"></script> | <script src="recursive-macro.js"></script> | ||||
| <script src="game.js"></script> | <script src="game.js"></script> | ||||
| @@ -26,6 +27,7 @@ | |||||
| <div></div> | <div></div> | ||||
| <button id=button-stroll>Stroll</button> | <button id=button-stroll>Stroll</button> | ||||
| <div id=strolling-indicator>Standing</div> | <div id=strolling-indicator>Standing</div> | ||||
| <button id=button-units>Metric</button> | |||||
| <div class=flex-container> | <div class=flex-container> | ||||
| <div class=stat-header id=stats-stomped> | <div class=stat-header id=stats-stomped> | ||||
| <p>Stomped</p> | <p>Stomped</p> | ||||
| @@ -0,0 +1,60 @@ | |||||
| function round(number,precision=3) { | |||||
| return Math.round(number*Math.pow(10,precision)) / Math.pow(10,precision); | |||||
| } | |||||
| function metricMass(kg) { | |||||
| if (kg < 1) { | |||||
| var mass = round(kg * 1000); | |||||
| return mass + (mass == 1 ? " gram" : " grams"); | |||||
| } else if (kg < 5000) { | |||||
| var mass = round(kg); | |||||
| return mass + (mass == 1 ? " kilogram" : " kilograms"); | |||||
| } else { | |||||
| var mass = round(kg / 1000); | |||||
| return mass + (mass == 1 ? " metric ton" : " metric tons"); | |||||
| } | |||||
| } | |||||
| function customaryMass(kg) { | |||||
| var lbs = kg * 2.2; | |||||
| if (lbs < 1) { | |||||
| var mass = round(lbs * 16); | |||||
| return mass + (mass == 1 ? " ounce" : " ounces"); | |||||
| } else if (lbs < 2000) { | |||||
| var mass = round(lbs); | |||||
| return mass + (mass == 1 ? " pound" : " pounds"); | |||||
| } else { | |||||
| var mass = round(lbs / 2000); | |||||
| return mass + (mass == 1 ? "ton" : " tons"); | |||||
| } | |||||
| } | |||||
| function metricLength(m) { | |||||
| if (m < 1) { | |||||
| var length = round(m * 100); | |||||
| return length + (length == 1 ? " centimeter" : " centimeters"); | |||||
| } else if (m < 500) { | |||||
| var length = round(m); | |||||
| return length + (length == 1 ? " meter" : " meters"); | |||||
| } else { | |||||
| var length = round(m / 1000); | |||||
| return length + (length == 1 ? " kilometer" : " kilometers"); | |||||
| } | |||||
| } | |||||
| function customaryLength(m) { | |||||
| var ft = m * 3.28084; | |||||
| if (ft < 1) { | |||||
| var length = round(ft * 12,0); | |||||
| return length + (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; | |||||
| } else { | |||||
| var length = round(ft/5280); | |||||
| return length + (length == 1 ? " mile" : " miles"); | |||||
| } | |||||
| } | |||||