AI.js 1009 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. 'atomic component';
  2. exports.component = function(self) {
  3. var game = Atomic.game;
  4. var node = self.node;
  5. self.canMove = false;
  6. self.allowShoot = true;
  7. self.shootDelta = 0;
  8. self.start = function() {
  9. }
  10. self.update = function(timeStep) {
  11. if (SpaceGame.gameOver)
  12. return;
  13. var pos = node.worldPosition2D;
  14. var ppos = SpaceGame.playerNode.worldPosition2D;
  15. if (self.canMove) {
  16. if (Math.abs(pos[0] - ppos[0]) > .25) {
  17. if (pos[0] < ppos[0])
  18. pos[0] += timeStep * .95;
  19. else
  20. pos[0] -= timeStep * .95;
  21. node.position2D = pos;
  22. }
  23. }
  24. if (self.shootDelta > 0) {
  25. self.shootDelta -= timeStep;
  26. if (self.shootDelta < 0)
  27. self.shootDelta = 0;
  28. return;
  29. }
  30. if (Math.abs(pos[0] - ppos[0]) < .25) {
  31. self.shootDelta = 0.5;
  32. if (Math.random() > .1)
  33. return;
  34. var pos = node.worldPosition2D;
  35. pos[1] -= .25;
  36. SpaceGame.spawnBullet(pos, false);
  37. }
  38. }
  39. }