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

射击游戏

开发平台:

Java

  1. import java.awt.*;
  2. public class wall implements Actor{
  3. public final String Type = "wall";
  4. public Image wall;
  5. public int xPos;
  6. public int yPos;
  7. public boolean[] shape;
  8. public ClientModel gameModel;
  9. public  wall(int xPos, int  yPos,  int orientation, ClientModel gameModel){
  10. this.xPos = xPos;
  11. this.yPos = yPos;
  12. this.gameModel = gameModel;
  13. shape = new boolean[16];
  14. wall = gameModel.textures[70];
  15. if(orientation == 0){
  16. for(int i = 8; i < 12; i ++)
  17. shape[i] = true;
  18. for(int i = 12; i < 16; i ++)
  19. shape[i] = true;
  20. }
  21. if(orientation == 1){
  22. for(int i = 0; i < 4; i ++)
  23. shape[i] = true;
  24. for(int i = 4; i < 8; i ++)
  25. shape[i] = true;
  26. }
  27. if(orientation == 2){
  28. for(int i = 3; i <= 15; i+=4)
  29. shape[i] = true;
  30. for(int i = 2; i <= 14; i+=4)
  31. shape[i] = true;
  32. }
  33. if(orientation == 3){
  34. for(int i = 1; i <= 13; i+=4)
  35. shape[i] = true;
  36. for(int i = 0; i <= 12; i+=4)
  37. shape[i] = true;
  38. }
  39. }
  40. public void draw(Graphics g){
  41. boolean walldestoried = true;
  42. for(int i = 0; i < shape.length; i++)
  43. if(!shape[i]){
  44. walldestoried = false;
  45. break;
  46. }
  47. if(walldestoried)
  48. return;
  49. g.drawImage(wall, xPos - 12, yPos - 12, null);
  50. g.setColor(new Color(128, 64, 0));
  51. if(shape[0])
  52. g.fillRect(xPos - 12, yPos - 12, 7, 7);
  53. if(shape[1])
  54. g.fillRect(xPos - 6, yPos - 12, 7, 7);
  55. if(shape[2])
  56. g.fillRect(xPos, yPos - 12, 7, 7);
  57. if(shape[3])
  58. g.fillRect(xPos + 6, yPos - 12, 7, 7);
  59. if(shape[4])
  60. g.fillRect(xPos - 12, yPos - 6, 7, 7);
  61. if(shape[5])
  62. g.fillRect(xPos - 6, yPos - 6, 7, 7);
  63. if(shape[6])
  64. g.fillRect(xPos, yPos - 6, 7, 7);
  65. if(shape[7])
  66. g.fillRect(xPos + 6, yPos - 6, 7, 7);
  67. if(shape[8])
  68. g.fillRect(xPos - 12, yPos, 7, 7);
  69. if(shape[9])
  70. g.fillRect(xPos - 6, yPos, 7, 7);
  71. if(shape[10])
  72. g.fillRect(xPos, yPos, 7, 7);
  73. if(shape[11])
  74. g.fillRect(xPos + 6, yPos, 7, 7);
  75. if(shape[12])
  76. g.fillRect(xPos - 12, yPos + 6, 7, 7);
  77. if(shape[13])
  78. g.fillRect(xPos - 6, yPos + 6, 7, 7);
  79. if(shape[14])
  80. g.fillRect(xPos, yPos + 6, 7, 7);
  81. if(shape[15])
  82. g.fillRect(xPos + 6, yPos + 6, 7, 7);
  83. }
  84. public int getxPos(){
  85. return xPos;
  86. }
  87. public int getyPos(){
  88. return yPos;
  89. }
  90. public String getType(){
  91. return Type;
  92. }
  93. }