Advertisement
Guest User

Untitled

a guest
Aug 4th, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.49 KB | None | 0 0
  1. STARTINGCLASS.JAVA
  2. package kiloboltgame;
  3.  
  4. import java.applet.Applet;
  5. import java.awt.Color;
  6. import java.awt.Frame;
  7. import java.awt.Graphics;
  8. import java.awt.Image;
  9. import java.awt.event.KeyEvent;
  10. import java.awt.event.KeyListener;
  11. import java.net.URL;
  12. import java.util.ArrayList;
  13. import kiloboltgame.framework.Animation;
  14.  
  15. public class StartingClass extends Applet implements Runnable,KeyListener{
  16. private Robot robot;
  17. private Heliboy hb, hb2;
  18. private Image image, currentSprite, character, character2, character3, characterDown,
  19. characterJumped, background, heliboy, heliboy2, heliboy3, heliboy4, heliboy5;
  20. public static Image tiledirt, tileocean;
  21. private Animation anim, hanim;
  22. private Graphics second;
  23. private URL base;
  24. private static Background bg1,bg2;
  25. private ArrayList<Tile> tilearray = new ArrayList<Tile>();
  26.  
  27. @Override
  28. public void init() {
  29. setSize(800,480);
  30. setBackground(Color.BLACK);
  31. setFocusable(true);
  32.  
  33. Frame frame = (Frame) this.getParent().getParent();
  34. frame.setTitle("Q-Bot Alpha");
  35.  
  36. addKeyListener(this);
  37.  
  38. try {
  39. base = getDocumentBase();
  40. } catch (Exception e) {
  41. // TODO: handle exception
  42. }
  43.  
  44. // Image Setups
  45. character = getImage(base, "data/character.png");
  46. character2 = getImage(base, "data/character2.png");
  47. character3 = getImage(base, "data/character3.png");
  48.  
  49. characterDown = getImage(base, "data/down.png");
  50. characterJumped = getImage(base, "data/jumped.png");
  51.  
  52. heliboy = getImage(base, "data/heliboy.png");
  53. heliboy2 = getImage(base, "data/heliboy2.png");
  54. heliboy3 = getImage(base, "data/heliboy3.png");
  55. heliboy4 = getImage(base, "data/heliboy4.png");
  56. heliboy5 = getImage(base, "data/heliboy5.png");
  57.  
  58.  
  59. background = getImage(base, "data/background.png");
  60.  
  61. tiledirt = getImage(base, "data/tiledirt.png");
  62. tileocean = getImage(base, "data/tileocean.png");
  63.  
  64.  
  65. anim = new Animation();
  66. anim.addFrame(character, 1250);
  67. anim.addFrame(character2, 50);
  68. anim.addFrame(character3, 50);
  69. anim.addFrame(character2, 50);
  70.  
  71. hanim = new Animation();
  72. hanim.addFrame(heliboy, 100);
  73. hanim.addFrame(heliboy2, 100);
  74. hanim.addFrame(heliboy3, 100);
  75. hanim.addFrame(heliboy4, 100);
  76. hanim.addFrame(heliboy5, 100);
  77. hanim.addFrame(heliboy4, 100);
  78. hanim.addFrame(heliboy3, 100);
  79. hanim.addFrame(heliboy2, 100);
  80.  
  81. currentSprite = anim.getImage();
  82. super.init();
  83. }
  84.  
  85. @Override
  86. public void start() {
  87. System.out.println("Start Starting Class");
  88. bg1 = new Background(0,0);
  89. bg2 = new Background(2160,0);
  90.  
  91. // Initialize Tiles
  92. for (int i = 0; i < 200; i++) {
  93. for (int j = 0; j < 12; j++) {
  94.  
  95. if (j == 11) {
  96. Tile t = new Tile(i, j, 2);
  97. tilearray.add(t);
  98. }
  99.  
  100. if (j == 10) {
  101. Tile t = new Tile(i, j, 1);
  102. tilearray.add(t);
  103. }
  104. }
  105. }
  106.  
  107. hb = new Heliboy(340, 360);
  108. hb2 = new Heliboy(700, 360);
  109. robot = new Robot();
  110. Thread thread = new Thread(this);
  111. thread.start();
  112. super.start();
  113. }
  114.  
  115. @Override
  116. public void stop() {
  117. // TODO Auto-generated method stub
  118. super.stop();
  119. }
  120. @Override
  121. public void destroy() {
  122. // TODO Auto-generated method stub
  123. super.destroy();
  124. }
  125.  
  126. @Override
  127. public void run() {
  128. while (true) {
  129. robot.update();
  130. if (robot.isJumped()){
  131. currentSprite = characterJumped;
  132. }else if (robot.isJumped() == false && robot.isDucked() == false){
  133. currentSprite = anim.getImage();
  134. }
  135.  
  136. //Bullets
  137. ArrayList projectiles = robot.getProjectiles();
  138. for (int i = 0; i < projectiles.size(); i++) {
  139. Projectile p = (Projectile) projectiles.get(i);
  140. if (p.isVisible() == true) {
  141. p.update();
  142. } else {
  143. projectiles.remove(i);
  144. }
  145. }
  146. updateTiles();
  147. hb.update();
  148. hb2.update();
  149. bg1.update();
  150. bg2.update();
  151.  
  152. animate();
  153. repaint();
  154. try {
  155. Thread.sleep(17);
  156. } catch (InterruptedException e) {
  157. e.printStackTrace();
  158. }
  159. }
  160. }
  161.  
  162. @Override
  163. public void update(Graphics g) {
  164. if (image == null) {
  165. image = createImage(this.getWidth(), this.getHeight());
  166. second = image.getGraphics();
  167. }
  168. second.setColor(getBackground());
  169. second.fillRect(0, 0, getWidth(), getHeight());
  170. second.setColor(getForeground());
  171. paint(second);
  172.  
  173.  
  174. g.drawImage(image, 0, 0, this);
  175.  
  176. //super.update(g);
  177. }
  178.  
  179. @Override
  180. public void paint(Graphics g) {
  181. g.drawImage(background, bg1.getBgX(), bg1.getBgY(),this);
  182. g.drawImage(background, bg2.getBgX(), bg2.getBgY(),this);
  183. paintTiles(g);
  184.  
  185. ArrayList projectiles = robot.getProjectiles();
  186. for (int i = 0; i < projectiles.size(); i++) {
  187.  
  188. Projectile p = (Projectile) projectiles.get(i);
  189. //System.out.println("Projectile: " + i +" X:"+ p.getX()+" Y:"+p.getY());
  190. g.setColor(Color.YELLOW);
  191. g.fillRect(p.getX(), p.getY(), 10, 5);
  192. }
  193.  
  194. g.drawImage(currentSprite, robot.getCenterX() - 61, robot.getCenterY() - 63, this);
  195. g.drawImage(hanim.getImage(), hb.getCenterX() - 48, hb.getCenterY() - 48, this);
  196. g.drawImage(hanim.getImage(), hb2.getCenterX() - 48, hb2.getCenterY() - 48, this);
  197. super.paint(g);
  198. }
  199.  
  200. private void updateTiles() {
  201.  
  202. for (int i = 0; i < tilearray.size(); i++) {
  203. Tile t = (Tile) tilearray.get(i);
  204. t.update();
  205. }
  206. }
  207.  
  208. private void paintTiles(Graphics g) {
  209. for (int i = 0; i < tilearray.size(); i++) {
  210. Tile t = (Tile) tilearray.get(i);
  211. //System.out.println("getTileX: " + t.getTileX());
  212. g.drawImage(t.getTileImage(), t.getTileX(), t.getTileY(), this);
  213. }
  214. }
  215.  
  216. public void animate() {
  217. anim.update(10);
  218. hanim.update(50);
  219. }
  220.  
  221. @Override
  222. public void keyPressed(KeyEvent e) {
  223.  
  224. switch (e.getKeyCode()) {
  225. case KeyEvent.VK_UP:
  226. System.out.println("Move up");
  227. break;
  228.  
  229. case KeyEvent.VK_DOWN:
  230. currentSprite = anim.getImage();;
  231. if (robot.isJumped() == false){
  232. robot.setDucked(true);
  233. robot.setSpeedX(0);
  234. }
  235. break;
  236.  
  237. case KeyEvent.VK_LEFT:
  238. robot.moveLeft();
  239. robot.setMovingLeft(true);
  240. break;
  241.  
  242. case KeyEvent.VK_RIGHT:
  243. robot.moveRight();
  244. robot.setMovingRight(true);
  245. break;
  246.  
  247. case KeyEvent.VK_SPACE:
  248. robot.jump();
  249. break;
  250.  
  251. case KeyEvent.VK_CONTROL:
  252. if (robot.isDucked() == false && robot.isJumped() == false) {
  253. robot.shoot();
  254. }
  255. break;
  256.  
  257. }
  258.  
  259. }
  260.  
  261. @Override
  262. public void keyReleased(KeyEvent e) {
  263. switch (e.getKeyCode()) {
  264. case KeyEvent.VK_UP:
  265. System.out.println("Stop moving up");
  266. break;
  267.  
  268. case KeyEvent.VK_DOWN:
  269. currentSprite = character;
  270. robot.setDucked(false);
  271. break;
  272.  
  273. case KeyEvent.VK_LEFT:
  274. robot.stopLeft();
  275. break;
  276.  
  277. case KeyEvent.VK_RIGHT:
  278. robot.stopRight();
  279. break;
  280.  
  281. case KeyEvent.VK_SPACE:
  282. break;
  283.  
  284. }
  285.  
  286. }
  287.  
  288. @Override
  289. public void keyTyped(KeyEvent arg0) {
  290. // TODO Auto-generated method stub
  291.  
  292. }
  293.  
  294. public static Background getBg1() {
  295. return bg1;
  296. }
  297.  
  298. public static Background getBg2() {
  299. return bg2;
  300. }
  301. }
  302.  
  303.  
  304. TILE.JAVA
  305. package kiloboltgame;
  306.  
  307. import java.awt.Image;
  308.  
  309. public class Tile {
  310.  
  311. private int tileX, tileY, speedX, type;
  312. public Image tileImage;
  313.  
  314. private Background bg = StartingClass.getBg1();
  315.  
  316. public Tile(int x, int y, int typeInt) {
  317. tileX = x * 40;
  318. tileY = y * 40;
  319.  
  320. type = typeInt;
  321.  
  322. if (type == 1) {
  323. tileImage = StartingClass.tileocean;
  324. } else if (type == 2) {
  325.  
  326. tileImage = StartingClass.tiledirt;
  327. }
  328.  
  329. }
  330.  
  331. public void update() {
  332. // TODO Auto-generated method stub
  333. if (type == 1) {
  334. if (bg.getSpeedX() == 0){
  335. speedX = -1;
  336. System.out.println("speedX = -1: " + speedX);
  337. }else{
  338. speedX = -2;
  339. System.out.println("speedX = -2: " + speedX);
  340. }
  341.  
  342. } else {
  343. speedX = bg.getSpeedX()*5;
  344. System.out.println("speedX = gb*5: " + speedX);
  345. }
  346. System.out.println("tileX before : " + tileX);
  347. tileX += speedX;
  348. System.out.println("tileX after : " + tileX);
  349. }
  350.  
  351. public int getTileX() {
  352. return tileX;
  353. }
  354.  
  355. public void setTileX(int tileX) {
  356. this.tileX = tileX;
  357. }
  358.  
  359. public int getTileY() {
  360. return tileY;
  361. }
  362.  
  363. public void setTileY(int tileY) {
  364. this.tileY = tileY;
  365. }
  366.  
  367. public Image getTileImage() {
  368. return tileImage;
  369. }
  370.  
  371. public void setTileImage(Image tileImage) {
  372. this.tileImage = tileImage;
  373. }
  374.  
  375. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement