Hallo Liebe Community,
Also, es geht sich darum. Bin kurz vor dem Abi und habe mir gedacht, vielleicht sollte ich mal was lernen. Im Unterricht programmierten wir mal ein Ping Pong Spiel. Ganz Einfach. Nur ein Spieler und keine großen Funktionen. Leider komme ich nicht mehr weiter.
Das Programm ist leider nicht ganz auskommentiert...
Mein Problem liegt jetzt eigentlich nur darin, dass sich der Ball nicht bewegt.. .
Im Internet fand ich den Timer der unten in der Try Catch Schleife steht. Leider sagt der Compiler mir die ganze zeit das in Zeile 66 der Thread nicht dereferenced werden kann. Wenn ich noch irgendwelche Daten vergessen habe und ihr mir helfen könnt, bitte melden.
Danke schonmal.
@Fu3l Tut mir leid. Hoffe du meintest das so
Bin neu hier...
Also, es geht sich darum. Bin kurz vor dem Abi und habe mir gedacht, vielleicht sollte ich mal was lernen. Im Unterricht programmierten wir mal ein Ping Pong Spiel. Ganz Einfach. Nur ein Spieler und keine großen Funktionen. Leider komme ich nicht mehr weiter.
Das Programm ist leider nicht ganz auskommentiert...
Mein Problem liegt jetzt eigentlich nur darin, dass sich der Ball nicht bewegt.. .
Im Internet fand ich den Timer der unten in der Try Catch Schleife steht. Leider sagt der Compiler mir die ganze zeit das in Zeile 66 der Thread nicht dereferenced werden kann. Wenn ich noch irgendwelche Daten vergessen habe und ihr mir helfen könnt, bitte melden.
Danke schonmal.
@Fu3l Tut mir leid. Hoffe du meintest das so
Bin neu hier...
Java:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.applet.*;
public class pong extends JFrame{
JSlider m_SPaddel;
CMeinJPanel m_malfläche;
boolean richtung = true;
int xpos,xposb=100,yposb=150,th,Thread;
public static void main(String[]args){
pong fenster= new pong("Pong Beta 1");
fenster.pack();
fenster.setSize(450,350);
fenster.setResizable(false);
fenster.setVisible(true);
}//Ende main
//Slider
class m_SPaddel implements ChangeListener{
public void stateChanged(ChangeEvent e){
JSlider source=(JSlider)e.getSource();
xpos=source.getValue();
repaint();
}
}
public class BallApplet extends Applet implements Runnable
{
public void start ()
{
// Schaffen eines neuen Threads, in dem das Spiel läuft
Thread th = new Thread (this);
// Starten des Threads
th.start ();
}
public void run ()
{
// Erniedrigen der ThreadPriority
// Solange true ist läuft der Thread weiter
while (true)
{
// Verändern der X - Koordinate des Balles
xposb ++;
// Neuzeichnen des Applets
repaint();
try
{
// Stoppen des Threads für in Klammern angegebene Millisekunden
Thread.sleep(20);
}
catch (InterruptedException ex)
{
// do nothing
}
// Zurücksetzen der ThreadPriority auf Maximalwert
}
}
}
pong(String titel){
super(titel);
JPanel panel = new JPanel();
setLayout(new FlowLayout());
panel.setLayout(new GridLayout(1,1,20,20));
m_malfläche = new CMeinJPanel();
add(m_malfläche);
add(panel);
//Den Slider anlegen
m_SPaddel=new JSlider(JSlider.VERTICAL,-278,0,0);
add("East",m_SPaddel);
m_SPaddel.addChangeListener(new m_SPaddel());
setDefaultCloseOperation(EXIT_ON_CLOSE);
}//Ende Kostruktor
class CMeinJPanel extends JPanel{
public void paintComponent(Graphics g){
//Paddel
g.setColor(Color.blue);
g.fillRect(380,xpos*-1,5,20);
//Oben
g.setColor(Color.black);
g.fillRect(0,0,390,2);
//Links
g.fillRect(0,0,2,300);
//Unten
g.fillRect(0,298,390,2);
//Rechts
g.fillRect(388,0,2,298);
//Ball
g.setColor(Color.red);
g.drawRect(xposb,yposb,2,2);
}
public Dimension getMinimumSize()
{
return new Dimension(400,300);
}//Ende getMinimumSize
public Dimension getPreferredSize()
{
return getMinimumSize();
}
}
}
Zuletzt bearbeitet: