I was making a pong game when I realized (by looking at other people's examples) that my Pong code was very messy and not organized. I would like to ask for assistance.
import java.awt.*;
import java.awt.Component;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.Timer;
public class Pong {
JFrame frame;
//JButton up;
//JButton down;
JTextField controls;
MyDrawPanel drawPanel;
int y = 325;
int edge;
int bx = 650;
int by = 325;
boolean gameOn = true;
public static void main(String[] args) {
Pong game = new Pong();
game.go();
}
public void go() {
frame = new JFrame();
// up = new JButton();
//down = new JButton();
controls = new JTextField();
drawPanel = new MyDrawPanel();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(controls);
controls.requestFocus();
controls.addKeyListener(new keyListener());
frame.setTitle("Pong");
frame.setSize(1366,768);
frame.getContentPane().setBackground(Color.black);
/* up.setText("UP");
up.setBackground(Color.white);
up.addActionListener(new upListener());
down.setText("DOWN");
down.setBackground(Color.white);
down.addActionListener(new downListener());
frame.getContentPane().add(BorderLayout.SOUTH, down);
frame.getContentPane().add(BorderLayout.NORTH, up); */
frame.getContentPane().add(drawPanel);
frame.setVisible(true);
while(gameOn) {
}
}
class keyListener implements KeyListener {
public void keyPressed(KeyEvent e) {
// int id = e.getID();
char key = e.getKeyChar();
//System.out.println("Key Pressed" + " " + key);
if(key == 'w' && y > 0) {
y = y-4;
drawPanel.repaint();
edge = 0;
}
else if(key == 's' && y < 560) {
y = y+4;
drawPanel.repaint();
edge = 0;
} else {
if(edge < 3) {
System.out.println("edge");
edge++;
}
}
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
}
}
/* class upListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
System.out.println("left");
for(int i = 20; i > 0; i--) {
Timer timer = new Timer(5, this);
// timer.setInitialDelay(19000);
timer.start();
y--;
drawPanel.repaint();
}
}
}
class downListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
System.out.println("right");
y = y + 10;
drawPanel.repaint();
}
} */
class MyDrawPanel extends JPanel {
public void paintComponent(Graphics g) {
g.setColor(Color.black);
g.fillRect(0,0,this.getWidth(),this.getHeight());
g.setColor(Color.white);
g.fillRect(1300,y,30,150);
g.setColor(Color.white);
g.fillOval(bx,by,20,20);
}
}
}