horse: use straight front type in racecourse api
This commit is contained in:
+3
-4
@@ -139,9 +139,8 @@ func spansslopes(id horse.RacecourseID, evts []courseEvent, length float32) ([]h
|
|||||||
}
|
}
|
||||||
// Start of the straight.
|
// Start of the straight.
|
||||||
span = horse.RacecourseSpan{
|
span = horse.RacecourseSpan{
|
||||||
Start: evt.Distance,
|
Start: evt.Distance,
|
||||||
Straight: true,
|
Straight: int8(evt.Values[1]),
|
||||||
FarStraight: evt.Values[1] == 2,
|
|
||||||
}
|
}
|
||||||
// Continue out of the switch.
|
// Continue out of the switch.
|
||||||
}
|
}
|
||||||
@@ -154,7 +153,7 @@ func spansslopes(id horse.RacecourseID, evts []courseEvent, length float32) ([]h
|
|||||||
// Longchamp 1000 (which doesn't appear to actually be used but w/e)
|
// Longchamp 1000 (which doesn't appear to actually be used but w/e)
|
||||||
// defines straights by their start positions only, so check for the
|
// defines straights by their start positions only, so check for the
|
||||||
// previous event being a straight with no end.
|
// previous event being a straight with no end.
|
||||||
if prev.Straight && prev.End == 0 {
|
if prev.Straight != 0 && prev.End == 0 {
|
||||||
spans[len(spans)-1].End = span.Start
|
spans[len(spans)-1].End = span.Start
|
||||||
} else {
|
} else {
|
||||||
// Otherwise, insert a new span which is neither straight nor corner.
|
// Otherwise, insert a new span which is neither straight nor corner.
|
||||||
|
|||||||
+24
-29
@@ -35,7 +35,7 @@ func TestRacecourses(t *testing.T) {
|
|||||||
{
|
{
|
||||||
Start: 0,
|
Start: 0,
|
||||||
End: 649.9000244140625,
|
End: 649.9000244140625,
|
||||||
Straight: true,
|
Straight: 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Start: 649.9000244140625,
|
Start: 649.9000244140625,
|
||||||
@@ -44,7 +44,7 @@ func TestRacecourses(t *testing.T) {
|
|||||||
{
|
{
|
||||||
Start: 650,
|
Start: 650,
|
||||||
End: 1000,
|
End: 1000,
|
||||||
Straight: true,
|
Straight: 1,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Slopes: []horse.Slope{},
|
Slopes: []horse.Slope{},
|
||||||
@@ -64,10 +64,9 @@ func TestRacecourses(t *testing.T) {
|
|||||||
LaneStart: [18]horse.TenThousandths{0, 555, 1111, 1666, 2222, 2777, 3333, 3888, 4444, 5333, 5888, 6444, 7000, 7555, 8111, 8666, 9222, 9777},
|
LaneStart: [18]horse.TenThousandths{0, 555, 1111, 1666, 2222, 2777, 3333, 3888, 4444, 5333, 5888, 6444, 7000, 7555, 8111, 8666, 9222, 9777},
|
||||||
Spans: []horse.RacecourseSpan{
|
Spans: []horse.RacecourseSpan{
|
||||||
{
|
{
|
||||||
Start: 0,
|
Start: 0,
|
||||||
End: 458,
|
End: 458,
|
||||||
Straight: true,
|
Straight: 2,
|
||||||
FarStraight: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Start: 458,
|
Start: 458,
|
||||||
@@ -82,7 +81,7 @@ func TestRacecourses(t *testing.T) {
|
|||||||
{
|
{
|
||||||
Start: 958,
|
Start: 958,
|
||||||
End: 1450,
|
End: 1450,
|
||||||
Straight: true,
|
Straight: 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Start: 1450,
|
Start: 1450,
|
||||||
@@ -95,10 +94,9 @@ func TestRacecourses(t *testing.T) {
|
|||||||
Corner: 2,
|
Corner: 2,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Start: 1850,
|
Start: 1850,
|
||||||
End: 2300,
|
End: 2300,
|
||||||
Straight: true,
|
Straight: 2,
|
||||||
FarStraight: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Start: 2300,
|
Start: 2300,
|
||||||
@@ -113,7 +111,7 @@ func TestRacecourses(t *testing.T) {
|
|||||||
{
|
{
|
||||||
Start: 2797,
|
Start: 2797,
|
||||||
End: 3200,
|
End: 3200,
|
||||||
Straight: true,
|
Straight: 1,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Slopes: []horse.Slope{
|
Slopes: []horse.Slope{
|
||||||
@@ -166,7 +164,7 @@ func TestRacecourses(t *testing.T) {
|
|||||||
{
|
{
|
||||||
Start: 0,
|
Start: 0,
|
||||||
End: 500,
|
End: 500,
|
||||||
Straight: true,
|
Straight: 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Start: 500,
|
Start: 500,
|
||||||
@@ -179,10 +177,9 @@ func TestRacecourses(t *testing.T) {
|
|||||||
Corner: 2,
|
Corner: 2,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Start: 800,
|
Start: 800,
|
||||||
End: 1300,
|
End: 1300,
|
||||||
Straight: true,
|
Straight: 2,
|
||||||
FarStraight: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Start: 1300,
|
Start: 1300,
|
||||||
@@ -197,7 +194,7 @@ func TestRacecourses(t *testing.T) {
|
|||||||
{
|
{
|
||||||
Start: 1614,
|
Start: 1614,
|
||||||
End: 2000,
|
End: 2000,
|
||||||
Straight: true,
|
Straight: 1,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Slopes: []horse.Slope{},
|
Slopes: []horse.Slope{},
|
||||||
@@ -217,10 +214,9 @@ func TestRacecourses(t *testing.T) {
|
|||||||
LaneStart: [18]horse.TenThousandths{0, 555, 1111, 1666, 2222, 2777, 3333, 3888, 4444, 5000, 5555, 6111, 6666, 7222, 8811, 9366, 9922, 10477},
|
LaneStart: [18]horse.TenThousandths{0, 555, 1111, 1666, 2222, 2777, 3333, 3888, 4444, 5000, 5555, 6111, 6666, 7222, 8811, 9366, 9922, 10477},
|
||||||
Spans: []horse.RacecourseSpan{
|
Spans: []horse.RacecourseSpan{
|
||||||
{
|
{
|
||||||
Start: 0,
|
Start: 0,
|
||||||
End: 798,
|
End: 798,
|
||||||
Straight: true,
|
Straight: 2,
|
||||||
FarStraight: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Start: 798,
|
Start: 798,
|
||||||
@@ -239,7 +235,7 @@ func TestRacecourses(t *testing.T) {
|
|||||||
{
|
{
|
||||||
Start: 1600,
|
Start: 1600,
|
||||||
End: 2400,
|
End: 2400,
|
||||||
Straight: true,
|
Straight: 1,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Slopes: []horse.Slope{},
|
Slopes: []horse.Slope{},
|
||||||
@@ -265,7 +261,7 @@ func TestRacecourses(t *testing.T) {
|
|||||||
{
|
{
|
||||||
Start: 100,
|
Start: 100,
|
||||||
End: 500,
|
End: 500,
|
||||||
Straight: true,
|
Straight: 1,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Start: 500,
|
Start: 500,
|
||||||
@@ -278,10 +274,9 @@ func TestRacecourses(t *testing.T) {
|
|||||||
Corner: 2,
|
Corner: 2,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Start: 900,
|
Start: 900,
|
||||||
End: 1300,
|
End: 1300,
|
||||||
Straight: true,
|
Straight: 2,
|
||||||
FarStraight: true,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Start: 1300,
|
Start: 1300,
|
||||||
@@ -296,7 +291,7 @@ func TestRacecourses(t *testing.T) {
|
|||||||
{
|
{
|
||||||
Start: 1700,
|
Start: 1700,
|
||||||
End: 2000,
|
End: 2000,
|
||||||
Straight: true,
|
Straight: 1,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Slopes: []horse.Slope{
|
Slopes: []horse.Slope{
|
||||||
|
|||||||
@@ -46,11 +46,9 @@ type RacecourseSpan struct {
|
|||||||
Start float32 `json:"start"`
|
Start float32 `json:"start"`
|
||||||
// End is the distance in meters along the track at which the span ends.
|
// End is the distance in meters along the track at which the span ends.
|
||||||
End float32 `json:"end"`
|
End float32 `json:"end"`
|
||||||
// Straight is whether the span is formally a straight.
|
// Straight is the straight type if the span is formally a straight.
|
||||||
Straight bool `json:"straight,omitzero"`
|
// 1 indicates the front stretch and 2 the backstretch.
|
||||||
// FarStraight is whether the span is the backstretch.
|
Straight int8 `json:"straight,omitzero"`
|
||||||
// If true, then Straight is also true.
|
|
||||||
FarStraight bool `json:"far_straight,omitzero"`
|
|
||||||
// Corner is the corner number of the span, or zero if not a corner.
|
// Corner is the corner number of the span, or zero if not a corner.
|
||||||
Corner int8 `json:"corner,omitzero"`
|
Corner int8 `json:"corner,omitzero"`
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user