Ergebnis 1 bis 6 von 6

Thema: Java - Pong programmieren

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Prophet Avatar von 1337_alpha
    Registriert seit
    03.10.2007
    Beiträge
    7.297

    Standard Java - Pong programmieren

    Hey ;)

    Wir müssen derzeit bei uns in IT eine Projektarbeit machen und am Montag müssen wir zeigen was wir bisher erreicht haben ;)

    Hier ist das was ich bisher erreicht hab nur verlier ich langsam irgendwie den Überblick wenn ich ehrlich bin

    Was ich jetzt noch gerne einfügen würde bis zum Montag sind eben die Paddles und eine Mittellinie
    Mittellinie sollte recht einfach denke ich zu programmieren sein (eben einfach ne Linie die auf der x Koordinate (Spielfeldbreite/2) sitzt

    Aber bei den Paddles hab ich nicht den geringsten Schimmer da ich sowas noch nie gemacht hab
    Soll das per Rectangle oder per Linie die eine bestimmte Dicke aufweist gemacht werden?

    Und wie zur Hölle steuer ich die dann? o.O Hab im Internet schon nach Lösungen gesucht aber da findet man so gut wie gar nichts
    Wäre sehr nett wenn mir jemand helfen könnte da ich wie gesagt auch Langsam den Überblick verlier

    Code:
    import java.awt.*;
    import java.awt.event.*;
    
    //Variablen
    public class Pong extends Frame{
      static int breite=1024,hoehe=800,punkte;
      int max_zahl = 1;
      int trefferspieler1=0;
      int trefferspieler2=0;
      Ball b;
      private Image dbImage;
      private Graphics dbg;
    
      //Zeichnen des Fensters
      public void update(Graphics g)
        {
            if(dbImage==null)
            {
                dbImage=createImage(this.getSize().width, this.getSize().height);
                dbg=dbImage.getGraphics();
            }
            
            dbg.setColor(getBackground());
            dbg.fillRect(0,0,this.getSize().width, this.getSize().height);
            dbg.setColor(getForeground());
            paint(dbg);
            g.drawImage(dbImage,0,0,this);
        }
      
      //Spiel wird geschlossen wenn x gedrückt wird
      public Pong(String s){
        super(s); 
        this.addWindowListener (new WindowAdapter(){
          public void windowClosing(WindowEvent e){
            dispose();
            System.exit(0);
          }
        });
    //Farbe des Balls und Startposition
          Color farbe=Color.WHITE;
          b = new Ball(this,1024/2,800/2,20,farbe);
      }
    
      //Überschrift des Fensters,Größe,Hintergrundfarbe
      public static void main(String args[]){
        Pong f = new Pong("Pong - TGI-EK - Projektarbeit");
        f.setSize(breite,hoehe);
        f.setBackground(Color.black);
        f.setVisible(true);
      }
    
      //Punktestandanzeige (unvollständig) - korrekte Zählung fehlt
      public void paint(Graphics f){
        b.maleball(f);
        f.setColor(Color.white);
        f.drawString("Punktestand: "+ trefferspieler1+" : "+trefferspieler2,500,780);
      }
    
    }
    
    //Bewegung des Balls
    class Ball extends Thread{
      private int x,y,r,xr=2,yr=3;
      Color farbe;
      boolean sichtbar=true;
      Pong b;
    
      public Ball(Pong e,int xk,int yk,int rk,Color kfarbe){
        farbe=kfarbe;
        b=e;
        r=rk;
        x=xk;
        y=yk;
        this.start();
      }
    
      public void sichtbar_wechsel(boolean x){sichtbar=x;}
    
      public void maleball(Graphics g){
        if (sichtbar==true){
          g.setColor(farbe);
          g.fillOval(x,y,r*2,r*2);
        }
      }
    
      public int b_x(){return x;}
    
      public int b_y(){return y;}
    
      public int b_r(){return r;}
    
      // Geschwindigkeit des Balls
      public void run(){
        for(;;){
          try {this.sleep(3);}
          catch(InterruptedException e){}
          x=x-xr;
          y=y-yr;
          if( (x<=0) || (x>=(b.breite-2*r)) ) xr = -xr;
          if( (y<=20) || (y>=(b.hoehe-2*r)) ) yr = -yr;
          b.repaint();
          
        }
      }
    }
    Geändert von 1337_alpha (28.05.2011 um 13:58 Uhr)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •