Initial commit

This commit is contained in:
CoolGuy27
2026-02-27 20:10:29 +00:00
commit 3739ae0d65
12 changed files with 202 additions and 0 deletions

97
Platformer.java Normal file
View 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){
}
}