mirror of
https://github.com/Team254/cheesy-arena-lite.git
synced 2026-03-09 21:56:50 -04:00
Update final scores screen for 2018.
This commit is contained in:
@@ -40,12 +40,20 @@ func (score *Score) Summarize(opponentFouls []Foul) *ScoreSummary {
|
||||
}
|
||||
|
||||
// Calculate autonomous score.
|
||||
summary.AutoRunPoints = 5 * score.AutoRuns
|
||||
autoRuns := score.AutoRuns
|
||||
if autoRuns > 3 {
|
||||
autoRuns = 3
|
||||
}
|
||||
summary.AutoRunPoints = 5 * autoRuns
|
||||
summary.AutoPoints = summary.AutoRunPoints + score.AutoOwnershipPoints
|
||||
|
||||
// Calculate teleop score.
|
||||
summary.OwnershipPoints = score.AutoOwnershipPoints + score.TeleopOwnershipPoints
|
||||
summary.VaultPoints = 5 * score.VaultCubes
|
||||
vaultCubes := score.VaultCubes
|
||||
if vaultCubes > 9 {
|
||||
vaultCubes = 9
|
||||
}
|
||||
summary.VaultPoints = 5 * vaultCubes
|
||||
climbs := score.Climbs
|
||||
if climbs > 3 {
|
||||
climbs = 3
|
||||
@@ -60,7 +68,7 @@ func (score *Score) Summarize(opponentFouls []Foul) *ScoreSummary {
|
||||
summary.ParkClimbPoints = 5*parks + 30*climbs
|
||||
|
||||
// Calculate bonuses.
|
||||
if score.AutoRuns == 3 && score.AutoEndSwitchOwnership {
|
||||
if autoRuns == 3 && score.AutoEndSwitchOwnership {
|
||||
summary.AutoQuest = true
|
||||
}
|
||||
if climbs == 3 {
|
||||
|
||||
@@ -34,7 +34,11 @@ func TestScoreSummary(t *testing.T) {
|
||||
assert.Equal(t, true, blueSummary.AutoQuest)
|
||||
assert.Equal(t, false, blueSummary.FaceTheBoss)
|
||||
|
||||
// Test park/climb limits.
|
||||
// Test limits on fields with a natural cap.
|
||||
blueScore.AutoRuns = 5
|
||||
assert.Equal(t, 15, blueScore.Summarize(redScore.Fouls).AutoRunPoints)
|
||||
redScore.VaultCubes = 20
|
||||
assert.Equal(t, 45, redScore.Summarize(blueScore.Fouls).VaultPoints)
|
||||
redScore.Levitate = false
|
||||
redScore.Climbs = 3
|
||||
assert.Equal(t, 90, redScore.Summarize(blueScore.Fouls).ParkClimbPoints)
|
||||
@@ -52,6 +56,7 @@ func TestScoreSummary(t *testing.T) {
|
||||
assert.Equal(t, 40, redScore.Summarize(blueScore.Fouls).ParkClimbPoints)
|
||||
|
||||
// Test Auto Quest boundary conditions.
|
||||
assert.Equal(t, true, blueScore.Summarize(redScore.Fouls).AutoQuest)
|
||||
blueScore.AutoEndSwitchOwnership = false
|
||||
assert.Equal(t, false, blueScore.Summarize(redScore.Fouls).AutoQuest)
|
||||
blueScore.AutoEndSwitchOwnership = true
|
||||
|
||||
@@ -7,7 +7,6 @@ package led
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"net"
|
||||
)
|
||||
|
||||
@@ -210,7 +209,6 @@ func createBlankPacket(numPixels int) []byte {
|
||||
}
|
||||
|
||||
func (controller *Controller) sendPacket(dmxUniverse int) error {
|
||||
log.Printf("Sending packet for universe %d\n", dmxUniverse)
|
||||
// Update non-static packet fields.
|
||||
controller.packet[111]++
|
||||
controller.packet[113] = byte(dmxUniverse >> 8)
|
||||
|
||||
@@ -53,11 +53,11 @@ var handleMatchTime = function(data) {
|
||||
// Handles a websocket message to update the match score.
|
||||
var handleRealtimeScore = function(data) {
|
||||
$("#redScoreNumber").text(data.RedScoreSummary.Score);
|
||||
$("#redPressurePoints").text(data.RedScoreSummary.PressurePoints);
|
||||
$("#redOwnershipPoints").text(data.RedScoreSummary.OwnershipPoints);
|
||||
$("#redRotors").text(data.RedScore.AutoRotors + data.RedScore.Rotors);
|
||||
$("#redTakeoffs").text(data.RedScore.Takeoffs);
|
||||
$("#blueScoreNumber").text(data.BlueScoreSummary.Score);
|
||||
$("#bluePressurePoints").text(data.BlueScoreSummary.PressurePoints);
|
||||
$("#blueOwnershipPoints").text(data.BlueScoreSummary.OwnershipPoints);
|
||||
$("#blueRotors").text(data.BlueScore.AutoRotors + data.BlueScore.Rotors);
|
||||
$("#blueTakeoffs").text(data.BlueScore.Takeoffs);
|
||||
};
|
||||
@@ -68,28 +68,28 @@ var handleSetFinalScore = function(data) {
|
||||
$("#redFinalTeam1").text(data.Match.Red1);
|
||||
$("#redFinalTeam2").text(data.Match.Red2);
|
||||
$("#redFinalTeam3").text(data.Match.Red3);
|
||||
$("#redFinalAutoMobilityPoints").text(data.RedScore.AutoMobilityPoints);
|
||||
$("#redFinalPressurePoints").text(data.RedScore.PressurePoints);
|
||||
$("#redFinalRotorPoints").text(data.RedScore.RotorPoints);
|
||||
$("#redFinalTakeoffPoints").text(data.RedScore.TakeoffPoints);
|
||||
$("#redFinalAutoRunPoints").text(data.RedScore.AutoRunPoints);
|
||||
$("#redFinalOwnershipPoints").text(data.RedScore.OwnershipPoints);
|
||||
$("#redFinalVaultPoints").text(data.RedScore.VaultPoints);
|
||||
$("#redFinalParkClimbPoints").text(data.RedScore.ParkClimbPoints);
|
||||
$("#redFinalFoulPoints").text(data.RedScore.FoulPoints);
|
||||
$("#redFinalPressureGoalReached").html(data.RedScore.PressureGoalReached ? "✔" : "✘");
|
||||
$("#redFinalPressureGoalReached").attr("data-checked", data.RedScore.PressureGoalReached);
|
||||
$("#redFinalRotorGoalReached").html(data.RedScore.RotorGoalReached ? "✔" : "✘");
|
||||
$("#redFinalRotorGoalReached").attr("data-checked", data.RedScore.RotorGoalReached);
|
||||
$("#redFinalAutoQuest").html(data.RedScore.AutoQuest ? "✔" : "✘");
|
||||
$("#redFinalAutoQuest").attr("data-checked", data.RedScore.AutoQuest);
|
||||
$("#redFinalFaceTheBoss").html(data.RedScore.FaceTheBoss ? "✔" : "✘");
|
||||
$("#redFinalFaceTheBoss").attr("data-checked", data.RedScore.FaceTheBoss);
|
||||
$("#blueFinalScore").text(data.BlueScore.Score);
|
||||
$("#blueFinalTeam1").text(data.Match.Blue1);
|
||||
$("#blueFinalTeam2").text(data.Match.Blue2);
|
||||
$("#blueFinalTeam3").text(data.Match.Blue3);
|
||||
$("#blueFinalAutoMobilityPoints").text(data.BlueScore.AutoMobilityPoints);
|
||||
$("#blueFinalPressurePoints").text(data.BlueScore.PressurePoints);
|
||||
$("#blueFinalRotorPoints").text(data.BlueScore.RotorPoints);
|
||||
$("#blueFinalTakeoffPoints").text(data.BlueScore.TakeoffPoints);
|
||||
$("#blueFinalAutoRunPoints").text(data.BlueScore.AutoRunPoints);
|
||||
$("#blueFinalOwnershipPoints").text(data.BlueScore.OwnershipPoints);
|
||||
$("#blueFinalVaultPoints").text(data.BlueScore.VaultPoints);
|
||||
$("#blueFinalParkClimbPoints").text(data.BlueScore.ParkClimbPoints);
|
||||
$("#blueFinalFoulPoints").text(data.BlueScore.FoulPoints);
|
||||
$("#blueFinalPressureGoalReached").html(data.BlueScore.PressureGoalReached ? "✔" : "✘");
|
||||
$("#blueFinalPressureGoalReached").attr("data-checked", data.BlueScore.PressureGoalReached);
|
||||
$("#blueFinalRotorGoalReached").html(data.BlueScore.RotorGoalReached ? "✔" : "✘");
|
||||
$("#blueFinalRotorGoalReached").attr("data-checked", data.BlueScore.RotorGoalReached);
|
||||
$("#blueFinalAutoQuest").html(data.BlueScore.AutoQuest ? "✔" : "✘");
|
||||
$("#blueFinalAutoQuest").attr("data-checked", data.BlueScore.AutoQuest);
|
||||
$("#blueFinalFaceTheBoss").html(data.BlueScore.FaceTheBoss ? "✔" : "✘");
|
||||
$("#blueFinalFaceTheBoss").attr("data-checked", data.BlueScore.FaceTheBoss);
|
||||
$("#finalMatchName").text(data.MatchName + " " + data.Match.DisplayName);
|
||||
};
|
||||
|
||||
|
||||
@@ -99,27 +99,27 @@
|
||||
</div>
|
||||
<div class="final-breakdown" id="redFinalBreakdown">
|
||||
<span class="valign-cell">
|
||||
<span id="redFinalAutoMobilityPoints"></span><br />
|
||||
<span id="redFinalPressurePoints"></span><br />
|
||||
<span id="redFinalRotorPoints"></span><br />
|
||||
<span id="redFinalTakeoffPoints"></span><br />
|
||||
<span id="redFinalAutoRunPoints"></span><br />
|
||||
<span id="redFinalOwnershipPoints"></span><br />
|
||||
<span id="redFinalVaultPoints"></span><br />
|
||||
<span id="redFinalParkClimbPoints"></span><br />
|
||||
<span id="redFinalFoulPoints"></span><br />
|
||||
<span id="redFinalPressureGoalReached"></span><br />
|
||||
<span id="redFinalRotorGoalReached"></span><br />
|
||||
<span id="redFinalAutoQuest"></span><br />
|
||||
<span id="redFinalFaceTheBoss"></span><br />
|
||||
</span>
|
||||
</div>
|
||||
<div class="final-breakdown" id="centerFinalBreakdown">
|
||||
<span class="valign-cell">Auto Mobility<br />Pressure<br />Rotor<br />Ready for Takeoff<br />Foul<br />Pressure Bonus<br />Rotor Bonus</span>
|
||||
<span class="valign-cell">Auto Run<br />Ownership<br />Vault<br />Endgame<br />Foul<br />Auto Quest<br />Face The Boss</span>
|
||||
</div>
|
||||
<div class="final-breakdown" id="blueFinalBreakdown">
|
||||
<span class="valign-cell">
|
||||
<span id="blueFinalAutoMobilityPoints"></span><br />
|
||||
<span id="blueFinalPressurePoints"></span><br />
|
||||
<span id="blueFinalRotorPoints"></span><br />
|
||||
<span id="blueFinalTakeoffPoints"></span><br />
|
||||
<span id="blueFinalAutoRunPoints"></span><br />
|
||||
<span id="blueFinalOwnershipPoints"></span><br />
|
||||
<span id="blueFinalVaultPoints"></span><br />
|
||||
<span id="blueFinalParkClimbPoints"></span><br />
|
||||
<span id="blueFinalFoulPoints"></span><br />
|
||||
<span id="blueFinalPressureGoalReached"></span><br />
|
||||
<span id="blueFinalRotorGoalReached"></span><br />
|
||||
<span id="blueFinalAutoQuest"></span><br />
|
||||
<span id="blueFinalFaceTheBoss"></span><br />
|
||||
</span>
|
||||
</div>
|
||||
<div id="finalEventMatchInfo">
|
||||
|
||||
Reference in New Issue
Block a user