Mercurial > projects > openmelee
diff ai.d @ 12:2ecd16840900
added tracker
author | Mason Green <mason.green@gmail.com> |
---|---|
date | Sun, 22 Mar 2009 12:10:16 -0400 |
parents | d998bf1b0654 |
children | e1004697cae1 |
line wrap: on
line diff
--- a/ai.d Sun Mar 22 09:35:24 2009 -0400 +++ b/ai.d Sun Mar 22 12:10:16 2009 -0400 @@ -21,7 +21,7 @@ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING @@ -30,6 +30,10 @@ */ module openmelee.ai; +import tango.io.Stdout : Stdout; +import tango.math.Math : atan2; + +import blaze.common.bzMath: bzVec2; import openmelee.steer : Steer; import openmelee.ship : Ship; @@ -38,7 +42,7 @@ Steer steer; Ship ship; - float maxPredictionTime = 0; + float maxPredictionTime = 0.5f; this(Ship ship) { this.ship = ship; @@ -48,8 +52,17 @@ void move(Ship enemy) { steer.update(); - steer.steerForPursuit(enemy.state, maxPredictionTime); - + bzVec2 st; + st = steer.steerForPursuit(enemy.state, maxPredictionTime); + //ship.thrust(); + ship.state.target = st; + float angle = atan2(st.x, st.y); + + if(angle < 0) { + ship.turnLeft(); + } else { + ship.turnRight(); + } } }