PingPong HILFE !!!

Status
Nicht offen für weitere Antworten.

Hax0r

Neues Mitglied
Hey Leute ich bin neu hier und brauche ein bisschen hilfe ;-)
Ich hab seit ca 1/2 Jahr Info als Grundkurs auf nem Gymnasium und jetzt sollen wir ein Spiel programieren aber ich komm nicht weiter...

Also ich bin fast fertig suche nurnoch nach einer möglichkeit 2 Variablen durch Tastendruck zu verändern. Halt den Bumper von Pingpong rauf und runter bewegen.

Hier der Quelltext (die Zeilen mit den Variablen sind 123 / 124 ;-) ) :
Java:
package PingPong;
import java.awt.*;

public class fenster extends Frame
{
   int ende=0;
   int x=0;
   int a1=120;
   int a2=140;
   int c1;
   int c2;
   void umkehr()
   {
     if(x==0)
     {
       a1++;
       a2++;
       c1=a1-1;
       c2=a2-1;
     }
     if(x==1)
     {
       a1++;
       a2--;
       c1=a1-1;
       c2=a2+1;
     }
     if(x==2)
     {
       a1--;
       a2++;
       c1=a1+1;
       c2=a2-1;
     }
     if(x==3)
     {
       a1--;
       a2--;
       c1=a1+1;
       c2=a2+1;
     }
   }
   void check()
   {
     if(x==0 && a2==579)
     {
       x=1;
     }
     if(x==1 && a2==40)
     {
       x=0;
     }
     if(x==2 && a2==579)
     {
       x=3;
     }
     if(x==3 && a2==40)
     {
       x=2;
     }
     if(x==0 && a1==789)
     {
       x=2;
     }
     if(x==1 && a1==789)
     {
       x=3;
     }
     if(x==2 && a1==11)
     {
       x=0;
     }
     if(x==3 && a1==11)
     {
       x=1;
     }
   }
   public fenster()
   {
     super("Ping Pong");
     this.setSize(800,600);
     this.setBackground(Color.BLACK);
     this.show();

   }
   public void paint (Graphics g)
   {
     int b1=31;
     while(b1<=35)
     {
       b1++;
       g.setColor(Color.GREEN);
       g.drawLine(0,b1,800,b1);
       g.drawLine(0,626-b1,800,626-b1);
     }
     g.setColor(Color.GREEN);
     g.drawString("3 !!!", 375, 300);
     try {Thread.sleep(1000);}
     catch(InterruptedException e) {}
     g.setColor(Color.BLACK);
     g.drawString("3 !!!", 375, 300);
     g.setColor(Color.GREEN);
     g.drawString("2 !!!", 375, 300);
     try {Thread.sleep(1000);}
     catch(InterruptedException e) {}
     g.setColor(Color.BLACK);
     g.drawString("2 !!!", 375, 300);
     g.setColor(Color.GREEN);
     g.drawString("1 !!!", 375, 300);
     try {Thread.sleep(1000);}
     catch(InterruptedException e) {}
     g.setColor(Color.BLACK);
     g.drawString("1 !!!", 375, 300);
     g.setColor(Color.GREEN);
     g.drawString("Los !!!", 375, 300);
     try {Thread.sleep(500);}
     catch(InterruptedException e) {}
     g.setColor(Color.BLACK);
     g.drawString("Los !!!", 375, 300);
     while(ende == 0)
     {
       int b2=10;
       int b3=275;
       int b4=275;
       while(b2<=16)
       {
       b2++;
       g.setColor(Color.GREEN);
       g.drawLine(b2,b3,b2,b3+50);
       g.drawLine(800-b2,b4,800-b2,b4+50);
       }
       if(a1==789 || a1==11)
       {
         if ( ( (x == 1 || x == 0) && (b4 <= a2 && a2 <= (b4 + 50))) ||
             ( (x == 2 || x == 3) && (b3 <= a2 && a2 <= (b3 + 50)))) {
           check();
         }
         else {
           ende = 1;
           g.setColor(Color.GREEN);
           if(x==0 || x==1)
           {
           g.drawString("Spieler 1 Gewinnt !!!", 375, 300);
           }
           if(x==2 || x==3)
           {
           g.drawString("Spieler 2 Gewinnt !!!", 375, 300);
           }
         }
       }
       if(a2==40 || a2==579)
         {check();}
       g.setColor(Color.BLACK);
       g.drawOval(c1,c2,10,10);
       g.setColor(Color.GREEN);
       g.drawOval(a1,a2,10,10);
       try {Thread.sleep(2,5);}
       catch(InterruptedException e) {}
       umkehr();
     }
   }

public static void main(String args[])
   {
     fenster f = new fenster();
   }
}


Vielen dank für jede Hilfe :toll:
PS: ich weiß der Code sieht furchtbar aus :eek:
 

Marco13

Top Contributor
Das wird nicht möglich sein, solange du den Code nicht weniger furchtbar machst. Die ganze Logik in der paint bewirkt, dass alles blockiert ist. Ich würde gerne sagen: "Selten habe ich größeren Unfug gesehen", aber das stimmt leider nicht. Such nach Tutorials zu Swing. Dein spezielles Problem würde man bei einem richtige(re)n Programm mit einem KeyListener lösen. Mehr kann man dazu kaum sagen.
 

Hax0r

Neues Mitglied
Also es würde mir sehr helfen wenn da einfach nur jemand kurz erklärt, wie ich da einen KeyListener reinbaue und dass der wenn ich :
"q" drücke b3=b3-3;
"a" -> b3=b3+3;
"8" -> b4=b4-3;
"5" -> b4=b4+3;
 

Schandro

Top Contributor
Also es würde mir sehr helfen wenn da einfach nur jemand kurz erklärt, wie ich da einen KeyListener reinbaue
Es geht nicht. Du MUSST das ganze Programm umstrukturieren.

Mann darf in der paint-Methode NUR malen, nichts anderes! Und auf gar keinen Fall ne Unendlichschleife oder Thread.sleep. Die paint-Methode muss so schnell wie möglich abgehandelt werden können.

Les dir mal ein Tutorial über Malen mit Swing/AWT durch (z.b. Malen in AWT und Swing - Byte-Welt Wiki) und guck dir mal den Beispielcode an:
Java:
import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class XXX{

    public static void main(String[] args){
        new XXX();}


    private JFrame window = new JFrame();
    private int cnt; // wird zur Kommunikation ziwschen dem animationThread und paintComponent benutzt

    public XXX(){
        window.setBounds(100,100,400,200);
        window.add(panel);

        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                window.setVisible(true);
            }
        });

        Thread animationThread = new Thread(new Runnable(){
            public void run(){
                while(cnt < 300){
                    ++cnt;
                    panel.repaint();

                    try{
                        Thread.sleep(10);
                    }catch(InterruptedException e){
                        e.printStackTrace();
                    }
                }
            }
        });
        animationThread.start();
    }


    private JPanel panel = new JPanel(){
        public void paintComponent(Graphics g){
            super.paintComponent(g);

            g.setColor(Color.BLACK);
            g.fillRect(cnt,50,50,50);
        }
    };

}

Achso, noch ein paar andere Sachen zu deinen Code:
1.
Die Methode show() von Frame ist Deprecated. Das heisst sie ist zwar noch in der API drinnen wegen der Abwärtskompatibilität, man sollte sie aber nicht mehr benutzen.
schreib stattdessen:
setVisible(true);

2.
Schreibweise von Namen:
Klassennamen: CamelCase
Variablen; camelCase
packages: camelcase

Bei dir müsste die Klasse also "Fenster" und das package "pingpong" heissen.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Snake3D,Minesweeper,PingPong Spiele- und Multimedia-Programmierung 12
U2nt Pingpong: Richtung/Winkel Spiele- und Multimedia-Programmierung 3
P PingPong Spiel - Kollision Spiele- und Multimedia-Programmierung 2
Developer_X PingPong-the Game by Developer-X Spiele- und Multimedia-Programmierung 170
T PingPong 3D Spiele- und Multimedia-Programmierung 31
M Space PingPong Game --> Performance ok? Spiele- und Multimedia-Programmierung 44
R PingPong Java Spiele- und Multimedia-Programmierung 1
Atten007 Minecraft Hilfe bei benutzerdefinierten Bannervorlagen in MCreator benötigt Spiele- und Multimedia-Programmierung 0
R Flappy Bird Hilfe Spiele- und Multimedia-Programmierung 1
Atten007 Minecraft Hilfe bei der Fehlerbehebung in MCreator benötigt Spiele- und Multimedia-Programmierung 1
Atten007 Minecraft Hilfe beim MCreator Plugin benötigt Spiele- und Multimedia-Programmierung 0
Atten007 Minecraft Hilfe beim MCreator Plugin benötigt Spiele- und Multimedia-Programmierung 5
A [HILFE] - Minecraft-Problem! Spiele- und Multimedia-Programmierung 1
JEP1 Hilfe bei Spiel Spiele- und Multimedia-Programmierung 1
J TreeNode erstellen [Hilfe beim Konstruktor, Zeile 16] Spiele- und Multimedia-Programmierung 2
Z Minecraft Hilfe bei Minecraft PvP Client Spiele- und Multimedia-Programmierung 21
T Hilfe beim Platzieren der Schiffe Spiele- und Multimedia-Programmierung 14
M Brauche Hilfe was zu Programmieren Spiele- und Multimedia-Programmierung 4
P Snake Java Hilfe Spiele- und Multimedia-Programmierung 4
RalleYTN Brauche Hilfe beim Einlesen von PNGs Spiele- und Multimedia-Programmierung 14
P Hilfe für Seminar Arbeit Spiele- und Multimedia-Programmierung 9
T Pong Hilfe bei einer Website Spiele- und Multimedia-Programmierung 4
T Hilfe bei decompilen von Plugin Spiele- und Multimedia-Programmierung 6
E Brauche Hilfe was soll ich tun Spiele- und Multimedia-Programmierung 7
B HILFE bei Spieleprogrammierung mit Slick2D Spiele- und Multimedia-Programmierung 9
S Würfelspiel; Hilfe Spiele- und Multimedia-Programmierung 3
M Hilfe bei vier gewinnt Spiele- und Multimedia-Programmierung 4
S Hilfe bei Java Gui Spiele- und Multimedia-Programmierung 2
C Visual Story programieren/hilfe Spiele- und Multimedia-Programmierung 5
L Hilfe: Moog VCF Diskretisierungs Algorithmen (Smith/Stilson u.A.) Spiele- und Multimedia-Programmierung 0
J Spielfiguren laufen lassen auf einer html Tabelle mit Hilfe von Servlets Spiele- und Multimedia-Programmierung 2
M Hilfe bei Snake Spiele- und Multimedia-Programmierung 4
T Hintergrundmusik eines Spiels mit Hilfe von JLayer Spiele- und Multimedia-Programmierung 12
S 2D mit Slick - Anfänger sucht Hilfe Spiele- und Multimedia-Programmierung 4
C Generelle Hilfe zur lwjgl Spiele- und Multimedia-Programmierung 0
J Hilfe bei Fußballmanager Spiele- und Multimedia-Programmierung 0
C Hilfe bei einem Mosaikspiel Spiele- und Multimedia-Programmierung 16
J Java Steuerberechnung hilfe Spiele- und Multimedia-Programmierung 17
U Hilfe bei Implementierung eines PointSounds in Java3D Spiele- und Multimedia-Programmierung 1
E Hilfe bei Labyrinth Programmierung. Spiele- und Multimedia-Programmierung 9
S Hilfe bei Spiel Spiele- und Multimedia-Programmierung 6
T Aim-Hilfe Spiele- und Multimedia-Programmierung 4
S Shiritori / word chain / Wörterkette Hilfe Spiele- und Multimedia-Programmierung 1
J Hilfe bei mastermind dringend !!!!! Spiele- und Multimedia-Programmierung 3
S Hilfe bei Spielumsetzung Spiele- und Multimedia-Programmierung 6
M Kleines Spongebobspiel / Hilfe gesucht Spiele- und Multimedia-Programmierung 2
L Hilfe bei Entities benötigt Spiele- und Multimedia-Programmierung 6
L Hilfe bei Klassendesign für Spiel Spiele- und Multimedia-Programmierung 2
A Minecraft Hilfe bei Minecraft Mod Spiele- und Multimedia-Programmierung 1
F Einen Sound mit veränderter Tonhöhe und Geschwindigkeit abspielen - Hilfe erbeten Spiele- und Multimedia-Programmierung 29
V Keine Ahnung von OpenGL! Hilfe wäre lieb! Spiele- und Multimedia-Programmierung 8
L Minecraft Minecraft Bukkit Plugin hilfe Spiele- und Multimedia-Programmierung 9
E Hilfe bei Highscore programmierung Spiele- und Multimedia-Programmierung 3
G Acht-Damen-Problem HILFE! Spiele- und Multimedia-Programmierung 11
R Hilfe bei Snake-Programmierung Spiele- und Multimedia-Programmierung 6
B Hilfe bei Minecraft Plugin Spiele- und Multimedia-Programmierung 3
C Java Brauche Hilfe Spiele- und Multimedia-Programmierung 5
M Hilfe bei Spiel Programmierung Spiele- und Multimedia-Programmierung 4
B Hilfe bei GameGrid Spiele- und Multimedia-Programmierung 11
J Spiel mit Java SWING, LWJGL und JMonkey [Anfänger braucht Hilfe] Spiele- und Multimedia-Programmierung 10
N Hilfe bei Tower Defense Spiele- und Multimedia-Programmierung 22
R hilfe bei 2DSpiel. Spiele- und Multimedia-Programmierung 3
S AirHockey Kollisionsprobleme, bitte um Hilfe Spiele- und Multimedia-Programmierung 2
L Abfrage-Fehler? - Hilfe bei Tetris Spiele- und Multimedia-Programmierung 9
R Hilfe bei Reversi/Othello Spiele- und Multimedia-Programmierung 6
J Hilfe: Rotation X und Y Achse (Java3d) Spiele- und Multimedia-Programmierung 12
B Hilfe bekomme den IF befehl nicht hin Spiele- und Multimedia-Programmierung 10
C RFID Überwachung - Hilfe Spiele- und Multimedia-Programmierung 3
javajavajava Java Lotto Zahl 6 aus 49 - Brauche Hilfe Spiele- und Multimedia-Programmierung 3
radiac FullScreenExlusiveMode HILFE!!! Spiele- und Multimedia-Programmierung 6
E TetrisApplet Thread Hilfe Spiele- und Multimedia-Programmierung 6
G GO-Spiel in Java noch fehlerhaft hoffe um hilfe Spiele- und Multimedia-Programmierung 7
N Brauche Hilfe bei kleinem Spiel Spiele- und Multimedia-Programmierung 40
N In einem Kasten springende Bälle programmieren...Hilfe Spiele- und Multimedia-Programmierung 7
L Brauche hilfe mit KeyEvent Spiele- und Multimedia-Programmierung 4
B brauche hilfe bei der tastenzuodnung Spiele- und Multimedia-Programmierung 3
E Hilfe bei einer GUI Programmierung mit Graph Spiele- und Multimedia-Programmierung 30
H Decke zeichnen mit Hilfe eines Polygons Spiele- und Multimedia-Programmierung 2
W Hilfe bei Pong mit Bluej Spiele- und Multimedia-Programmierung 4
A Hilfe bei der Methode COLOR (Java) Spiele- und Multimedia-Programmierung 10
S Hilfe: Ich sehe durch die ganze Api's nicht mehr durch! Spiele- und Multimedia-Programmierung 15
N Hilfe bei snake Spiele- und Multimedia-Programmierung 37
C Hilfe bei einfachen Game Spiele- und Multimedia-Programmierung 15
T Bitte um Hilfe bei Animationen Spiele- und Multimedia-Programmierung 10
G Fragespiel, Hilfe ! like Wer wird Millinär Spiele- und Multimedia-Programmierung 12
D Hilfe mit mini-spiel für die Schule. Spiele- und Multimedia-Programmierung 1
F Brauche Hilfe bei Bewegung eines Rechtecks [Applet] Spiele- und Multimedia-Programmierung 5
G Hilfe bei 3Gewinnt! Spiele- und Multimedia-Programmierung 2
C anfänger braucht hilfe für info unterricht Spiele- und Multimedia-Programmierung 21
A Hilfe bei Programmierung von Abalone Spiele- und Multimedia-Programmierung 6
S Hilfe bei Galgenmännchen Spiele- und Multimedia-Programmierung 4
M 'Mensch ärgere Dich nicht' - Hilfe! Spiele- und Multimedia-Programmierung 12
K Hilfe bei Grafikeinbindung in einem Spiel Spiele- und Multimedia-Programmierung 6
H Ich benötige Hilfe [Noob] Spiele- und Multimedia-Programmierung 9
R Probleme mit Sound in Applikation. HILFE Spiele- und Multimedia-Programmierung 5
B Hilfe gesucht!! (bewegen von grafischen Objekten) Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen

Neue Themen


Oben