added probe result type

This commit is contained in:
Stephen McQuay 2014-01-16 23:04:49 -08:00
parent a755d28688
commit 714ea669d2
1 changed files with 35 additions and 24 deletions

View File

@ -28,10 +28,15 @@ type Robot struct {
Collision bool `json:"collision"` Collision bool `json:"collision"`
Hit bool `json:"hit"` Hit bool `json:"hit"`
Probe *v.Point2d `json:"probe"` Probe *v.Point2d `json:"probe"`
ProbeResult *v.Point2d `json:"probe_result"` ProbeResult *ProbeResult `json:"probe_result"`
gameStats *BotStats `json:-` gameStats *BotStats `json:-`
} }
type ProbeResult struct {
v.Point2d
Type string `json:"type"`
}
// This is the subset of data we send to players about robots // This is the subset of data we send to players about robots
// that are not theirs. // that are not theirs.
type OtherRobot struct { type OtherRobot struct {
@ -370,9 +375,15 @@ func (r *Robot) Tick(g *game) {
if r.Probe != nil && r.ProbeResult == nil { if r.Probe != nil && r.ProbeResult == nil {
probe_vector := r.Probe.Sub(r.Position) probe_vector := r.Probe.Sub(r.Position)
coll, pos, _ := r.checkCollisions(g, probe_vector) coll, pos, robo := r.checkCollisions(g, probe_vector)
if coll { if coll {
r.ProbeResult = pos r.ProbeResult = &ProbeResult{
Point2d: *pos,
Type: "obstacle",
}
if robo != nil {
r.ProbeResult.Type = "robot"
}
} }
} }
} }