package pack1;
import java.util.Timer;
import java.util.TimerTask;
public class BallKollision {
Timer kollision;
public BallKollision() {
kollision = new Timer();
kollision.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
if (Var.bally +50 >= Var.screenHöhe) {
Var.ballriy = -1;
}
if (Var.bally <= 0) {
Var.ballriy = 1;
}
if (Var.ballx+20 >= Var.screenBreite) {
Var.ballx = Var.screenBreite/2-10;
Var.bally =Var.screenHöhe/2-10;
Var.ballrix = -1;
Var.playerpoints += 1;
}
if (Var.ballx <= 0) {
Var.ballx = Var.screenBreite/2-10;
Var.bally =Var.screenHöhe/2-10;
Var.ballrix = 1;
Var.gegnerpoints += 1;
}
if ((Var.ballx < Var.x+25) && (Var.ballx > Var.x)&&(Var.bally -20 <= Var.y+150) && (Var.bally>Var.y)) {
Var.ballrix = 1;
}
if ((Var.ballx < Var.gegnerx) && (Var.ballx > Var.gegnerx-25)&&(Var.bally -20 <= Var.gegnery+150) && (Var.bally>Var.gegnery)) {
Var.ballrix = -1;
}
}
}, 0, 3);
}
}
package pack1;
import java.util.Timer;
import java.util.TimerTask;
public class BallMovement {
Timer move;
public BallMovement() {
move = new Timer();
move.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
Var.ballx += Var.ballrix;
Var.bally += Var.ballriy;
}
}, 0, 3);
}
}
package pack1;
import java.awt.*;
import javax.swing.JLabel;
public class Draw extends JLabel {
/**
*
*/
private static final long serialVersionUID = 1L;
protected void paintComponent (Graphics g) {
super.paintComponent( g);
Graphics2D g2D = (Graphics2D) g;
g2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g.setColor(Color.black);
g.fillRect(0, 0, Var.screenBreite, Var.screenHöhe); // hier taucht das problem auf, dass das fenster beim abspielen des programms nicht schwarz ist
g.setColor(Color.white);
for (int i = 0; i <= 30; i++) {
g.fillRect(Var.screenBreite/2-5, i*20, 10, 10);
}
g.fillRect(Var.x, Var.y, 25, 150);
g.fillRect(Var.gegnerx, Var.gegnery, 25, 150);
g.drawString("Meine Punkte"+Var.playerpoints, Var.screenBreite/2-95, 75);
g.drawString("deine Punkte"+Var.gegnerpoints, Var.screenBreite/2+95, 75);
g.fillRect(Var.ballx, Var.bally, 20, 20);
repaint();
}
}
package pack1;
import java.util.Timer;
import java.util.TimerTask;
public class GegnerMovement {
Timer move;
public GegnerMovement() {
move = new Timer();
move.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
{
if (Var.ballx >= Var.screenBreite/2-10) {
if (Var.bally == Var.gegnery) {
}
else if (Var.bally > Var.gegnery+75) {
if (Var.gegnery <= Var.screenHöhe-200) {
Var.gegnery += 2;
}else if (Var.gegnery < Var.gegnery+75) {
if (Var.gegnery >= 20) {
Var.gegnery -= 2;
}
}
}
}
}
}
}, 0, 3);
}
}
package pack1;
import javax.swing.*;
public class GUI {
public GUI() {
// TODO Auto-generated constructor stub
Var.jf1 = new JFrame();
Var.jf1.setSize(Var.screenBreite, Var.screenHöhe);
Var.jf1.setTitle("Pong");
Var.jf1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Var.jf1.setLayout(null);
Var.jf1.setResizable(false);
Var.jf1.setVisible(true);
Var.jf1.setLocationRelativeTo(null);
Var.jf1.addKeyListener(new KeyHandler());
Var.jf1.requestFocus();
Var.jf1.getContentPane().setBackground(java.awt.Color.BLACK);
Draw lbldraw = new Draw();
lbldraw.setBounds( 0,0, Var.screenBreite, Var.screenHöhe );
lbldraw.setVisible(true);
Var.jf1.add(lbldraw);
}
}
package pack1;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class KeyHandler implements KeyListener {
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
if (e.getKeyCode() == KeyEvent.VK_W) {
Var.moveup = true;
}
else if (e.getKeyCode() == KeyEvent.VK_S) {
Var.movedown = true;
}
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
if (e.getKeyCode() == KeyEvent.VK_W) {
Var.moveup = false;
}
else if (e.getKeyCode() == KeyEvent.VK_S) {
Var.movedown = false;
}
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
}
package pack1;
import java.util.Timer;
import java.util.TimerTask;
public class Movement {
Timer move;
public Movement() {
move = new Timer();
move.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
if (Var.moveup == true ) {
if (Var.y >= 20) {
Var.y -= 2;
}
}
else if (Var.movedown == true ) {
if (Var.y <= 400) {
Var.y += 2;
}
}
}
}, 0, 3);
}
}
package pack1;
import javax.swing.*;
public class Var {
static JFrame jf1;
static int screenBreite = 800, screenHöhe = 600;
static int x = 20, y = 185;
static int gegnerx = 755, gegnery = 185;
static int ballx = 200, bally = 200;
static boolean moveup = false, movedown = false ;
static int playerpoints = 0, gegnerpoints = 0;
static int ballrix = 1;
static int ballriy = -1;
public Var() {
// TODO Auto-generated constructor stub
}
}
if (Var.ballx >= Var.screenBreite/2-10) {
if (Var.bally == Var.gegnery) {
}
else if (Var.bally > Var.gegnery+75) {
if (Var.gegnery <= Var.screenHöhe-200) {
Var.gegnery += 2;
} else if (Var.gegnery < Var.gegnery+75) {
if (Var.gegnery >= 20) {
Var.gegnery -= 2;
}
}
}
}
if (Var.ballx >= Var.screenBreite/2-10) {
if (Var.bally == Var.gegnery) {
} else if (Var.bally > Var.gegnery+75) {
if (Var.gegnery <= Var.screenHöhe-200) {
Var.gegnery += 2;
}
} else if (Var.bally < Var.gegnery+75) {
if (Var.gegnery >= 20) {
Var.gegnery -= 2;
}
}
}
if (Var.ballx >= Var.screenBreite/2-10) {
if (Var.bally == Var.gegnery) {
} else if (Var.bally > Var.gegnery+75) {
if (Var.gegnery <= Var.screenHöhe-200) {
Var.gegnery += 2;
}
} else {
if (Var.gegnery >= 20) {
Var.gegnery -= 2;
}
}
}