Ball rng added + some other stuff
parent
5adfa6a342
commit
6212745dcd
|
@ -0,0 +1,10 @@
|
|||
This is Pong.
|
||||
But with moving Frames.
|
||||
Yes, it is awesome.
|
||||
|
||||
Made by Lenz Wiechers
|
||||
|
||||
Made for one FullHD Monitor
|
||||
You have to select the Ball (the middle frame)
|
||||
You can then control the left Frame with 'w' to move it up and 'a' to move it down.
|
||||
The right Frame can be controlled with ArrowUp and ArrowDown.
|
BIN
bin/Ball.class
BIN
bin/Ball.class
Binary file not shown.
BIN
bin/Game.class
BIN
bin/Game.class
Binary file not shown.
BIN
bin/Main.class
BIN
bin/Main.class
Binary file not shown.
BIN
bin/Player.class
BIN
bin/Player.class
Binary file not shown.
|
@ -1,5 +1,6 @@
|
|||
import java.awt.event.KeyEvent;
|
||||
import java.awt.event.KeyListener;
|
||||
import java.util.Random;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
|
||||
|
@ -9,8 +10,8 @@ public class Ball extends JFrame implements KeyListener {
|
|||
|
||||
private float speed = 0.0000003f;
|
||||
|
||||
private float xPos = 300;
|
||||
private float yPos = 300;
|
||||
private double xPos = 300;
|
||||
private double yPos = 300;
|
||||
public int xSize = 100;
|
||||
public int ySize = 100;
|
||||
|
||||
|
@ -20,11 +21,33 @@ public class Ball extends JFrame implements KeyListener {
|
|||
public boolean rightUp;
|
||||
public boolean rightDown;
|
||||
|
||||
private boolean ballUp;
|
||||
private boolean ballDown;
|
||||
private boolean ballRight;
|
||||
private boolean ballLeft;
|
||||
|
||||
Random rand;
|
||||
|
||||
public Ball() {
|
||||
|
||||
this.addKeyListener(this);
|
||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
this.setVisible(true);
|
||||
this.setResizable(false);
|
||||
|
||||
Random rand = new Random();
|
||||
|
||||
if (rand.nextBoolean()) {
|
||||
ballRight = true;
|
||||
} else {
|
||||
ballLeft = true;
|
||||
}
|
||||
|
||||
if (rand.nextBoolean()) {
|
||||
ballUp = true;
|
||||
} else {
|
||||
ballDown = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -69,13 +92,23 @@ public class Ball extends JFrame implements KeyListener {
|
|||
public int getPos(char coordinate, long dt) {
|
||||
|
||||
if (coordinate == 'x') {
|
||||
if (ballLeft) {
|
||||
xPos -= speed * dt;
|
||||
} else if (ballRight) {
|
||||
xPos += speed * dt;
|
||||
}
|
||||
return (int) xPos;
|
||||
} else if (coordinate == 'y') {
|
||||
if (ballUp) {
|
||||
yPos -= speed * dt;
|
||||
} else if (ballDown) {
|
||||
yPos += speed * dt;
|
||||
}
|
||||
return (int) yPos;
|
||||
} else
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
public void delay(int time) {
|
||||
|
||||
try {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
public class Game {
|
||||
|
||||
Ball ball;
|
||||
|
||||
|
||||
// blob
|
||||
|
||||
// Delta time: siehe https://en.wikipedia.org/wiki/Delta_timing
|
||||
|
@ -14,22 +14,19 @@ public class Game {
|
|||
|
||||
public Game() {
|
||||
|
||||
ball = new Ball();
|
||||
|
||||
leftPlayer = new Player();
|
||||
rightPlayer = new Player();
|
||||
|
||||
ball = new Ball();
|
||||
|
||||
ball.setSize(ball.xSize, ball.ySize);
|
||||
|
||||
leftPlayer.setSize(0, leftPlayer.ySize);
|
||||
leftPlayer.setLocation(leftPlayer.xPos, leftPlayer.getPos(0, false, false));
|
||||
leftPlayer.setTitle("left Player");
|
||||
|
||||
rightPlayer.xPos = 1000;
|
||||
rightPlayer.setSize(0, rightPlayer.ySize);
|
||||
rightPlayer.setLocation(rightPlayer.xPos, rightPlayer.getPos(0, false, false));
|
||||
rightPlayer.setTitle("right Player");
|
||||
|
||||
|
||||
ball.setLocation(ball.getPos('x', dt), ball.getPos('y', dt));
|
||||
|
||||
lastT = System.nanoTime(); // delta time
|
||||
|
@ -39,16 +36,16 @@ public class Game {
|
|||
dt = System.nanoTime() - lastT; // delta time
|
||||
lastT = System.nanoTime(); // delta time
|
||||
|
||||
leftPlayer.setLocation(10, leftPlayer.getPos(dt, ball.leftUp, ball.leftDown));
|
||||
|
||||
rightPlayer.setLocation(rightPlayer.xPos, rightPlayer.getPos(dt, ball.rightUp, ball.rightDown));
|
||||
leftPlayer.setLocation(0, leftPlayer.getPos(dt, ball.leftUp, ball.leftDown));
|
||||
|
||||
// ball.setLocation(ball.getPos('x', dt), ball.getPos('y', dt));
|
||||
rightPlayer.setLocation(1785, rightPlayer.getPos(dt, ball.rightUp, ball.rightDown));
|
||||
|
||||
ball.setLocation(ball.getPos('x', dt), ball.getPos('y', dt));
|
||||
|
||||
// ball.leftPlayer.setLocation(10, 700);
|
||||
// ball.xPos++;
|
||||
|
||||
//System.out.println(ball.leftDown + " " + ball.leftUp);
|
||||
|
||||
// System.out.println(ball.leftDown + " " + ball.leftUp);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
public class Main {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
Game game = new Game();
|
||||
|
||||
}
|
||||
|
|
|
@ -6,25 +6,28 @@ public class Player extends JFrame {
|
|||
|
||||
public float speed = 0.0000003f;
|
||||
|
||||
public int xPos = 10;
|
||||
public double yPos = 100;
|
||||
public int xSize = 100;
|
||||
public int ySize = 200;
|
||||
|
||||
public Player() {
|
||||
|
||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
this.setVisible(true);
|
||||
this.setResizable(false);
|
||||
|
||||
}
|
||||
|
||||
public int getPos(long dt, boolean up, boolean down) {
|
||||
System.out.println(yPos);
|
||||
|
||||
if(up) {
|
||||
// System.out.println(yPos);
|
||||
|
||||
if(yPos > 850) {
|
||||
yPos = 850;
|
||||
}
|
||||
|
||||
if (up) {
|
||||
yPos -= speed * dt;
|
||||
} else if(down) {
|
||||
|
||||
} else if (down && yPos < 850) {
|
||||
yPos += speed * dt;
|
||||
}
|
||||
return (int) yPos;
|
||||
|
|
Loading…
Reference in New Issue