diff --git a/muni.css b/muni.css new file mode 100644 index 0000000..4a95097 --- /dev/null +++ b/muni.css @@ -0,0 +1,28 @@ +* { + font-family: "Comic Sans MS", "Comic Sans", cursive; + box-sizing: border-box; +} + +body::before { + content: ""; + position: fixed; + width: 100vw; + height: 100vh; + top: 0; + left: 0; + background-image: url("https://cdn.discordapp.com/emojis/744938186983080126.png?v=1"); + background-size: cover; + background-repeat: no-repeat; + background-position: center calc(62% + 2%); + z-index: -1; + opacity: 0.25; +} + +textarea { + background-color: transparent; + width: 100%; +} + +textarea:disabled { + color: black; +} diff --git a/muni.js b/muni.js new file mode 100644 index 0000000..c582de0 --- /dev/null +++ b/muni.js @@ -0,0 +1,478 @@ +const MAXSTEPS = 10000; + +function test() { + var start = Math.abs(Number(document.getElementById("starting").value)); + var end = Math.abs(Number(document.getElementById("ending").value)); + var maxscore = Math.abs(Number(document.getElementById("maxscore").value)); + var bonus = Number(document.getElementById("team").value); + var type = document.getElementById("Bingo").checked + ? "Bingo" + : document.getElementById("Poker").checked + ? "Poker/Raid" + : "Medley"; + var flexible = document.getElementById("flexible").checked; + //document.getElementById("console").value=flexible+"...\n\n" + var step = 1; + var flameCount = 0; + var originalTarget = start; + document.getElementById("console").value = ""; + + var interval = type == "Medley" ? 15000 : 10000; + + maxscore = Math.floor(maxscore / interval) * interval; + + function EPCalc(voltage, score, bonus) { + if (voltage > 0) { + switch (type) { + case "Bingo": + { + return ( + voltage * + Math.floor( + (1 + bonus) * Math.max(10, Math.floor(score / interval)) + ) + ); + } + break; + case "Medley": + { + return ( + voltage * + Math.floor((1 + bonus) * (10 + Math.floor(score / interval))) + ); + } + break; + case "Poker/Raid": + { + return ( + voltage * + Math.floor((1 + bonus) * (50 + Math.floor(score / interval))) + ); + } + break; + } + } else { + return Math.round(bonus * 10) + 10; + } + } + + function EvenOdd(val) { + return val % 2 == 0 ? "even" : "odd"; + } + + function TryBiggestGain(tbonus) { + var voltage = 5; + for (var i = maxscore; i >= maxscore * 0.8; i -= interval) { + if (start + EPCalc(voltage, i, tbonus) < end - 10) { + //document.getElementById("console").value+="Ending value needs to be "+EvenOdd(end-10)+"\n" + if (EvenOdd(start + EPCalc(voltage, i, tbonus)) == EvenOdd(end - 10)) { + //document.getElementById("console").value+=EvenOdd(start+EPCalc(voltage,i,tbonus))+"/"+EvenOdd(end-10)+"\n" + start += EPCalc(voltage, i, tbonus); + flameCount += voltage; + document.getElementById("console").value += + "Step " + + step++ + + ") Using " + + voltage + + " voltage w/" + + Math.round(tbonus * 100) + + "% team, score between " + + i + + "~" + + (i + interval - 1) + + " pts. EP +" + + EPCalc(voltage, i, tbonus) + + ". Remaining:" + + (end - start) + + " EP \n"; + return true; + } + } + } + return false; + } + + function TrySmallerGain(voltage, tbonus) { + for (var i = maxscore; i >= maxscore * 0.8; i -= interval) { + if (start + EPCalc(voltage, i, tbonus) < end - 10) { + //document.getElementById("console").value+="Ending value needs to be "+EvenOdd(end-10)+"\n" + if (EvenOdd(start + EPCalc(voltage, i, tbonus)) == EvenOdd(end - 10)) { + //document.getElementById("console").value+=EvenOdd(start+EPCalc(voltage,i,tbonus))+"/"+EvenOdd(end-10)+"\n" + start += EPCalc(voltage, i, tbonus); + flameCount += voltage; + document.getElementById("console").value += + "Step " + + step++ + + ") Using " + + voltage + + " voltage w/" + + Math.round(tbonus * 100) + + "% team, score between " + + i + + "~" + + (i + interval - 1) + + " pts. EP +" + + EPCalc(voltage, i, tbonus) + + ". Remaining:" + + (end - start) + + " EP \n"; + return true; + } + } + } + return false; + } + + function TrySmolGain(voltage, tbonus) { + for (var i = maxscore; i >= 0; i -= interval) { + if ( + EPCalc(voltage, i, tbonus) >= 10 + Math.round(bonus * 10) && + start + EPCalc(voltage, i, tbonus) <= + end - (10 + Math.round(bonus * 10)) + ) { + //document.getElementById("console").value+="Ending value needs to be "+EvenOdd(end-10)+"\n" + if (EvenOdd(start + EPCalc(voltage, i, tbonus)) == EvenOdd(end - 10)) { + //document.getElementById("console").value+=EvenOdd(start+EPCalc(voltage,i,tbonus))+"/"+EvenOdd(end-10)+"\n" + start += EPCalc(voltage, i, tbonus); + flameCount += voltage; + document.getElementById("console").value += + "Step " + + step++ + + ") Using " + + voltage + + " voltage w/" + + Math.round(tbonus * 100) + + "% team, score between " + + i + + "~" + + (i + interval - 1) + + " pts. EP +" + + EPCalc(voltage, i, tbonus) + + ". Remaining:" + + (end - start) + + " EP \n"; + return true; + } + } + } + for (var i = maxscore; i >= 0; i -= interval) { + if ( + EvenOdd(start + EPCalc(voltage, i, tbonus)) != EvenOdd(end - 10) && + start + EPCalc(voltage, i, tbonus) == end + ) { + //document.getElementById("console").value+="Ending value needs to be "+EvenOdd(end-10)+"\n" + //document.getElementById("console").value+=EvenOdd(start+EPCalc(voltage,i,tbonus))+"/"+EvenOdd(end-10)+"\n" + start += EPCalc(voltage, i, tbonus); + flameCount += voltage; + document.getElementById("console").value += + "Step " + + step++ + + ") Using " + + voltage + + " voltage w/" + + Math.round(tbonus * 100) + + "% team, score between " + + i + + "~" + + (i + interval - 1) + + " pts. EP +" + + EPCalc(voltage, i, tbonus) + + ". Remaining:" + + (end - start) + + " EP \n"; + return true; + } + } + /*for (var i=maxscore;i>=0;i-=interval) { + if ((start+EPCalc(voltage,i,tbonus))==end) { + //document.getElementById("console").value+="Ending value needs to be "+EvenOdd(end-10)+"\n" + //document.getElementById("console").value+=EvenOdd(start+EPCalc(voltage,i,tbonus))+"/"+EvenOdd(end-10)+"\n" + start+=EPCalc(voltage,i,tbonus) + flameCount+=voltage + document.getElementById("console").value+="Step "+(step++)+") Using "+voltage+" voltage w/"+Math.round(tbonus*100)+"% team, score between "+i+"~"+(i+interval-1)+" pts. EP +"+EPCalc(voltage,i,tbonus)+". Remaining:"+(end-start)+" EP \n" + return true + } + }*/ + for (var i = maxscore; i >= 0; i -= interval) { + if ( + EvenOdd(start + EPCalc(voltage, i, tbonus)) != EvenOdd(end - 10) && + start + EPCalc(voltage, i, tbonus) == end + ) { + //document.getElementById("console").value+="Ending value needs to be "+EvenOdd(end-10)+"\n" + //document.getElementById("console").value+=EvenOdd(start+EPCalc(voltage,i,tbonus))+"/"+EvenOdd(end-10)+"\n" + start += EPCalc(voltage, i, tbonus); + flameCount += voltage; + document.getElementById("console").value += + "Step " + + step++ + + ") Using " + + voltage + + " voltage w/" + + Math.round(tbonus * 100) + + "% team, score between " + + i + + "~" + + (i + interval - 1) + + " pts. EP +" + + EPCalc(voltage, i, tbonus) + + ". Remaining:" + + (end - start) + + " EP \n"; + return true; + } + } + return false; + } + + function TryEqualGain(voltage, tbonus) { + for (var i = maxscore; i >= 0; i -= interval) { + //document.getElementById("console").value+=(start+EPCalc(voltage,i,tbonus))+"/"+end+"\n" + if (start + EPCalc(voltage, i, tbonus) == end) { + //document.getElementById("console").value+="Ending value needs to be "+EvenOdd(end-10)+"\n" + //document.getElementById("console").value+=EvenOdd(start+EPCalc(voltage,i,tbonus))+"/"+EvenOdd(end-10)+"\n" + start += EPCalc(voltage, i, tbonus); + flameCount += voltage; + document.getElementById("console").value += + "Step " + + step++ + + ") Using " + + voltage + + " voltage w/" + + Math.round(tbonus * 100) + + "% team, score between " + + i + + "~" + + (i + interval - 1) + + " pts. EP +" + + EPCalc(voltage, i, tbonus) + + ". Remaining:" + + (end - start) + + " EP \n"; + return true; + } + } + if (end == start) { + return false; + } else { + return undefined; + } + } + + function TryMatchingRehearsal(tbonus) { + //document.getElementById("console").value+=(Math.round(tbonus*10))+10 + if (end - start == Math.round(tbonus * 10) + 10) { + var gain = Math.round(tbonus * 10) + 10; + start += gain; + document.getElementById("console").value += + "Step " + + step++ + + ") Use Rehearsal w/" + + Math.round(tbonus * 100) + + "% team. EP +" + + gain + + ". Remaining:" + + (end - start) + + " EP \n"; + return false; + } + return true; + } + + function TryRehearsal(tbonus) { + if (end == start) { + return false; + } + var voltage = 0; + if ((end - start) % 2 !== 0) { + return undefined; + } + + if (end - start > 10 + Math.round(tbonus * 10) + 10) { + var gain = 10 + Math.round(tbonus * 10); + start += gain; + document.getElementById("console").value += + "Step " + + step++ + + ") Use Rehearsal w/" + + tbonus * 100 + + "% team. EP +" + + gain + + ". Remaining:" + + (end - start) + + " EP \n"; + return true; + } else if (end - start >= 20) { + var gain = end - start - 10; + start += gain; + document.getElementById("console").value += + "Step " + + step++ + + ") Use Rehearsal w/" + + (gain - 10) * 10 + + "% team. EP +" + + gain + + ". Remaining:" + + (end - start) + + " EP \n"; + return true; + } else if ((end - start) % 10 == 0) { + var gain = 10; + start += gain; + document.getElementById("console").value += + "Step " + + step++ + + ") Use Rehearsal w/0% team. EP +" + + gain + + ". Remaining:" + + (end - start) + + " EP \n"; + return false; + } else { + var gain = end - start; + start += gain; + document.getElementById("console").value += + "Step " + + step++ + + ") Use Rehearsal w/" + + (gain - 10) * 10 + + "% team. EP +" + + gain + + ". Remaining:" + + (end - start) + + " EP \n"; + return false; + } + + return false; + /*var voltage=0 + if (end-start>36) { + start+=26 + document.getElementById("console").value+="Step "+(step++)+") Use Rehearsal w/"+(1.6*100)+"% team. EP +"+EPCalc(voltage,1,1.6)+". Remaining:"+(end-start)+" EP \n" + return true + } else + if (end-start>20) { + var bonus = (end-start-20)*10 + var gain = end-start-10 + start+=end-start-10 + document.getElementById("console").value+="Step "+(step++)+") Use Rehearsal w/"+(bonus)+"% team. EP +"+gain+". Remaining:"+(end-start)+" EP \n" + if ((bonus/10)%2!=0) { + return undefined + } else { + return true + } + } else { + if (end-start<10||(end-start)%2!=0) { + return undefined + } + var bonus = ((end-start-10)/20)*2 + start+=end-start + document.getElementById("console").value+="Step "+(step++)+") Use Rehearsal w/"+((bonus)*100)+"% team. EP +"+EPCalc(voltage,1,bonus)+". Remaining:"+(end-start)+" EP \n" + + return false + } + return true*/ + } + + if (end - start > 1000000) { + document.getElementById("console").value = + "Get closer to target score before using parking calculator!"; + } else { + var result = true; + while (start != end) { + if (flexible) { + for (var j = bonus; j >= 0; j -= 0.2) { + while (TryBiggestGain(j)) { + //document.getElementById("console").value+=+start+" EP"+"\n" + } + for (var i = 4; i > 0; i--) { + while (TrySmallerGain(i, j)) { + //document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n" + } + } + for (var i = 5; i > 0; i--) { + while (TrySmolGain(i, j)) { + //document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n" + } + } + } + } else { + while (TryBiggestGain(bonus)) { + //document.getElementById("console").value+=+start+" EP"+"\n" + } + for (var i = 4; i > 0; i--) { + while (TrySmallerGain(i, bonus)) { + //document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n" + } + } + for (var i = 5; i > 0; i--) { + while (TrySmolGain(i, bonus)) { + //document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n" + } + } + } + for (var j = bonus; j >= 0; j -= 0.2) { + result = TryMatchingRehearsal(j); + if (!result) { + break; + } + } + if (result) { + for (var j = 1.6; j >= 0; j -= 0.2) { + result = TryMatchingRehearsal(j); + if (!result) { + break; + } + } + } + if (result) { + do { + if (flexible) { + for (var j = bonus; j >= 0; j -= 0.2) { + result = TryRehearsal(j); + } + } else { + result = TryRehearsal(bonus); + } + } while (result); + } + + if (flexible) { + for (var i = 5; i > 0; i--) { + for (var j = bonus; j >= 0; j -= 0.2) { + while ((result = TryEqualGain(i, j))) { + //document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n" + } + } + } + } else { + for (var i = 5; i > 0; i--) { + while ((result = TryEqualGain(i, bonus))) { + //document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n" + } + } + } + + start = end; + if (result === undefined) { + document.getElementById("console").value = + "Impossible to park using this team!"; + } else { + document.getElementById("console").value = + "Calculating from " + + originalTarget + + " to " + + end + + " for event type " + + type + + "...\n\t(All games are done in Free Live)\n\nFound a park! " + + (step - 1) + + " steps and " + + flameCount + + " voltage required!\n\n" + + document.getElementById("console").value; + } + //document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n" + step++; + } + } +} diff --git a/parkingcalc.html b/parkingcalc.html index 1617382..b2e8255 100644 --- a/parkingcalc.html +++ b/parkingcalc.html @@ -1,358 +1,76 @@ - + + +

D4DJ Event Parking Calculator

- const MAXSTEPS= 10000 +
+ Parking Configuration + + +     + + +     + + +     +
+ + +      + If turned on, calculates scoring options using lower % teams also. +
+
+ +
+ + + +
+
+ +
+
+ +
- function test(){ - var start = Math.abs(Number(document.getElementById("starting").value)) - var end = Math.abs(Number(document.getElementById("ending").value)) - var maxscore = Math.abs(Number(document.getElementById("maxscore").value)) - var bonus = Number(document.getElementById("team").value) - var type = (document.getElementById("Bingo").checked?"Bingo": - document.getElementById("Poker").checked?"Poker/Raid": - "Medley") - var flexible = document.getElementById("flexible").checked - //document.getElementById("console").value=flexible+"...\n\n" - var step=1 - var flameCount=0 - var originalTarget=start - document.getElementById("console").value="" - - var interval = (type=="Medley")?15000:10000 - - maxscore=Math.floor(maxscore/interval)*interval - - function EPCalc(voltage,score,bonus) { - if (voltage>0) { - switch (type) { - case "Bingo":{ - return voltage * Math.floor((1 + bonus)*Math.max(10,Math.floor(score/interval))) - }break; - case "Medley":{ - return voltage * Math.floor((1 + bonus)*(10+Math.floor(score/interval))) - }break; - case "Poker/Raid":{ - return voltage * Math.floor((1 + bonus)*(50 + Math.floor(score/interval))) - }break; - } - } else { - return Math.round(bonus*10)+10 - } - } - - function EvenOdd(val) { - return val%2==0?"even":"odd" - } - - function TryBiggestGain(tbonus) { - var voltage=5 - for (var i=maxscore;i>=maxscore*0.8;i-=interval) { - if (start+EPCalc(voltage,i,tbonus)=maxscore*0.8;i-=interval) { - if (start+EPCalc(voltage,i,tbonus)=0;i-=interval) { - if (EPCalc(voltage,i,tbonus)>=(10+Math.round(bonus*10))&&(start+EPCalc(voltage,i,tbonus)<=end-(10+Math.round(bonus*10)))) { - //document.getElementById("console").value+="Ending value needs to be "+EvenOdd(end-10)+"\n" - if (EvenOdd(start+EPCalc(voltage,i,tbonus))==EvenOdd(end-10)) { - //document.getElementById("console").value+=EvenOdd(start+EPCalc(voltage,i,tbonus))+"/"+EvenOdd(end-10)+"\n" - start+=EPCalc(voltage,i,tbonus) - flameCount+=voltage - document.getElementById("console").value+="Step "+(step++)+") Using "+voltage+" voltage w/"+Math.round(tbonus*100)+"% team, score between "+i+"~"+(i+interval-1)+" pts. EP +"+EPCalc(voltage,i,tbonus)+". Remaining:"+(end-start)+" EP \n" - return true - } - } - } - for (var i=maxscore;i>=0;i-=interval) { - if (EvenOdd(start+EPCalc(voltage,i,tbonus))!=EvenOdd(end-10)&&(start+EPCalc(voltage,i,tbonus))==end) { - //document.getElementById("console").value+="Ending value needs to be "+EvenOdd(end-10)+"\n" - //document.getElementById("console").value+=EvenOdd(start+EPCalc(voltage,i,tbonus))+"/"+EvenOdd(end-10)+"\n" - start+=EPCalc(voltage,i,tbonus) - flameCount+=voltage - document.getElementById("console").value+="Step "+(step++)+") Using "+voltage+" voltage w/"+Math.round(tbonus*100)+"% team, score between "+i+"~"+(i+interval-1)+" pts. EP +"+EPCalc(voltage,i,tbonus)+". Remaining:"+(end-start)+" EP \n" - return true - } - } - /*for (var i=maxscore;i>=0;i-=interval) { - if ((start+EPCalc(voltage,i,tbonus))==end) { - //document.getElementById("console").value+="Ending value needs to be "+EvenOdd(end-10)+"\n" - //document.getElementById("console").value+=EvenOdd(start+EPCalc(voltage,i,tbonus))+"/"+EvenOdd(end-10)+"\n" - start+=EPCalc(voltage,i,tbonus) - flameCount+=voltage - document.getElementById("console").value+="Step "+(step++)+") Using "+voltage+" voltage w/"+Math.round(tbonus*100)+"% team, score between "+i+"~"+(i+interval-1)+" pts. EP +"+EPCalc(voltage,i,tbonus)+". Remaining:"+(end-start)+" EP \n" - return true - } - }*/ - for (var i=maxscore;i>=0;i-=interval) { - if (EvenOdd(start+EPCalc(voltage,i,tbonus))!=EvenOdd(end-10)&&(start+EPCalc(voltage,i,tbonus))==end) { - //document.getElementById("console").value+="Ending value needs to be "+EvenOdd(end-10)+"\n" - //document.getElementById("console").value+=EvenOdd(start+EPCalc(voltage,i,tbonus))+"/"+EvenOdd(end-10)+"\n" - start+=EPCalc(voltage,i,tbonus) - flameCount+=voltage - document.getElementById("console").value+="Step "+(step++)+") Using "+voltage+" voltage w/"+Math.round(tbonus*100)+"% team, score between "+i+"~"+(i+interval-1)+" pts. EP +"+EPCalc(voltage,i,tbonus)+". Remaining:"+(end-start)+" EP \n" - return true - } - } - return false - } - - function TryEqualGain(voltage,tbonus) { - for (var i=maxscore;i>=0;i-=interval) { - //document.getElementById("console").value+=(start+EPCalc(voltage,i,tbonus))+"/"+end+"\n" - if ((start+EPCalc(voltage,i,tbonus))==end) { - //document.getElementById("console").value+="Ending value needs to be "+EvenOdd(end-10)+"\n" - //document.getElementById("console").value+=EvenOdd(start+EPCalc(voltage,i,tbonus))+"/"+EvenOdd(end-10)+"\n" - start+=EPCalc(voltage,i,tbonus) - flameCount+=voltage - document.getElementById("console").value+="Step "+(step++)+") Using "+voltage+" voltage w/"+Math.round(tbonus*100)+"% team, score between "+i+"~"+(i+interval-1)+" pts. EP +"+EPCalc(voltage,i,tbonus)+". Remaining:"+(end-start)+" EP \n" - return true - } - } - if (end==start) { - return false - } else { - return undefined - } - } - - function TryMatchingRehearsal(tbonus) { - //document.getElementById("console").value+=(Math.round(tbonus*10))+10 - if (end-start==(Math.round(tbonus*10))+10) { - var gain=(Math.round(tbonus*10))+10 - start+=gain - document.getElementById("console").value+="Step "+(step++)+") Use Rehearsal w/"+Math.round(tbonus*100)+"% team. EP +"+gain+". Remaining:"+(end-start)+" EP \n" - return false - } - return true - } - - function TryRehearsal(tbonus) { - if (end==start) { - return false - } - var voltage=0 - if ((end-start)%2!==0) { - return undefined - } - - if (end-start>(10+Math.round(tbonus*10))+10) { - var gain=(10+Math.round(tbonus*10)) - start+=gain - document.getElementById("console").value+="Step "+(step++)+") Use Rehearsal w/"+(tbonus*100)+"% team. EP +"+gain+". Remaining:"+(end-start)+" EP \n" - return true - } else - if (end-start>=20) { - var gain=end-start-10 - start+=gain - document.getElementById("console").value+="Step "+(step++)+") Use Rehearsal w/"+((gain-10)*10)+"% team. EP +"+gain+". Remaining:"+(end-start)+" EP \n" - return true - } else - if ((end-start)%10==0) { - var gain=10 - start+=gain - document.getElementById("console").value+="Step "+(step++)+") Use Rehearsal w/0% team. EP +"+gain+". Remaining:"+(end-start)+" EP \n" - return false - } else - { - var gain=end-start - start+=gain - document.getElementById("console").value+="Step "+(step++)+") Use Rehearsal w/"+((gain-10)*10)+"% team. EP +"+(gain)+". Remaining:"+(end-start)+" EP \n" - return false - } - - return false - /*var voltage=0 - if (end-start>36) { - start+=26 - document.getElementById("console").value+="Step "+(step++)+") Use Rehearsal w/"+(1.6*100)+"% team. EP +"+EPCalc(voltage,1,1.6)+". Remaining:"+(end-start)+" EP \n" - return true - } else - if (end-start>20) { - var bonus = (end-start-20)*10 - var gain = end-start-10 - start+=end-start-10 - document.getElementById("console").value+="Step "+(step++)+") Use Rehearsal w/"+(bonus)+"% team. EP +"+gain+". Remaining:"+(end-start)+" EP \n" - if ((bonus/10)%2!=0) { - return undefined - } else { - return true - } - } else { - if (end-start<10||(end-start)%2!=0) { - return undefined - } - var bonus = ((end-start-10)/20)*2 - start+=end-start - document.getElementById("console").value+="Step "+(step++)+") Use Rehearsal w/"+((bonus)*100)+"% team. EP +"+EPCalc(voltage,1,bonus)+". Remaining:"+(end-start)+" EP \n" - - return false - } - return true*/ - } - - if ((end-start)>1000000) { - document.getElementById("console").value="Get closer to target score before using parking calculator!" - } - else { - var result=true - while (start!=end) { - if (flexible) { - for (var j=bonus;j>=0;j-=0.2) { - while (TryBiggestGain(j)) { - //document.getElementById("console").value+=+start+" EP"+"\n" - } - for (var i=4;i>0;i--) { - while (TrySmallerGain(i,j)) { - //document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n" - } - } - for (var i=5;i>0;i--) { - while (TrySmolGain(i,j)) { - //document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n" - } - } - } - } else { - while (TryBiggestGain(bonus)) { - //document.getElementById("console").value+=+start+" EP"+"\n" - } - for (var i=4;i>0;i--) { - while (TrySmallerGain(i,bonus)) { - //document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n" - } - } - for (var i=5;i>0;i--) { - while (TrySmolGain(i,bonus)) { - //document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n" - } - } - } - for (var j=bonus;j>=0;j-=0.2) { - result = TryMatchingRehearsal(j) - if (!result) { - break; - } - } - if (result) { - for (var j=1.6;j>=0;j-=0.2) { - result = TryMatchingRehearsal(j) - if (!result) { - break; - } - } - } - if (result) { - do { - if (flexible) { - for (var j=bonus;j>=0;j-=0.2) { - result = TryRehearsal(j) - } - } else { - result = TryRehearsal(bonus) - } - } while (result); - } - - - if (flexible) { - for (var i=5;i>0;i--) { - for (var j=bonus;j>=0;j-=0.2) { - while (result = TryEqualGain(i,j)) { - //document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n" - } - } - } - } else { - for (var i=5;i>0;i--) { - while (result = TryEqualGain(i,bonus)) { - //document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n" - } - } - } - - start=end - if (result===undefined) { - document.getElementById("console").value="Impossible to park using this team!" - } else { - document.getElementById("console").value="Calculating from "+originalTarget+" to "+end+" for event type "+type+"...\n\t(All games are done in Free Live)\n\nFound a park! "+(step-1)+" steps and "+flameCount+" voltage required!\n\n"+document.getElementById("console").value - } - //document.getElementById("console").value+="Step "+(step++)+")"+start+" EP"+"\n" - step++ - } - } - } - - -

D4DJ Event Parking Calculator

- -
- Parking Configuration - - -     - - -     - - -     -
- - -      If turned on, calculates scoring options using lower % teams also. -
-
- -
- - - -
-
- -
-
-
- -
- - + + +