Mercurial > projects > openmelee
comparison ai/ai.d @ 20:6efd0830715b
ai work
author | zzzzrrr <mason.green@gmail.com> |
---|---|
date | Wed, 25 Mar 2009 15:25:25 -0400 |
parents | 08ddf9e71b88 |
children | cad384ad349e |
comparison
equal
deleted
inserted
replaced
19:08ddf9e71b88 | 20:6efd0830715b |
---|---|
56 | 56 |
57 void move(Ship enemy) { | 57 void move(Ship enemy) { |
58 | 58 |
59 // Elementary steering AI | 59 // Elementary steering AI |
60 steer.update(); | 60 steer.update(); |
61 st = steer.steerToAvoidObstacles(5, m_world.bodyList); | 61 //st = steer.steerToAvoidObstacles(0.25, m_world.bodyList); |
62 | 62 |
63 if(st == bzVec2.zeroVect) { | 63 if(st == bzVec2.zeroVect) { |
64 st = steer.steerForPursuit(enemy.state, maxPredictionTime); | 64 st = steer.steerForPursuit(enemy.state, maxPredictionTime); |
65 chase(enemy); | 65 chase(enemy); |
66 } else { | 66 } else { |
67 avoid(); | 67 avoid(); |
68 } | 68 } |
69 | |
70 st = bzVec2.zeroVect; | |
71 | |
69 } | 72 } |
70 | 73 |
71 void chase(Ship enemy) { | 74 void chase(Ship enemy) { |
72 | 75 |
73 ship.state.target = st; | 76 ship.state.target = st; |
112 ship.turnLeft(); | 115 ship.turnLeft(); |
113 } | 116 } |
114 | 117 |
115 ship.state.turn = true; | 118 ship.state.turn = true; |
116 | 119 |
117 if(abs(angle) > PI/4) { | 120 if(abs(angle) < PI/4) { |
118 ship.thrust(); | 121 ship.thrust(); |
119 } | 122 } |
120 } | 123 } |
121 | 124 |
122 } | 125 } |