Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.95 KB | None | 0 0
  1. package gameproject;
  2.  
  3. import java.awt.Image;
  4. import java.awt.event.KeyEvent;
  5. import javax.swing.ImageIcon;
  6.  
  7. public class CarMovement {
  8.  
  9. private int dx;
  10. private int dy;
  11. private int x = 635;
  12. private int y = 550;
  13. private int w;
  14. private int h;
  15. private Image moveimage;
  16.  
  17. public CarMovement() {
  18.  
  19. loadImage();
  20. }
  21.  
  22. private void loadImage() {
  23.  
  24. ImageIcon q = new ImageIcon("racecar.png");
  25. moveimage = q.getImage();
  26.  
  27. w = moveimage.getWidth(null);
  28. h = moveimage.getHeight(null);
  29. }
  30.  
  31. public void move() {
  32.  
  33. x += dx;
  34. y += dy;
  35. }
  36.  
  37. public int getX() {
  38.  
  39. return x;
  40. }
  41.  
  42. public int getY() {
  43.  
  44. return y;
  45. }
  46.  
  47. public int getWidth() {
  48.  
  49. return w;
  50. }
  51.  
  52. public int getHeight() {
  53.  
  54. return h;
  55. }
  56.  
  57. public Image getImage() {
  58.  
  59. return moveimage;
  60. }
  61.  
  62. public void keyPressed(KeyEvent e) {
  63.  
  64. int key = e.getKeyCode();
  65.  
  66. if (key == KeyEvent.VK_A) {
  67. dx = -10;
  68. }
  69.  
  70. if (key == KeyEvent.VK_D) {
  71. dx = 10;
  72. }
  73.  
  74. if (key == KeyEvent.VK_W) {
  75. dy = -10;
  76. }
  77.  
  78. if (key == KeyEvent.VK_S) {
  79. dy = 10;
  80. }
  81. }
  82.  
  83. public void keyReleased(KeyEvent e) {
  84.  
  85. int key = e.getKeyCode();
  86.  
  87. if (key == KeyEvent.VK_A) {
  88. dx = 0;
  89. }
  90.  
  91. if (key == KeyEvent.VK_D) {
  92. dx = 0;
  93. }
  94.  
  95. if (key == KeyEvent.VK_W) {
  96. dy = 0;
  97. }
  98.  
  99. if (key == KeyEvent.VK_S) {
  100. dy = 0;
  101. }
  102. }
  103. }
  104.  
  105. package gameproject;
  106.  
  107. import java.awt.Color;
  108. import java.awt.Graphics;
  109. import java.awt.Graphics2D;
  110. import java.awt.Rectangle;
  111. import java.awt.Toolkit;
  112. import java.awt.event.ActionEvent;
  113. import java.awt.event.ActionListener;
  114. import java.awt.event.KeyAdapter;
  115. import java.awt.event.KeyEvent;
  116. import javax.swing.JPanel;
  117. import javax.swing.Timer;
  118.  
  119. public class CarMovement2 extends JPanel implements ActionListener {
  120.  
  121. private Timer timer;
  122. private CarMovement racecar;
  123. private final int DELAY = 10;
  124.  
  125. public CarMovement2() {
  126.  
  127. initBoard();
  128. }
  129.  
  130. private void initBoard() {
  131.  
  132. addKeyListener(new TAdapter());
  133. setBackground(Color.black);
  134. setFocusable(true);
  135.  
  136. racecar = new CarMovement();
  137.  
  138. timer = new Timer(DELAY, this);
  139. timer.start();
  140. }
  141.  
  142. @Override
  143. public void paintComponent(Graphics g) {
  144. super.paintComponent(g);
  145. g.setColor(new Color(0, 204, 0));
  146. g.fillRect(0, 0, 400, 1100);
  147. g.fillRect(1525, 0, 400, 1100);
  148. g.setColor(new Color(102, 102, 102));
  149. g.fillRect(400, 0, 1125, 1100);
  150. g.setColor(new Color(255, 255, 255));
  151. g.fillRect(940, 25, 25, 100);
  152. g.fillRect(940, 325, 25, 100);
  153. g.fillRect(940, 475, 25, 100);
  154. g.fillRect(940, 625, 25, 100);
  155. g.fillRect(940, 775, 25, 100);
  156. g.fillRect(940, 925, 25, 100);
  157. g.setColor(new Color(255, 255, 255));
  158. g.fillRect(400, 175, 1125, 100);
  159. g.setColor(new Color(0, 0, 0));
  160. g.fillRect(400, 225, 50, 50);
  161. g.fillRect(450, 175, 50, 50);
  162. g.fillRect(500, 225, 50, 50);
  163. g.fillRect(550, 175, 50, 50);
  164. g.fillRect(600, 225, 50, 50);
  165. g.fillRect(650, 175, 50, 50);
  166. g.fillRect(700, 225, 50, 50);
  167. g.fillRect(750, 175, 50, 50);
  168. g.fillRect(800, 225, 50, 50);
  169. g.fillRect(850, 175, 50, 50);
  170. g.fillRect(900, 225, 50, 50);
  171. g.fillRect(950, 175, 50, 50);
  172. g.fillRect(1000, 225, 50, 50);
  173. g.fillRect(1050, 175, 50, 50);
  174. g.fillRect(1100, 225, 50, 50);
  175. g.fillRect(1150, 175, 50, 50);
  176. g.fillRect(1200, 225, 50, 50);
  177. g.fillRect(1250, 175, 50, 50);
  178. g.fillRect(1300, 225, 50, 50);
  179. g.fillRect(1350, 175, 50, 50);
  180. g.fillRect(1400, 225, 50, 50);
  181. g.fillRect(1450, 175, 50, 50);
  182. g.fillRect(1500, 225, 25, 50);
  183. g.setColor(new Color(255, 255, 255));
  184. g.fillRect(380, 0, 20, 1100);
  185. g.fillRect(1525, 0, 20, 1100);
  186. doDrawing(g);
  187.  
  188. Toolkit.getDefaultToolkit().sync();
  189. }
  190.  
  191. private void doDrawing(Graphics g) {
  192.  
  193. Graphics2D g2d = (Graphics2D) g;
  194.  
  195. g2d.drawImage(racecar.getImage(), racecar.getX(),
  196. racecar.getY(), this);
  197. }
  198.  
  199. @Override
  200. public void actionPerformed(ActionEvent e) {
  201.  
  202. step();
  203. }
  204.  
  205. private void step() {
  206. Rectangle old = new Rectangle(racecar.getX(), racecar.getY(), racecar.getWidth(), racecar.getHeight());
  207.  
  208. racecar.move();
  209.  
  210. Rectangle now = new Rectangle(racecar.getX(), racecar.getY(), racecar.getWidth(), racecar.getHeight());
  211.  
  212. repaint(old);
  213. repaint(now);
  214. }
  215.  
  216. private class TAdapter extends KeyAdapter {
  217.  
  218. @Override
  219. public void keyReleased(KeyEvent e) {
  220. racecar.keyReleased(e);
  221. }
  222.  
  223. @Override
  224. public void keyPressed(KeyEvent e) {
  225. racecar.keyPressed(e);
  226. }
  227. }
  228. }
  229.  
  230. package gameproject;
  231.  
  232.  
  233. import java.awt.EventQueue;
  234. import javax.swing.JFrame;
  235. public final class CarMovement3 extends JFrame {
  236.  
  237. public CarMovement3() {
  238.  
  239. InitUI();
  240. }
  241.  
  242. private void InitUI() {
  243.  
  244. add(new CarMovement2());
  245.  
  246. setTitle("Top Speed Triumph");
  247. setSize(1900, 1100);
  248. setResizable(false);
  249.  
  250. setLocationRelativeTo(null);
  251. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  252. }
  253.  
  254. public static void main(String[] args) {
  255.  
  256. EventQueue.invokeLater(() -> {
  257. CarMovement3 ex = new CarMovement3();
  258. ex.setVisible(true);
  259. });
  260. }
  261.  
  262.  
  263. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement