1337_alpha
Enthusiast
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? 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
Ich wäre sehr dankbar wenn mir jemand zeigen könnte wie das geht
Gerne auch per ICQ
edit: So
Also die Paddles sind schonmal eingefügt und ich habs auch so gemacht dass sie exakt in der Mitte sitzen usw
Die Mittellinie braucht ja keine Kollisionsabfrage aber die Paddel auf jeden Fall
Wie kann ich dies realisieren?
Und vorallem was noch viel wichtiger ist bevor sie überhaupt eine Kollisionsabfrage haben ist wie ich sie halt bewege ^^
Den Code hab ich editiert
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? 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
Ich wäre sehr dankbar wenn mir jemand zeigen könnte wie das geht
Gerne auch per ICQ
edit: So
Also die Paddles sind schonmal eingefügt und ich habs auch so gemacht dass sie exakt in der Mitte sitzen usw
Die Mittellinie braucht ja keine Kollisionsabfrage aber die Paddel auf jeden Fall
Wie kann ich dies realisieren?
Und vorallem was noch viel wichtiger ist bevor sie überhaupt eine Kollisionsabfrage haben ist wie ich sie halt bewege ^^
Den Code hab ich editiert
Code:
import java.awt.*;
import java.awt.event.*;
//Variablen
public class Pong extends Frame{
static int breite=1280,hoehe=1024,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,14,farbe); //Startposi x y,Größe, 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,breite/2+20, hoehe-20);
f.fillRect(breite/2, 0, 8, hoehe); //Mittellinie
f.fillRect(40, hoehe/2-150/2, 8, 150); //Paddle 1 Paddles sind exakt in der Mitte
f.fillRect(breite-40-8, hoehe/2-150/2, 8, 150); //Paddle 2 (x Posi - abstand - dicke,y Posi, Dicke, Länge)
}
}
//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){ //Zeichnen des Balls
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;}
// Bewegung des Balls + Einfallswinkel = Ausfallswinkel + Geschwindigkeit
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();
}
}
}
Zuletzt bearbeitet: