base.java
上传用户:jhzhutan
上传日期:2021-03-28
资源大小:374k
文件大小:2k
源码类别:

射击游戏

开发平台:

Java

  1. import java.awt.*;
  2. public class base implements Actor{
  3. private Rectangle border;
  4. public Image base;
  5. public int xPos, yPos;
  6. public ServerModel gameModel;
  7. public int steelWallTime;
  8. public boolean baseKilled;
  9. public base(ServerModel gameModel){
  10. this.gameModel = gameModel;
  11. xPos = 260;
  12. yPos = 498;
  13. base = gameModel.textures[0];
  14. border = new Rectangle(xPos - 11, yPos - 11, 23, 23);
  15. }
  16. public Rectangle getBorder(){
  17. return border;
  18. }
  19. public void doom(){
  20. base = gameModel.textures[1];
  21. if(!baseKilled)
  22. gameModel.addActor(new bomb(xPos, yPos, "big", gameModel));
  23. baseKilled = true;
  24. //write changes to outputLine
  25. gameModel.outputLine+="b"+ xPos + "," + yPos + "," + "1;";
  26. }
  27. public void move(){
  28. if(steelWallTime == 600){
  29. Steelwall temp = new Steelwall(248, 498, 2, gameModel);
  30. gameModel.actors[0] = temp;
  31. writeToOutputLine("s", temp.shape, 248, 498);
  32. temp = new Steelwall(273, 498, 3, gameModel);
  33. gameModel.actors[1] = temp;
  34. writeToOutputLine("s", temp.shape, 273, 498);
  35. temp = new Steelwall(248, 473, 1, gameModel);
  36. gameModel.actors[2] = temp;
  37. writeToOutputLine("s", temp.shape, 248, 473);
  38. temp = new Steelwall(273, 473, 1, gameModel);
  39. gameModel.actors[3] = temp;
  40. writeToOutputLine("s", temp.shape, 273, 473);
  41. }
  42. if(steelWallTime> 0)
  43. steelWallTime--;
  44. if(steelWallTime == 1){
  45. wall temp = new wall(248, 498, 2, gameModel);
  46. gameModel.actors[0] = temp;
  47. writeToOutputLine("w", temp.shape, 248, 498);
  48. temp = new wall(273, 498, 3, gameModel);
  49. gameModel.actors[1] = temp;
  50. writeToOutputLine("w", temp.shape, 273, 498);
  51. temp = new wall(248, 473, 1, gameModel);
  52. gameModel.actors[2] = temp;
  53. writeToOutputLine("w", temp.shape, 248, 473);
  54. temp = new wall(273, 473, 1, gameModel);
  55. gameModel.actors[3] = temp;
  56. writeToOutputLine("w", temp.shape, 273, 473);
  57. }
  58. }
  59. public void writeToOutputLine(String type, boolean[] shape, int  xPos, int  yPos){
  60. //write changes to the outputline
  61. gameModel.outputLine+=type + xPos + ","+ yPos+",";
  62. for(int i = 0; i < shape.length; i++){
  63. if(shape[i])
  64. gameModel.outputLine+="1";
  65. else
  66. gameModel.outputLine+="0";
  67. }
  68. gameModel.outputLine+=";";
  69. }
  70. public String getType(){
  71. return "base";
  72. }
  73. public void draw(Graphics g){
  74. g.drawImage(base, xPos - 12, yPos - 12, null );
  75. }
  76. //unused method
  77. public Rectangle[] getDetailedBorder(){return null;}
  78. public boolean walldestoried(){return false;}
  79. }