Results 1 to 4 of 4

Thread: Matka-aika laskurin php-koodi

  1. #1
    Asukas
    Join Date
    Jan 2012
    Location
    Tampere
    Posts
    2

    Post Matka-aika laskurin php-koodi

    [poistettu]
    Attached Images Attached Images  
    Last edited by #PKO; 11-20-2012 at 09:03 AM.

  2. #2

    Default

    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
    Last edited by wxkfa; 03-06-2012 at 02:53 AM.
    Life/Travian: Work hard, achieve your ultimate goals and lose everything.

  3. #3
    Asukas
    Join Date
    Jan 2012
    Location
    Tampere
    Posts
    2

    Default

    Nojaa... Ainahan tuota kuulee "mikset tee näin".

    Molemmat koodit tekee kyllä mitä pitääkin (eikä tuo koodi ole ihan toimiva, koneella kyllä on valmis koodi).
    Eikä tuossa mitään kovin ylimääräistä näytä olevan. Samat asiat hoidetaan mutta kai eri tavalla.

    ja mainittakoon että on minun ensimmäinen koodini joka ny on edes 30 riviä pidempi.

    :P

  4. #4

    Default

    Quote Originally Posted by #PKO View Post
    Nojaa... Ainahan tuota kuulee "mikset tee näin".

    Molemmat koodit tekee kyllä mitä pitääkin (eikä tuo koodi ole ihan toimiva, koneella kyllä on valmis koodi).
    Eikä tuossa mitään kovin ylimääräistä näytä olevan. Samat asiat hoidetaan mutta kai eri tavalla.

    ja mainittakoon että on minun ensimmäinen koodini joka ny on edes 30 riviä pidempi.

    :P
    Siitä on hyvä aloittaa. Mutta tosiaan jos koodi alkaa olemaan pidempi (omat kyhäelmät välillä yli KSLOC) niin alat ymmärtää mikä on se hiuksenhieno ero huonosti kirjoitetun koodin ja hyvin kirjoitetun koodin välillä. Ja kuten itsekin mainitsit aloituspostissasi koodissasi oli omituisia bugeja. Näitä ei olisi tullut jos olisit tehnyt sen simppelisti
    Life/Travian: Work hard, achieve your ultimate goals and lose everything.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •