|
<!DOCTYPE html> |
|
<html lang="en"> |
|
<head> |
|
<meta charset="UTF-8"> |
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
<title>Rise of Kingdoms Speed Up Calculator</title> |
|
<style> |
|
body { |
|
font-family: Arial, sans-serif; |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
justify-content: center; |
|
height: 100vh; |
|
margin: 0; |
|
background-color: #f5f5f5; |
|
} |
|
.container { |
|
display: grid; |
|
grid-template-columns: repeat(4, 1fr); |
|
gap: 20px; |
|
text-align: center; |
|
background-color: white; |
|
padding: 20px; |
|
border-radius: 8px; |
|
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); |
|
max-width: 1200px; |
|
} |
|
.column { |
|
display: flex; |
|
flex-direction: column; |
|
align-items: center; |
|
} |
|
input[type="number"] { |
|
margin: 5px; |
|
padding: 10px; |
|
font-size: 16px; |
|
width: 100px; |
|
} |
|
button { |
|
grid-column: span 4; |
|
margin: 20px; |
|
padding: 10px 20px; |
|
font-size: 16px; |
|
cursor: pointer; |
|
} |
|
#result { |
|
grid-column: span 4; |
|
margin-top: 20px; |
|
font-size: 24px; |
|
font-weight: bold; |
|
} |
|
</style> |
|
</head> |
|
<body> |
|
<div class="container"> |
|
<div class="column"> |
|
<h2>Train lính</h2> |
|
<label for="train1min">1 phút:</label> |
|
<input type="number" id="train1min" placeholder="Số lượng"> |
|
<label for="train5min">5 phút:</label> |
|
<input type="number" id="train5min" placeholder="Số lượng"> |
|
<label for="train10min">10 phút:</label> |
|
<input type="number" id="train10min" placeholder="Số lượng"> |
|
<label for="train15min">15 phút:</label> |
|
<input type="number" id="train15min" placeholder="Số lượng"> |
|
<label for="train30min">30 phút:</label> |
|
<input type="number" id="train30min" placeholder="Số lượng"> |
|
<label for="train1hour">1 giờ:</label> |
|
<input type="number" id="train1hour" placeholder="Số lượng"> |
|
<label for="train3hour">3 giờ:</label> |
|
<input type="number" id="train3hour" placeholder="Số lượng"> |
|
<label for="train8hour">8 giờ:</label> |
|
<input type="number" id="train8hour" placeholder="Số lượng"> |
|
<label for="train15hour">15 giờ:</label> |
|
<input type="number" id="train15hour" placeholder="Số lượng"> |
|
<label for="train24hour">24 giờ:</label> |
|
<input type="number" id="train24hour" placeholder="Số lượng"> |
|
<label for="train7day">7 ngày:</label> |
|
<input type="number" id="train7day" placeholder="Số lượng"> |
|
</div> |
|
<div class="column"> |
|
<h2>Nghiên cứu</h2> |
|
<label for="research1min">1 phút:</label> |
|
<input type="number" id="research1min" placeholder="Số lượng"> |
|
<label for="research5min">5 phút:</label> |
|
<input type="number" id="research5min" placeholder="Số lượng"> |
|
<label for="research10min">10 phút:</label> |
|
<input type="number" id="research10min" placeholder="Số lượng"> |
|
<label for="research15min">15 phút:</label> |
|
<input type="number" id="research15min" placeholder="Số lượng"> |
|
<label for="research30min">30 phút:</label> |
|
<input type="number" id="research30min" placeholder="Số lượng"> |
|
<label for="research1hour">1 giờ:</label> |
|
<input type="number" id="research1hour" placeholder="Số lượng"> |
|
<label for="research3hour">3 giờ:</label> |
|
<input type="number" id="research3hour" placeholder="Số lượng"> |
|
<label for="research8hour">8 giờ:</label> |
|
<input type="number" id="research8hour" placeholder="Số lượng"> |
|
<label for="research15hour">15 giờ:</label> |
|
<input type="number" id="research15hour" placeholder="Số lượng"> |
|
<label for="research24hour">24 giờ:</label> |
|
<input type="number" id="research24hour" placeholder="Số lượng"> |
|
<label for="research7day">7 ngày:</label> |
|
<input type="number" id="research7day" placeholder="Số lượng"> |
|
</div> |
|
<div class="column"> |
|
<h2>Xây dựng</h2> |
|
<label for="build1min">1 phút:</label> |
|
<input type="number" id="build1min" placeholder="Số lượng"> |
|
<label for="build5min">5 phút:</label> |
|
<input type="number" id="build5min" placeholder="Số lượng"> |
|
<label for="build10min">10 phút:</label> |
|
<input type="number" id="build10min" placeholder="Số lượng"> |
|
<label for="build15min">15 phút:</label> |
|
<input type="number" id="build15min" placeholder="Số lượng"> |
|
<label for="build30min">30 phút:</label> |
|
<input type="number" id="build30min" placeholder="Số lượng"> |
|
<label for="build1hour">1 giờ:</label> |
|
<input type="number" id="build1hour" placeholder="Số lượng"> |
|
<label for="build3hour">3 giờ:</label> |
|
<input type="number" id="build3hour" placeholder="Số lượng"> |
|
<label for="build8hour">8 giờ:</label> |
|
<input type="number" id="build8hour" placeholder="Số lượng"> |
|
<label for="build15hour">15 giờ:</label> |
|
<input type="number" id="build15hour" placeholder="Số lượng"> |
|
<label for="build24hour">24 giờ:</label> |
|
<input type="number" id="build24hour" placeholder="Số lượng"> |
|
<label for="build7day">7 ngày:</label> |
|
<input type="number" id="build7day" placeholder="Số lượng"> |
|
</div> |
|
<div class="column"> |
|
<h2>Tăng tốc tổng</h2> |
|
<label for="general1min">1 phút:</label> |
|
<input type="number" id="general1min" placeholder="Số lượng"> |
|
<label for="general5min">5 phút:</label> |
|
<input type="number" id="general5min" placeholder="Số lượng"> |
|
<label for="general10min">10 phút:</label> |
|
<input type="number" id="general10min" placeholder="Số lượng"> |
|
<label for="general15min">15 phút:</label> |
|
<input type="number" id="general15min" placeholder="Số lượng"> |
|
<label for="general30min">30 phút:</label> |
|
<input type="number" id="general30min" placeholder="Số lượng"> |
|
<label for="general1hour">1 giờ:</label> |
|
<input type="number" id="general1hour" placeholder="Số lượng"> |
|
<label for="general3hour">3 giờ:</label> |
|
<input type="number" id="general3hour" placeholder="Số lượng"> |
|
<label for="general8hour">8 giờ:</label> |
|
<input type="number" id="general8hour" placeholder="Số lượng"> |
|
<label for="general15hour">15 giờ:</label> |
|
<input type="number" id="general15hour" placeholder="Số lượng"> |
|
<label for="general24hour">24 giờ:</label> |
|
<input type="number" id="general24hour" placeholder="Số lượng"> |
|
<label for="general7day">7 ngày:</label> |
|
<input type="number" id="general7day" placeholder="Số lượng"> |
|
</div> |
|
<button onclick="calculateTotal()">Calculate Total</button> |
|
<div id="result"></div> |
|
</div> |
|
|
|
<script> |
|
function calculateTotal() { |
|
const timeUnits = { |
|
train: { |
|
"1min": parseInt(document.getElementById('train1min').value) || 0, |
|
"5min": parseInt(document.getElementById('train5min').value) || 0, |
|
"10min": parseInt(document.getElementById('train10min').value) || 0, |
|
"15min": parseInt(document.getElementById('train15min').value) || 0, |
|
"30min": parseInt(document.getElementById('train30min').value) || 0, |
|
"1hour": parseInt(document.getElementById('train1hour').value) || 0, |
|
"3hour": parseInt(document.getElementById('train3hour').value) || 0, |
|
"8hour": parseInt(document.getElementById('train8hour').value) || 0, |
|
"15hour": parseInt(document.getElementById('train15hour').value) || 0, |
|
"24hour": parseInt(document.getElementById('train24hour').value) || 0, |
|
"7day": parseInt(document.getElementById('train7day').value) || 0 |
|
}, |
|
research: { |
|
"1min": parseInt(document.getElementById('research1min').value) || 0, |
|
"5min": parseInt(document.getElementById('research5min').value) || 0, |
|
"10min": parseInt(document.getElementById('research10min').value) || 0, |
|
"15min": parseInt(document.getElementById('research15min').value) || 0, |
|
"30min": parseInt(document.getElementById('research30min').value) || 0, |
|
"1hour": parseInt(document.getElementById('research1hour').value) || 0, |
|
"3hour": parseInt(document.getElementById('research3hour').value) || 0, |
|
"8hour": parseInt(document.getElementById('research8hour').value) || 0, |
|
"15hour": parseInt(document.getElementById('research15hour').value) || 0, |
|
"24hour": parseInt(document.getElementById('research24hour').value) || 0, |
|
"7day": parseInt(document.getElementById('research7day').value) || 0 |
|
}, |
|
build: { |
|
"1min": parseInt(document.getElementById('build1min').value) || 0, |
|
"5min": parseInt(document.getElementById('build5min').value) || 0, |
|
"10min": parseInt(document.getElementById('build10min').value) || 0, |
|
"15min": parseInt(document.getElementById('build15min').value) || 0, |
|
"30min": parseInt(document.getElementById('build30min').value) || 0, |
|
"1hour": parseInt(document.getElementById('build1hour').value) || 0, |
|
"3hour": parseInt(document.getElementById('build3hour').value) || 0, |
|
"8hour": parseInt(document.getElementById('build8hour').value) || 0, |
|
"15hour": parseInt(document.getElementById('build15hour').value) || 0, |
|
"24hour": parseInt(document.getElementById('build24hour').value) || 0, |
|
"7day": parseInt(document.getElementById('build7day').value) || 0 |
|
}, |
|
general: { |
|
"1min": parseInt(document.getElementById('general1min').value) || 0, |
|
"5min": parseInt(document.getElementById('general5min').value) || 0, |
|
"10min": parseInt(document.getElementById('general10min').value) || 0, |
|
"15min": parseInt(document.getElementById('general15min').value) || 0, |
|
"30min": parseInt(document.getElementById('general30min').value) || 0, |
|
"1hour": parseInt(document.getElementById('general1hour').value) || 0, |
|
"3hour": parseInt(document.getElementById('general3hour').value) || 0, |
|
"8hour": parseInt(document.getElementById('general8hour').value) || 0, |
|
"15hour": parseInt(document.getElementById('general15hour').value) || 0, |
|
"24hour": parseInt(document.getElementById('general24hour').value) || 0, |
|
"7day": parseInt(document.getElementById('general7day').value) || 0 |
|
} |
|
}; |
|
|
|
function convertToMinutes(time, unit) { |
|
switch(unit) { |
|
case "1min": return time * 1; |
|
case "5min": return time * 5; |
|
case "10min": return time * 10; |
|
case "15min": return time * 15; |
|
case "30min": return time * 30; |
|
case "1hour": return time * 60; |
|
case "3hour": return time * 180; |
|
case "8hour": return time * 480; |
|
case "15hour": return time * 900; |
|
case "24hour": return time * 1440; |
|
case "7day": return time * 10080; |
|
default: return 0; |
|
} |
|
} |
|
|
|
let totalMinutes = 0; |
|
|
|
Object.keys(timeUnits).forEach(category => { |
|
Object.keys(timeUnits[category]).forEach(unit => { |
|
totalMinutes += convertToMinutes(timeUnits[category][unit], unit); |
|
}); |
|
}); |
|
|
|
const totalDays = Math.floor(totalMinutes / 1440); |
|
const remainingMinutes = totalMinutes % 1440; |
|
|
|
document.getElementById('result').innerText = `Total: ${totalDays} days and ${remainingMinutes} minutes`; |
|
} |
|
</script> |
|
</body> |
|
</html> |
|
|