75 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!doctype html>
 | 
						|
<html>
 | 
						|
	<head>
 | 
						|
		<title>Engine Console Test</title>
 | 
						|
		<meta charset="utf-8">
 | 
						|
		<script type="text/javascript" src="/static/jquery.min.js"></script>
 | 
						|
		<link rel="stylesheet" href="/static/bootstrap.css">
 | 
						|
		<script type="text/javascript">
 | 
						|
			var T = {
 | 
						|
				"update": function () {
 | 
						|
					this.value += RR.value*timestep/1000;
 | 
						|
					this.value -= this.value*temperature_decay*timestep/1000;
 | 
						|
					if (this.value < 0) { this.value = 0; }
 | 
						|
				},
 | 
						|
				"out": function () {
 | 
						|
					$('#temp-out').html(this.value);
 | 
						|
					if (this.value > damage_threshhold) { $('#damage').show();} 
 | 
						|
					else { $('#damage').hide(); }
 | 
						|
					if (this.value < ignition_threshhold) { $('#noignition').show(); } 
 | 
						|
					else { $('#noignition').hide(); }
 | 
						|
				},
 | 
						|
				"value": 0,
 | 
						|
			};
 | 
						|
			var F = {
 | 
						|
				"update": function () { this.value = $('[name=fuel_a]').val(); },
 | 
						|
				"out": function () {},
 | 
						|
				"value": 0,
 | 
						|
			};
 | 
						|
			var RR = {
 | 
						|
				"update": function () { this.value = T.value * F.value; },
 | 
						|
				"out": function () {},
 | 
						|
				"value": 0,
 | 
						|
			};
 | 
						|
 | 
						|
			var ignition_threshhold = 2;
 | 
						|
			var damage_threshhold = 10;
 | 
						|
			var temperature_decay = 0.5;
 | 
						|
			var timestep=10;
 | 
						|
 | 
						|
			var quantities = [T, F, RR];
 | 
						|
			var a, b;
 | 
						|
 | 
						|
			$(document).ready(function() {
 | 
						|
				$('[name=ignition]').on('click', function() {
 | 
						|
					T.value = T.value + 5;
 | 
						|
					}).trigger('click');
 | 
						|
				a = setInterval(jQuery.each, timestep, quantities, function() { this.update(); });
 | 
						|
				b = setInterval(jQuery.each, timestep, quantities, function() { this.out(); });
 | 
						|
				});
 | 
						|
		</script>
 | 
						|
		<style type="text/css">
 | 
						|
		</style>
 | 
						|
	</head>
 | 
						|
	<body>
 | 
						|
		<div id="fuela">
 | 
						|
			<label for="fuel_a">Fuel A</label>
 | 
						|
			<input type="range" name="fuel_a" min=0 max=1 step=0.01>
 | 
						|
		</div>
 | 
						|
 | 
						|
		<div id="fuelb">
 | 
						|
			<label for="fuel_b">Fuel B</label>
 | 
						|
			<input type="range" name="fuel_b" min=0 max=1 step=0.01>
 | 
						|
		</div>
 | 
						|
		
 | 
						|
		<div id="starter">
 | 
						|
			<input type="button" name="ignition" value="Ignite!">
 | 
						|
		</div>
 | 
						|
		<ul id="readout">
 | 
						|
			<li><span id="temp-out">0</span> degrees</li>
 | 
						|
			<li id="noignition" class="label label-info">No ignition</li>
 | 
						|
			<li id="damage" class="label label-warning">DAMAGE!</li>
 | 
						|
		</ul>
 | 
						|
	</body>
 | 
						|
</html>
 |