Miksi se pitää tehdä niin vaikeasti? Postaan oman pienen kyhäelmäni:
Javascript:
Code:
function tttc_ptime(argument0) {
var _v = argument0;
var _s = 0;
var _m = 0;
var _h = 0;
while (_v > 0) {
if (Math.floor(_v/3600) > 0) {
_v -= 3600; _h += 1;
} else {
if (Math.floor(_v/60) > 0) {
_v -= 60; _m += 1;
} else {
_s = Math.round(_v);
_v = 0;
}
}
}
if (_s < 10) { _s = "0" + _s; }
if (_m < 10) { _m = "0" + _m; }
if (_h < 10) { _h = "0" + _h; }
return _h + ":" + _m + ":" + _s;
}
function tttc_calc() {
var tttc1 = document.getElementById("tttc-f1").value;
var tttc2 = document.getElementById("tttc-f2").value;
var tttc3 = document.getElementById("tttc-f3").value;
var tttc4 = document.getElementById("tttc-f4").value;
var tttc5 = document.getElementById("tttc-f5").value;
var tttc6 = document.getElementById("tttc-f6").value;
var tttc7 = document.getElementById("tttc-f7").value;
var tttc8 = document.getElementById("tttc-f8").value;
var x1 = parseInt(tttc1);
var y1 = parseInt(tttc2);
var x2 = parseInt(tttc3);
var y2 = parseInt(tttc4);
var ts = parseInt(tttc5);
var sp = parseFloat(tttc6);
var mw = parseInt(tttc7);
var mh = parseInt(tttc8);
var xd = 0;
var yd = 0;
//kasittele "warp" (-400,+400)
xd = Math.abs(x1-x2);
yd = Math.abs(y1-y2);
if (xd>mw/2) { xd = Math.abs(xd-(mw+1)); }
if (yd>mh/2) { yd = Math.abs(yd-(mh+1)); }
//lasketaan etaisyys
var d = Math.sqrt(xd*xd + yd*yd);
var tsf = d*60*60;
if (d-30>0) { tsf = 30*60*60 + (d-30)/(1+ts*0.1)*60*60; }
//ja taytetaan table
document.getElementById("bxl-0").innerHTML = d + " (" + tttc_ptime(tsf/1/sp) + ")";
document.getElementById("bxl-1").innerHTML = tttc_ptime(tsf/3/sp);
document.getElementById("bxl-2").innerHTML = tttc_ptime(tsf/4/sp);
document.getElementById("bxl-3").innerHTML = tttc_ptime(tsf/5/sp);
document.getElementById("bxl-4").innerHTML = tttc_ptime(tsf/6/sp);
document.getElementById("bxl-5").innerHTML = tttc_ptime(tsf/7/sp);
document.getElementById("bxl-6").innerHTML = tttc_ptime(tsf/9/sp);
document.getElementById("bxl-7").innerHTML = tttc_ptime(tsf/10/sp);
document.getElementById("bxl-8").innerHTML = tttc_ptime(tsf/12/sp);
document.getElementById("bxl-9").innerHTML = tttc_ptime(tsf/13/sp);
document.getElementById("bxl-10").innerHTML = tttc_ptime(tsf/14/sp);
document.getElementById("bxl-11").innerHTML = tttc_ptime(tsf/16/sp);
document.getElementById("bxl-12").innerHTML = tttc_ptime(tsf/17/sp);
document.getElementById("bxl-13").innerHTML = tttc_ptime(tsf/19/sp);
document.getElementById("bxl-14").innerHTML = tttc_ptime(tsf/24/sp);
}
html pätkä
Code:
<div>
<div class="header1">Project Travian Travel Time Calculator</div>
Use this tool to calculate distance and travel time. Works entirely using javascript.<br />
<br />
<div class = "tttc-rect">
<div class = "tttc-cont">
<p><span class = "tttc-text">X-coord:</span><input id = "tttc-f1" type = "text" value = "" class = "tttc-form" /></p>
<p><span class = "tttc-text">Y-coord:</span><input id ="tttc-f2" type = "text" value = "" class = "tttc-form" /></p>
<br />
<p><span class = "tttc-text">X2-coord:</span><input id = "tttc-f3" type = "text" value = "" class = "tttc-form" /></p>
<p><span class = "tttc-text">Y2-coord:</span><input id ="tttc-f4" type = "text" value = "" class = "tttc-form" /></p>
<br />
<p><span class = "tttc-text">Tournament square level:</span><input id ="tttc-f5" type = "text" value = "0" class = "tttc-form" /></p>
<p><span class = "tttc-text">Speed factor:</span><input id ="tttc-f6" type = "text" value = "1" class = "tttc-form" /></p>
<p><span class = "tttc-text">Map width:</span><input id ="tttc-f7" type = "text" value = "800" class = "tttc-form" /></p>
<p><span class = "tttc-text">Map height:</span><input id ="tttc-f8" type = "text" value = "800" class = "tttc-form" /></p>
<br />
<p><button id = "tttc-fx" type = "button" class = "tttc-calc" onclick = "tttc_calc();">Calculate</button></p>
<br />
</div>
<table class="x1t" cellspacing="0">
<tr>
<th>Speed (fields/h)</th>
<th>Duration/Value</th>
<th>Units</th>
</tr>
<!-- players -->
<tr>
<td id="axl-0">1</td>
<td id="bxl-0">0</td>
<td id="dxl-0">Distance</td>
</tr>
<tr>
<td id="axl-1">3</td>
<td id="bxl-1">0</td>
<td id="dxl-1">Fire catapult, Trebuchet, Catapult</td>
</tr>
<tr>
<td id="axl-2">4</td>
<td id="bxl-2">0</td>
<td id="dxl-2">Battering ram, Senator, Ram, Ram, Chief</td>
</tr>
<tr>
<td id="axl-3">5</td>
<td id="bxl-3">0</td>
<td id="dxl-3">Praetorian, Settler, Chieftain</td>
</tr>
<tr>
<td id="axl-4">6</td>
<td id="bxl-4">0</td>
<td id="dxl-4">Legionnaire, Swordsman, Axefighter</td>
</tr>
<tr>
<td id="axl-5">7</td>
<td id="bxl-5">0</td>
<td id="dxl-5">Imperian, Phalanx, Clubswinger, Spearfighter</td>
</tr>
<tr>
<td id="axl-6">9</td>
<td id="bxl-6">0</td>
<td id="dxl-6">Scout, Teuton Knight</td>
</tr>
<tr>
<td id="axl-7">10</td>
<td id="bxl-7">0</td>
<td id="dxl-7">Equites Caesaris, Paladin</td>
</tr>
<tr>
<td id="axl-8">12</td>
<td id="bxl-8">0</td>
<td id="dxl-8">Teuton Merchant</td>
</tr>
<tr>
<td id="axl-9">13</td>
<td id="bxl-9">0</td>
<td id="dxl-9">Haeduan</td>
</tr>
<tr>
<td id="axl-10">14</td>
<td id="bxl-10">0</td>
<td id="dxl-10">Equites Imperatoris</td>
</tr>
<tr>
<td id="axl-11">16</td>
<td id="bxl-11">0</td>
<td id="dxl-11">Roman Merchant, Equites Legati, Druidrider</td>
</tr>
<tr>
<td id="axl-12">17</td>
<td id="bxl-12">0</td>
<td id="dxl-12">Pathfinder</td>
</tr>
<tr>
<td id="axl-13">19</td>
<td id="bxl-13">0</td>
<td id="dxl-13">Theutates Thunder</td>
</tr>
<tr>
<td id="axl-14">24</td>
<td id="bxl-14">0</td>
<td id="dxl-14">Gaul Merchant</td>
</tr>
</table>
</div>
<div class = "b">General information</div>
Version: 1.0<br />
Last modified: 0:00 6.3.2012<br />
<span class = "b">NOTICE:</span> The output is rounded to the nearest and thus the value may be off by 1 second.<br />
</div>
ja css
Code:
/* Travian Travel Time Calculator*/
html { height: 100%; width: 100%; background-color: rgb(0,0,0); }
div.tttc-rect { width: auto; height: auto; border: 1px dashed rgb(192,192,192); background: rgba(0,0,0,0.2); padding: 20px; }
div.tttc-cont { padding-top: 5px; font-family: Verdana; color: rgb(200,200,200); font-size: 14px; font-weight: normal; }
span.tttc-text { padding-left: 100px; font-weight: bold; }
input.tttc-form { margin-top: -18px; height: 14px; margin-left: auto; margin-right: auto; display: block; }
button.tttc-calc { display: block; margin-left: auto; margin-right: auto; border: 1px solid rgb(180,180,180); padding: 2px; background: rgb(20,20,20); color: rgb(180,180,180); font-weight: bold; }
button.tttc-calc:hover { background: rgb(120,120,120); }
/*table*/
table.x1t { border: 1px solid rgb(192,192,192); border-right: 0; width: 100%; text-shadow: none; color: rgb(10,10,10); }
table.x1t th.th1 { padding: 2px; border: 0; border-right: 1px solid rgb(192,192,192); background: url("gfx/img/a/c2.gif"); font-weight: bold; }
table.x1t th { padding: 2px; border-top: 1px solid rgb(192,192,192); border-right: 1px solid rgb(192,192,192); background: rgb(243,243,243); font-weight: normal; }
table.x1t td { padding: 2px; border-top: 1px solid rgb(192,192,192); border-right: 1px solid rgb(192,192,192); background: rgb(255,255,255); }
Edit: Näyttää suht. hienoilta kyllä itse sivuilla :P
http://img191.imageshack.us/img191/8384/traveltime.png