Initial commit
This commit is contained in:
97
Platformer.java
Normal file
97
Platformer.java
Normal file
@@ -0,0 +1,97 @@
|
||||
import java.util.Random;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.io.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import java.awt.Graphics;
|
||||
import javax.swing.*;
|
||||
|
||||
public class Platformer extends JPanel implements KeyListener, ActionListener{
|
||||
|
||||
//finals
|
||||
static final int GRAVITY = 10;
|
||||
static final Color playerColor = Color.RED;
|
||||
static final Color tileColor = Color.BLUE;
|
||||
|
||||
Player player;
|
||||
ArrayList<Tile> tiles;
|
||||
//display vars
|
||||
int boardWidth;
|
||||
int boardHeight;
|
||||
int tileSize;
|
||||
Timer gameTimer;
|
||||
|
||||
|
||||
public Platformer(int boardWidth, int boardHeight, int tileSize){
|
||||
//setup game
|
||||
this.boardWidth = boardWidth;
|
||||
this.boardHeight = boardHeight;
|
||||
this.tileSize = tileSize;
|
||||
setPreferredSize(new Dimension(this.boardWidth, this.boardHeight));
|
||||
addKeyListener(this);
|
||||
this.setFocusable(true);
|
||||
gameTimer = new Timer(15,this);
|
||||
player = new Player(20,20,20,20);
|
||||
tiles = new ArrayList<>();
|
||||
tiles.add(new Tile (0,300,tileSize * 20,tileSize));
|
||||
}
|
||||
|
||||
//gameloop
|
||||
public void gameLoop(){
|
||||
player.moveY(GRAVITY);
|
||||
}
|
||||
|
||||
//paintComponent
|
||||
public void paintComponent(Graphics g){
|
||||
super.paintComponent(g);
|
||||
draw(g);
|
||||
}
|
||||
|
||||
//draw function
|
||||
public void draw(Graphics g){
|
||||
|
||||
//draw player
|
||||
g.setColor(playerColor);
|
||||
g.fillRect(player.x,player.y,player.width,player.height);
|
||||
|
||||
//draw tiles
|
||||
g.setColor(tileColor);
|
||||
for (Tile t : tiles){
|
||||
t.draw(g);
|
||||
}
|
||||
}
|
||||
|
||||
//every tick
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e){
|
||||
gameLoop();
|
||||
repaint();
|
||||
}
|
||||
|
||||
//check for key presses
|
||||
@Override
|
||||
public void keyPressed(KeyEvent e){
|
||||
if (e.getKeyCode() == KeyEvent.VK_S){
|
||||
gameTimer.start();
|
||||
}
|
||||
|
||||
if (e.getKeyCode() == KeyEvent.VK_R){
|
||||
gameTimer.stop();
|
||||
player.x = 20;
|
||||
player.y = 20;
|
||||
repaint();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void keyReleased(KeyEvent e){
|
||||
|
||||
}
|
||||
|
||||
//dont need
|
||||
@Override
|
||||
public void keyTyped(KeyEvent e){
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user