勇者斗恶龙写的不对有待研究

版权声明: https://blog.csdn.net/eds124/article/details/82530607
package a;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Panel;
import java.awt.Toolkit;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main {

    JFrame jf = new JFrame();
    MyJPanel mjp = new MyJPanel();

    public Main() {
        jf.add(mjp);
        jf.addKeyListener(mjp);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jf.setExtendedState(JFrame.MAXIMIZED_BOTH);
        jf.setLayout(null);
        jf.setVisible(true);

        mjp.setBounds(10, 10, 1900, 1000);
        mjp.setBackground(new Color(50, 100, 150));
    }

    public static void main(String[] args) {
        Main m = new Main();
    }

}

class MyJPanel extends JPanel implements KeyListener {

    Image imghero = Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/Herom.gif"));
    private static int x = 0, y = 0, width = 20, height = 20, speed = 20;
    // int[][] i2 = { { 0, 0, 1 }, { 0, 0, 1 }, { 0, 0, 1 } };

    int[][] i2 = { { 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1 }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, },
            { 1, 1, 1, 1, 1, 1, 1, 1, 1 } };

    public void paint(Graphics g) {
        super.paint(g);

        g.setColor(Color.BLACK);
        for (int i = 0; i < i2.length; i++) {
            for (int j = 0; j < i2[i].length; j++) {
                if (i2[i][j] == 0) {
                    g.setColor(Color.RED);
                } else if (i2[i][j] == 1) {
                    g.setColor(Color.blue);
                }
                g.fillRect(j * 20, i * 20, 20, 20);
            }
        }

        g.drawImage(imghero, x, y, 20, 20, this);
    }

    public void keyPressed(KeyEvent ke) {

        int ike = ke.getKeyCode();
        for (int i = 0; i < i2.length; i++) {
            for (int j = 0; j < i2[i].length; j++) {
                System.out.print(i);
                if (ike == KeyEvent.VK_E && y > i * speed) {
                    y -= speed;
                } else if (ike == KeyEvent.VK_D && y < i * speed) {
                    y += speed;
                } else if (ike == KeyEvent.VK_S && x > i2[j][i] * speed) {
                    x -= speed;
                } else if (ike == KeyEvent.VK_F && x < i2[j][i] * speed) {
                    x += speed;
                }

            }
            System.out.println();
        }
        this.repaint();
    }

    public void keyReleased(KeyEvent ke) {
    }

    public void keyTyped(KeyEvent ke) {
    }
}

猜你喜欢

转载自blog.csdn.net/eds124/article/details/82530607
今日推荐