Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package simpleGame;
- public class TestGame {
- public static void main(String[] args) {
- Player p=new Player(1,1);
- MapPanel mp=new MapPanel(p);
- GameFrame frame=new GameFrame(mp, p);
- }
- }
- package simpleGame;
- import javax.swing.*;
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
- public class GameFrame extends JFrame implements KeyListener {
- private MapPanel panel;
- private Player player;
- public GameFrame(MapPanel p, Player pl){
- panel=p;
- player=pl;
- add(panel);
- this.pack();
- this.setDefaultCloseOperation(EXIT_ON_CLOSE);
- this.setVisible(true);
- this.addKeyListener(this);
- }
- @Override
- public void keyTyped(KeyEvent keyEvent) {
- }
- @Override
- public void keyPressed(KeyEvent keyEvent) {
- int key=keyEvent.getKeyCode();
- System.out.println(key);
- switch(key){
- case KeyEvent.VK_UP:
- System.out.println("UP");
- player.move(-1, 0);
- panel.repaint();
- break;
- case KeyEvent.VK_DOWN:
- System.out.println("DOWN");
- player.move(1, 0);
- panel.repaint();
- break;
- case KeyEvent.VK_LEFT:
- System.out.println("LEFT");
- player.move(0, -1);
- panel.repaint();
- break;
- case KeyEvent.VK_RIGHT:
- System.out.println("RIGHT");
- player.move(0, 1);
- panel.repaint();
- break;
- }
- }
- @Override
- public void keyReleased(KeyEvent keyEvent) {
- }
- }
- package simpleGame;
- import javax.swing.*;
- import java.awt.*;
- public class MapPanel extends JPanel {
- private Player p;
- private int PANEL_WIDTH=800, PANEL_HEIGHT=800;
- public MapPanel(Player play){
- p=play;
- setPreferredSize(new Dimension(PANEL_WIDTH, PANEL_HEIGHT));
- }
- public void paintComponent(Graphics g){
- super.paintComponent(g);
- g.fillRect(p.getLocCol(), p.getLocRow(), p.getCELL_SIZE(),p.getCELL_SIZE());
- }
- }
- package simpleGame;
- public class Player {
- private int locRow, locCol;
- private final int CELL_SIZE=20;
- public Player(int row, int col){
- locRow=row*CELL_SIZE;
- locCol=col*CELL_SIZE;
- }
- public boolean move(int rowShift, int colShift){
- boolean moved=true;
- locRow=locRow+(rowShift*CELL_SIZE);
- locCol=locCol+(colShift*CELL_SIZE);
- return moved;
- }
- public int getCELL_SIZE() {
- return CELL_SIZE;
- }
- public int getLocRow() {
- return locRow;
- }
- public void setLocRow(int locRow) {
- this.locRow = locRow;
- }
- public int getLocCol() {
- return locCol;
- }
- public void setLocCol(int locCol) {
- this.locCol = locCol;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement