Advertisement
blwyatt32

PTDTower V1

May 31st, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
  2. import java.util.*;
  3.  
  4. /**
  5. * Write a description of class Tower here.
  6. *
  7. * @author (your name)
  8. * @version (a version number or a date)
  9. */
  10. public class Tower extends Actor
  11. {
  12. private long pauseTime;
  13. public Tower()
  14. {
  15. GreenfootImage image = getImage();
  16. image.scale(image.getWidth() * 2, image.getHeight() * 2);
  17. pauseTime = 0;
  18. }
  19.  
  20. /**
  21. * Act - do whatever the Tower wants to do. This method is called whenever
  22. * the 'Act' or 'Run' button gets pressed in the environment.
  23. */
  24. public void act()
  25. {
  26. fire();
  27. }
  28.  
  29. public Actor canFire()
  30. {
  31. List<Actor> list = getObjectsInRange(100, Enemy.class);
  32. World world = getWorld();
  33. if(list.size() == 0)
  34. {
  35. return null;
  36. }
  37. else
  38. {
  39. Actor enemy = list.get(0);
  40. return enemy;
  41. }
  42. }
  43.  
  44. public void fire()
  45. {
  46. if(running())
  47. {
  48. if(canFire() != null)
  49. {
  50.  
  51. getWorld().addObject(new Shot(), getX(),getY());
  52. }
  53. }
  54. pause(300);
  55. }
  56.  
  57. public boolean running()
  58. {
  59. long time = System.currentTimeMillis();
  60. return time > pauseTime;
  61. }
  62.  
  63. public void pause(long delay)
  64. {
  65. long time = System.currentTimeMillis();
  66. pauseTime = time + delay;
  67. }
  68.  
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement