Guest User

Untitled

a guest
Nov 19th, 2013
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.77 KB | None | 0 0
  1. package com.RB.levels;
  2.  
  3. import org.newdawn.slick.GameContainer;
  4. import org.newdawn.slick.Graphics;
  5. import org.newdawn.slick.Image;
  6. import org.newdawn.slick.Input;
  7. import org.newdawn.slick.SlickException;
  8. import org.newdawn.slick.geom.Vector2f;
  9. import org.newdawn.slick.state.BasicGameState;
  10. import org.newdawn.slick.state.StateBasedGame;
  11.  
  12. import com.RB.collision.CollisionLine;
  13. import com.RB.collision.Range;
  14. import com.RB.engine.component.movement.PlatformMovement;
  15. import com.RB.engine.component.render.ImageRenderComponent;
  16. import com.RB.engine.entity.Entity;
  17. import com.RB.engine.entity.Golmer;
  18. import com.RB.engine.entity.Player;
  19. import com.RB.floor.Floor;
  20. import com.RB.gravity.GravityLogic;
  21. import com.RB.util.StopWatch;
  22.  
  23. public class TestLevel extends BasicGameState{
  24. public static int testLevelState = 0;
  25. public int delta = 0;
  26. public GravityLogic gl;
  27. public static Player rball = null;
  28. public static Entity renemy = null;
  29. public static Golmer golmer = null;
  30. public static Golmer golmer1 = null;
  31. public static Golmer golmer2 = null;
  32. public static Golmer golmer3 = null;
  33. public static Golmer golmer4 = null;
  34. public static Golmer golmer5 = null;
  35. public static Golmer golmer6 = null;
  36. public static Golmer golmer7 = null;
  37. public static Golmer golmer8 = null;
  38. public static Golmer golmer9 = null;
  39. public static Golmer golmer10 = null;
  40. public static Golmer golmer11 = null;
  41. public static Golmer golmer12 = null;
  42. public static Golmer golmer13 = null;
  43. public static Golmer golmer14 = null;
  44. public static Golmer golmer15 = null;
  45. public static Golmer golmer16 = null;
  46. public static Golmer golmer17 = null;
  47. public static Golmer golmer18 = null;
  48. public static CollisionLine cl1 = null;
  49. public static CollisionLine cl2 = null;
  50. public static CollisionLine cl3 = null;
  51. public static CollisionLine cl4 = null;
  52. public static CollisionLine cl5 = null;
  53. public static CollisionLine cl6 = null;
  54. public static CollisionLine cl7 = null;
  55. public static CollisionLine cl8 = null;
  56. public static CollisionLine cl9 = null;
  57. public static CollisionLine cl10 = null;
  58. public static CollisionLine cl11 = null;
  59. public static CollisionLine cl12 = null;
  60. public static CollisionLine cl13 = null;
  61. public static boolean isOnFloor1;
  62. public static float gravityStatus;
  63. public static Floor firstFloor;
  64. public static Floor secondFloor;
  65.  
  66. public TestLevel(int state){
  67.  
  68. }
  69.  
  70. @Override
  71. public int getID() {
  72. return 0;
  73. }
  74.  
  75. @Override
  76. public void init(GameContainer arg0, StateBasedGame arg1)
  77. throws SlickException {
  78. rball = new Player("player1");
  79. rball.addComponent( new ImageRenderComponent("rollingball", new Image("com/RB/image/RollingBall.png")) );
  80. rball.addComponent( new PlatformMovement("BallMovement"));
  81. rball.setPosition(new Vector2f(400, 300));
  82. rball.mass.SetMass(1);
  83.  
  84.  
  85. renemy = new Entity("rollingenemy", true);
  86. renemy.addComponent(new ImageRenderComponent("rollingenemy", new Image("com/RB/image/RollingEnemy.png")));
  87. renemy.setPosition(new Vector2f(500, 300));
  88.  
  89. golmer = new Golmer("golmer");
  90. golmer.addComponent(new ImageRenderComponent("golmer", new Image("com/RB/image/Golmers.png")));
  91. golmer.setPosition(new Vector2f(332,332));
  92.  
  93. golmer1 = new Golmer("golmer1");
  94. golmer1.addComponent(new ImageRenderComponent("golmer1", new Image("com/RB/image/Golmers.png")));
  95. golmer1.setPosition(new Vector2f(364,332));
  96.  
  97. golmer2 = new Golmer("golmer2");
  98. golmer2.addComponent(new ImageRenderComponent("golmer2", new Image("com/RB/image/Golmers.png")));
  99. golmer2.setPosition(new Vector2f(396,332));
  100.  
  101. golmer3 = new Golmer("golmer3");
  102. golmer3.addComponent(new ImageRenderComponent("golmer3", new Image("com/RB/image/Golmers.png")));
  103. golmer3.setPosition(new Vector2f(428,332));
  104.  
  105. golmer4 = new Golmer("golmer4");
  106. golmer4.addComponent(new ImageRenderComponent("golmer4", new Image("com/RB/image/Golmers.png")));
  107. golmer4.setPosition(new Vector2f(460,364));
  108.  
  109. golmer5 = new Golmer("golmer5");
  110. golmer5.addComponent(new ImageRenderComponent("golmer5", new Image("com/RB/image/Golmers.png")));
  111. golmer5.setPosition(new Vector2f(300,300));
  112.  
  113. golmer6 = new Golmer("golmer6");
  114. golmer6.addComponent(new ImageRenderComponent("golmer6", new Image("com/RB/image/Golmers.png")));
  115. golmer6.setPosition(new Vector2f(100,500));
  116.  
  117. golmer7 = new Golmer("golmer7");
  118. golmer7.addComponent(new ImageRenderComponent("golmer7", new Image("com/RB/image/Golmers.png")));
  119. golmer7.setPosition(new Vector2f(132,500));
  120.  
  121. golmer8 = new Golmer("golmer8");
  122. golmer8.addComponent(new ImageRenderComponent("golmer8", new Image("com/RB/image/Golmers.png")));
  123. golmer8.setPosition(new Vector2f(164,500));
  124.  
  125. golmer9 = new Golmer("golmer9");
  126. golmer9.addComponent(new ImageRenderComponent("golmer9", new Image("com/RB/image/Golmers.png")));
  127. golmer9.setPosition(new Vector2f(196,500));
  128.  
  129. golmer10 = new Golmer("golmer10");
  130. golmer10.addComponent(new ImageRenderComponent("golmer10", new Image("com/RB/image/Golmers.png")));
  131. golmer10.setPosition(new Vector2f(229,500));
  132.  
  133. golmer11 = new Golmer("golmer11");
  134. golmer11.addComponent(new ImageRenderComponent("golmer11", new Image("com/RB/image/Golmers.png")));
  135. golmer11.setPosition(new Vector2f(262,500));
  136.  
  137. golmer12 = new Golmer("golmer12");
  138. golmer12.addComponent(new ImageRenderComponent("golmer12", new Image("com/RB/image/Golmers.png")));
  139. golmer12.setPosition(new Vector2f(294,500));
  140.  
  141. golmer13 = new Golmer("golmer13");
  142. golmer13.addComponent(new ImageRenderComponent("golmer13", new Image("com/RB/image/Golmers.png")));
  143. golmer13.setPosition(new Vector2f(326,500));
  144.  
  145. golmer14 = new Golmer("golmer14");
  146. golmer14.addComponent(new ImageRenderComponent("golmer14", new Image("com/RB/image/Golmers.png")));
  147. golmer14.setPosition(new Vector2f(359,500));
  148.  
  149. golmer15 = new Golmer("golmer15");
  150. golmer15.addComponent(new ImageRenderComponent("golmer15", new Image("com/RB/image/Golmers.png")));
  151. golmer15.setPosition(new Vector2f(392,500));
  152.  
  153. golmer16 = new Golmer("golmer16");
  154. golmer16.addComponent(new ImageRenderComponent("golmer16", new Image("com/RB/image/Golmers.png")));
  155. golmer16.setPosition(new Vector2f(424,500));
  156.  
  157. golmer17 = new Golmer("golmer17");
  158. golmer17.addComponent(new ImageRenderComponent("golmer17", new Image("com/RB/image/Golmers.png")));
  159. golmer17.setPosition(new Vector2f(456,500));
  160.  
  161. golmer18 = new Golmer("golmer18");
  162. golmer18.addComponent(new ImageRenderComponent("golmer18", new Image("com/RB/image/Golmers.png")));
  163. golmer18.setPosition(new Vector2f(488,500));
  164. gl = new GravityLogic(rball, delta);
  165. setGravityStatus(2F);
  166. cl1 = new CollisionLine(0, 0, new Vector2f(300,300), new Vector2f(300, 332));
  167. cl1.createCollisionRule(rball, false);
  168. cl2 = new CollisionLine(1, 2, new Vector2f(300,300), new Vector2f(332, 300));
  169. cl2.createCollisionRule(rball, false);
  170. cl3 = new CollisionLine(2, 1, new Vector2f(332, 300), new Vector2f(332, 332));
  171. cl3.createCollisionRule(rball, false);
  172. cl4 = new CollisionLine(3, 2, new Vector2f(332, 332), new Vector2f(460, 332));
  173. cl4.createCollisionRule(rball, false);
  174. cl5 = new CollisionLine(4, 1, new Vector2f(460, 332), new Vector2f(460, 364));
  175. cl5.createCollisionRule(rball, false);
  176. cl6 = new CollisionLine(5, 2, new Vector2f(460, 364), new Vector2f(492, 364));
  177. cl6.createCollisionRule(rball, false);
  178. cl7 = new CollisionLine(6, 1, new Vector2f(492, 364), new Vector2f(492, 396));
  179. cl7.createCollisionRule(rball, false);
  180. cl8 = new CollisionLine(7, 2, new Vector2f(100,500), new Vector2f(520,500));
  181. cl8.createCollisionRule(rball, false);
  182. cl9 = new CollisionLine(8, 3, new Vector2f(332, 364), new Vector2f(460, 364));
  183. cl9.createCollisionRule(rball, false);
  184. cl10 = new CollisionLine(9, 3, new Vector2f(300,332), new Vector2f(332, 332));
  185. cl10.createCollisionRule(rball, false);
  186. cl11 = new CollisionLine(10, 3, new Vector2f(460, 396), new Vector2f(492, 396));
  187. cl11.createCollisionRule(rball, false);
  188. cl12 = new CollisionLine(11, 0, new Vector2f(332, 332), new Vector2f(332, 364));
  189. cl12.createCollisionRule(rball, false);
  190. cl13 = new CollisionLine(12, 0, new Vector2f(460, 364), new Vector2f(460, 396));
  191. cl13.createCollisionRule(rball, false);
  192.  
  193. System.out.println("init finished");
  194. }
  195.  
  196. @Override
  197. public void render(GameContainer gc, StateBasedGame sb, Graphics gr)
  198. throws SlickException {
  199. rball.render(gc, null, gr);
  200. golmer.render(gc, null, gr);
  201. golmer1.render(gc, null, gr);
  202. golmer2.render(gc, null, gr);
  203. golmer3.render(gc, null, gr);
  204. golmer4.render(gc, null, gr);
  205. golmer5.render(gc, null, gr);
  206. golmer6.render(gc, null, gr);
  207. golmer7.render(gc, null, gr);
  208. golmer8.render(gc, null, gr);
  209. golmer9.render(gc, null, gr);
  210. golmer10.render(gc, null, gr);
  211. golmer11.render(gc, null, gr);
  212. golmer12.render(gc, null, gr);
  213. golmer13.render(gc, null, gr);
  214. golmer14.render(gc, null, gr);
  215. golmer15.render(gc, null, gr);
  216. golmer16.render(gc, null, gr);
  217. golmer17.render(gc, null, gr);
  218. golmer18.render(gc, null, gr);
  219. Range rad = new Range(rball);
  220. gr.drawString("Position", 100, 80);
  221. gr.drawString("X:" + rad.getRange("-").x , 100, 100);
  222. gr.drawString("Y:" + rad.getRange("-").y , 100, 120);
  223. gr.drawString("Colliding?", 250, 80);
  224. gr.drawString("", 250, 100);
  225. cl1.drawLine(gr);
  226. cl2.drawLine(gr);
  227. cl3.drawLine(gr);
  228. cl4.drawLine(gr);
  229. cl5.drawLine(gr);
  230. cl6.drawLine(gr);
  231. cl7.drawLine(gr);
  232. cl8.drawLine(gr);
  233. cl9.drawLine(gr);
  234. cl10.drawLine(gr);
  235. cl11.drawLine(gr);
  236. cl12.drawLine(gr);
  237. System.out.println("rendering finished");
  238. }
  239.  
  240. @Override
  241. public void update(GameContainer gc, StateBasedGame sb, int delta)
  242. throws SlickException {
  243. this.delta = delta;
  244. rball.update(gc, null, delta);
  245. rball.mass.Integrate(delta);
  246. Golmer[] floor1 = {golmer, golmer1, golmer2, golmer3, golmer4, golmer5};
  247. Golmer[] floor2 = {golmer6, golmer7, golmer8, golmer9, golmer10, golmer11, golmer12, golmer13, golmer14, golmer15, golmer16, golmer17, golmer18};
  248. Golmer[] golmers = {golmer, golmer1, golmer2, golmer3, golmer4, golmer5, (Golmer) golmer6, (Golmer) golmer7, (Golmer) golmer8, (Golmer) golmer9, (Golmer) golmer10, (Golmer) golmer11, (Golmer) golmer12, (Golmer) golmer13, (Golmer) golmer14, (Golmer) golmer15, (Golmer) golmer16, (Golmer) golmer17, (Golmer) golmer18};
  249. firstFloor = new Floor(0, floor1, "First floor of testing", 0);
  250. secondFloor = new Floor(1, floor2, "Second floor of testing", 1);
  251. for(int i = 0; i < golmers.length;i++){
  252. /*if(cl1.checkCollisionRules(rball) || cl12.checkCollisionRules(rball) || cl13.checkCollisionRules(rball)){
  253. rball.canMoveRight = false;
  254. }
  255. else{
  256. rball.canMoveRight = true;
  257. }*/
  258. if(cl3.checkCollisionRules(rball) || cl5.checkCollisionRules(rball) || cl7.checkCollisionRules(rball)){
  259. rball.canMoveLeft = false;
  260. }
  261. else{
  262. rball.canMoveLeft = true;
  263. }
  264.  
  265. if(cl9.checkCollisionRules(rball) || cl10.checkCollisionRules(rball) || cl11.checkCollisionRules(rball)){
  266. rball.canMoveUp = false;
  267. rball.mass.SetTotalForce(new Vector2f(0, 0));
  268. }
  269. else{
  270. rball.canMoveUp = true;
  271. }
  272.  
  273. if(cl4.checkCollisionRules(rball) || cl2.checkCollisionRules(rball) || cl6.checkCollisionRules(rball) || cl8.checkCollisionRules(rball)){
  274. rball.canMoveDown = false;
  275. gl.gravityActive = false;
  276. gl.nForce = false;
  277. gl.watch.stop();
  278. gl.watch.reset();
  279. }
  280. else{
  281. rball.canMoveDown = true;
  282. gl.gravityActive = true;
  283. }
  284. }
  285. gl.update(gc, sb, delta);
  286. System.out.println("Can move down" + rball.canMoveDown);
  287. System.out.println("update finished");
  288. }
  289.  
  290. public void setGravityStatus(float status){
  291. gravityStatus = status;
  292. }
  293.  
  294. }
Advertisement
Add Comment
Please, Sign In to add comment