Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Game;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Image;
- import java.awt.Toolkit;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.KeyAdapter;
- import java.awt.event.KeyEvent;
- import javax.swing.JPanel;
- import javax.swing.Timer;
- public class Board extends JPanel {
- private final String IMAGE_PATH_DOWN1 = "C:\\Users\\дНМ\\workspace\\Game\\image\\Down_Pic1.png";
- private final String IMAGE_PATH_DOWN2 = "C:\\Users\\дНМ\\workspace\\Game\\image\\Down_Pic2.png";
- private final String IMAGE_PATH_RIGHT1 = "C:\\Users\\дНМ\\workspace\\Game\\image\\Right_Pic1.png";
- private final String IMAGE_PATH_RIGHT2 = "C:\\Users\\дНМ\\workspace\\Game\\image\\Right_Pic2.png";
- private final String IMAGE_PATH_TOP1 = "C:\\Users\\дНМ\\workspace\\Game\\image\\Top_Pic1.png";
- private final String IMAGE_PATH_TOP2 = "C:\\Users\\дНМ\\workspace\\Game\\image\\Top_Pic2.png";
- private final String IMAGE_PATH_LEFT = "C:\\Users\\дНМ\\workspace\\Game\\image\\Left_Pic1.png";
- private final String IMAGE_PATH_LEFT2 = "C:\\Users\\дНМ\\workspace\\Game\\image\\Left_Pic2.png";
- private final String IMAGE_PATH_MAP_Z = "C:\\Users\\дНМ\\workspace\\Game\\image\\Map_Z.png";
- private static final long serialVersionUID = 1L;
- private Thing thing;
- private Timer repaintTimer;
- private Image imgCs;
- private Image imgMap;
- private static int speed = 3;
- public Board() {
- init();
- }
- private void init() {
- setFocusable(true);
- setDoubleBuffered(true);
- addKeyListener(new KeyHandler());
- setBackground(Color.BLACK);
- thing = new Thing();
- imgCs = Toolkit.getDefaultToolkit().getImage(IMAGE_PATH_DOWN1);
- imgMap = Toolkit.getDefaultToolkit().getImage(IMAGE_PATH_MAP_Z);
- repaintTimer = new Timer(50, new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- repaint();
- }
- });
- repaintTimer.start();
- }
- @Override
- public void paint(Graphics g) {
- super.paint(g);
- Graphics2D g2d = (Graphics2D) g;
- int width = imgCs.getWidth(this);
- int height = imgCs.getHeight(this);
- int scale = 4;
- speed = 3;
- int w = scale * width;
- int h = scale * height;
- //MAP START!
- int widthMap = imgMap.getWidth(this);
- int heightMap = imgMap.getHeight(this);
- int scalem = 4;
- int wm = scalem * widthMap;
- int hm = scalem * heightMap;
- for (int s = 0; s < wm * 10; s += wm) {
- for (int i = 0; i < hm * 10; i += hm) {
- g2d.drawImage(imgMap, thing.getX()+s, thing.getY()+i,(int) wm, (int) hm, this);
- }
- }
- //MAP END
- g2d.drawImage(imgCs, thing.getX() * speed, thing.getY() * speed,
- (int) w, (int) h, this);
- Toolkit.getDefaultToolkit().sync();
- }
- private class KeyHandler extends KeyAdapter {
- @Override
- public void keyPressed(KeyEvent e) {
- thing.pressed(e.getKeyCode());
- // LEFT!!!
- if (e.getKeyCode() == KeyEvent.VK_LEFT) {
- if ((thing.getX() * speed % 2) == 0) {
- imgCs = Toolkit.getDefaultToolkit().getImage(
- IMAGE_PATH_LEFT);
- } else {
- imgCs = Toolkit.getDefaultToolkit().getImage(
- IMAGE_PATH_LEFT2);
- }
- }
- // RIGHT!
- if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
- imgCs = Toolkit.getDefaultToolkit().getImage(IMAGE_PATH_RIGHT1);
- if ((thing.getX() * speed % 2) == 0) {
- imgCs = Toolkit.getDefaultToolkit().getImage(
- IMAGE_PATH_RIGHT1);
- } else {
- imgCs = Toolkit.getDefaultToolkit().getImage(
- IMAGE_PATH_RIGHT2);
- }
- }
- // DOWN!
- if (e.getKeyCode() == KeyEvent.VK_DOWN) {
- if ((thing.getY() * speed % 2) == 0) {
- imgCs = Toolkit.getDefaultToolkit().getImage(
- IMAGE_PATH_DOWN1);
- } else {
- imgCs = Toolkit.getDefaultToolkit().getImage(
- IMAGE_PATH_DOWN2);
- }
- }
- // UP!
- if (e.getKeyCode() == KeyEvent.VK_UP) {
- if ((thing.getY() * speed % 2) == 0) {
- imgCs = Toolkit.getDefaultToolkit().getImage(
- IMAGE_PATH_TOP1);
- } else {
- imgCs = Toolkit.getDefaultToolkit().getImage(
- IMAGE_PATH_TOP2);
- }
- }
- }
- @Override
- public void keyReleased(KeyEvent e) {
- //
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement