Hallo ihr Lieben!
Wir sollen jetzt in der Schule eine Kugelsimulation gestalten und ich bin fast fertig.
Mir fehlt nur noch ein Elastischer Stoß, aber ich weiß nicht wie ich sowas konstruieren soll..
Ich habe schon in anderen Foren geguckt und bin total aufgeschmissen...
Wäre echt nett, wenn ihr mir helfen könntet.
Hier mein Quellcode:
Hauptprogramm
Kugel:
Ich muss dazu sagen, dass wir nicht mit reinem Java programmieren. Wir bedienen uns stark an der Stifte und Mäuse Biblithek (kurz: SUM), die extra für junge Programmierer entwickelt wurde.
Wir sollen jetzt in der Schule eine Kugelsimulation gestalten und ich bin fast fertig.
Mir fehlt nur noch ein Elastischer Stoß, aber ich weiß nicht wie ich sowas konstruieren soll..
Ich habe schon in anderen Foren geguckt und bin total aufgeschmissen...
Wäre echt nett, wenn ihr mir helfen könntet.
Hier mein Quellcode:
Hauptprogramm
Java:
import sum.kern.*;
public class Hauptprogramm {
public static void main(String[] args) {
Bildschirm meinBildschirm;
Tastatur meineTastatur;
Kugel meineKugel1;
Kugel meineKugel2;
Kugel meineKugel3;
Kugel meineKugel4;
Kugel meineKugel5;
Kugel meineKugel6;
Kugel meineKugel7;
Kugel meineKugel8;
Kugel meineKugel9;
Kugel meineKugel10;
Kugel meineKugel11;
Kugel meineKugel12;
Kugel meineKugel13;
Kugel meineKugel14;
Kugel meineKugel15;
Kugel meineKugel16;
Kugel meineKugel17;
Kugel meineKugel18;
Kugel meineKugel19;
Kugel meineKugel20;
Kugel meineKugel21;
Kugel meineKugel22;
Kugel meineKugel23;
Kugel meineKugel24;
Kugel meineKugel25;
Kugel meineKugel26;
Kugel meineKugel27;
Kugel meineKugel28;
Kugel meineKugel29;
Kugel meineKugel30;
int ballRadius = 5;
double ballGeschwindigkeit = 5.0;
meinBildschirm = new Bildschirm();
meineTastatur = new Tastatur();
meineKugel1 = new Kugel(50, 50,ballGeschwindigkeit,-30,ballRadius,Farbe.ROT);
meineKugel2 = new Kugel(100, 50,ballGeschwindigkeit,-29,ballRadius,Farbe.GRUEN);
meineKugel3 = new Kugel(150, 50,ballGeschwindigkeit,-28,ballRadius,Farbe.BLAU);
meineKugel4 = new Kugel(200, 50,ballGeschwindigkeit,-27,ballRadius,Farbe.GELB);
meineKugel5 = new Kugel(250, 50,ballGeschwindigkeit,-26,ballRadius,Farbe.GRUEN);
meineKugel6 = new Kugel(300, 50,ballGeschwindigkeit,-25,ballRadius,Farbe.BLAU);
meineKugel7 = new Kugel(50, 100,ballGeschwindigkeit,-24,ballRadius,Farbe.GELB);
meineKugel8 = new Kugel(50, 150,ballGeschwindigkeit,-23,ballRadius,Farbe.BLAU);
meineKugel9 = new Kugel(50, 200,ballGeschwindigkeit,-22,ballRadius,Farbe.GRAU);
meineKugel10 = new Kugel(50, 250,ballGeschwindigkeit,-21,ballRadius,Farbe.SCHWARZ);
meineKugel11 = new Kugel(50, 300,ballGeschwindigkeit,-20,ballRadius,Farbe.PINK);
meineKugel12 = new Kugel(75, 50,ballGeschwindigkeit,-31,ballRadius,Farbe.GELB);
meineKugel13 = new Kugel(125, 50,ballGeschwindigkeit,-32,ballRadius,Farbe.ROT);
meineKugel14 = new Kugel(175, 50,ballGeschwindigkeit,-33,ballRadius,Farbe.GRUEN);
meineKugel15 = new Kugel(50, 75,ballGeschwindigkeit,-34,ballRadius,Farbe.GELB);
meineKugel16 = new Kugel(50, 85,ballGeschwindigkeit,-35,ballRadius,Farbe.SCHWARZ);
meineKugel17 = new Kugel(88, 50,ballGeschwindigkeit,-36,ballRadius,Farbe.BLAU);
meineKugel18 = new Kugel(77, 50,ballGeschwindigkeit,-37,ballRadius,Farbe.ROT);
meineKugel19 = new Kugel(66, 50,ballGeschwindigkeit,-38,ballRadius,Farbe.GRUEN);
meineKugel20 = new Kugel(55, 50,ballGeschwindigkeit,-39,ballRadius,Farbe.PINK);
meineKugel21 = new Kugel(44, 50,ballGeschwindigkeit,-40,ballRadius,Farbe.GRAU);
meineKugel22 = new Kugel(33, 50,ballGeschwindigkeit,-41,ballRadius,Farbe.GELB);
meineKugel23 = new Kugel(50, 50,ballGeschwindigkeit,-42,ballRadius,Farbe.BLAU);
meineKugel24 = new Kugel(50, 50,ballGeschwindigkeit,-43,ballRadius,Farbe.PINK);
meineKugel25 = new Kugel(99, 50,ballGeschwindigkeit,-45,ballRadius,Farbe.GRAU);
meineKugel26 = new Kugel(156, 50,ballGeschwindigkeit,-48,ballRadius,Farbe.BLAU);
meineKugel27 = new Kugel(123, 50,ballGeschwindigkeit,-49,ballRadius,Farbe.GRAU);
meineKugel28 = new Kugel(233, 50,ballGeschwindigkeit,-50,ballRadius,Farbe.ROT);
meineKugel29 = new Kugel(33, 50,ballGeschwindigkeit,-53,ballRadius,Farbe.GRAU);
meineKugel30 = new Kugel(233, 50,ballGeschwindigkeit,-17,ballRadius,Farbe.ROT);
meineKugel1.merke(meinBildschirm);
meineKugel2.merke(meinBildschirm);
meineKugel3.merke(meinBildschirm);
meineKugel4.merke(meinBildschirm);
meineKugel5.merke(meinBildschirm);
meineKugel6.merke(meinBildschirm);
meineKugel7.merke(meinBildschirm);
meineKugel8.merke(meinBildschirm);
meineKugel9.merke(meinBildschirm);
meineKugel10.merke(meinBildschirm);
meineKugel11.merke(meinBildschirm);
meineKugel12.merke(meinBildschirm);
meineKugel13.merke(meinBildschirm);
meineKugel14.merke(meinBildschirm);
meineKugel15.merke(meinBildschirm);
meineKugel16.merke(meinBildschirm);
meineKugel17.merke(meinBildschirm);
meineKugel18.merke(meinBildschirm);
meineKugel19.merke(meinBildschirm);
meineKugel20.merke(meinBildschirm);
meineKugel21.merke(meinBildschirm);
meineKugel22.merke(meinBildschirm);
meineKugel23.merke(meinBildschirm);
meineKugel24.merke(meinBildschirm);
meineKugel25.merke(meinBildschirm);
meineKugel26.merke(meinBildschirm);
meineKugel27.merke(meinBildschirm);
meineKugel28.merke(meinBildschirm);
meineKugel29.merke(meinBildschirm);
meineKugel30.merke(meinBildschirm);
while (true) {
meineKugel1.bewege();
meineKugel2.bewege();
meineKugel3.bewege();
meineKugel4.bewege();
meineKugel5.bewege();
meineKugel6.bewege();
meineKugel7.bewege();
meineKugel8.bewege();
meineKugel9.bewege();
meineKugel10.bewege();
meineKugel11.bewege();
meineKugel12.bewege();
meineKugel13.bewege();
meineKugel14.bewege();
meineKugel15.bewege();
meineKugel16.bewege();
meineKugel17.bewege();
meineKugel18.bewege();
meineKugel19.bewege();
meineKugel20.bewege();
meineKugel21.bewege();
meineKugel22.bewege();
meineKugel23.bewege();
meineKugel24.bewege();
meineKugel25.bewege();
meineKugel26.bewege();
meineKugel27.bewege();
meineKugel28.bewege();
meineKugel29.bewege();
meineKugel30.bewege();
if ((meineTastatur.wurdeGedrueckt()) &&
(meineTastatur.zeichen()=='e')) {
break;
}
}
meineKugel1.gibFrei();
meineKugel2.gibFrei();
meineKugel3.gibFrei();
meineKugel4.gibFrei();
meineKugel5.gibFrei();
meineKugel6.gibFrei();
meineKugel7.gibFrei();
meineKugel8.gibFrei();
meineKugel9.gibFrei();
meineKugel10.gibFrei();
meineKugel11.gibFrei();
meineKugel12.gibFrei();
meineKugel13.gibFrei();
meineKugel14.gibFrei();
meineKugel15.gibFrei();
meineKugel16.gibFrei();
meineKugel17.gibFrei();
meineKugel18.gibFrei();
meineKugel19.gibFrei();
meineKugel20.gibFrei();
meineKugel21.gibFrei();
meineKugel22.gibFrei();
meineKugel23.gibFrei();
meineKugel24.gibFrei();
meineKugel25.gibFrei();
meineKugel26.gibFrei();
meineKugel27.gibFrei();
meineKugel28.gibFrei();
meineKugel29.gibFrei();
meineKugel30.gibFrei();
meineTastatur.gibFrei();
meinBildschirm.gibFrei();
}
}
Kugel:
Java:
import sum.kern.*;
public class Kugel {
private Buntstift hatStift;
private Bildschirm kenntBildschirm;
private int zRadius;
public double zGeschwindigkeit;
private int zRichtung;
public Kugel(double pAnfangH, double pAnfangV, double pGeschwindigkeit, int pRichtung, int pRadius, int pFarbe) {
hatStift = new Buntstift ();
hatStift.bewegeBis (pAnfangH,pAnfangV);
hatStift.setzeFarbe(pFarbe);
hatStift.setzeFuellMuster(Muster.GEFUELLT);
this.setzeGeschwindigkeit(pGeschwindigkeit);
this.setzeRichtung(pRichtung);
this.setzeRadius(pRadius);
}
public void merke(Bildschirm pBildschirm) {
kenntBildschirm = pBildschirm;
}
public void zeichne() {
hatStift.zeichneKreis(zRadius);
}
public void loesche() {
hatStift.radiere();
this.zeichne();
hatStift.normal();
}
public void bewege () {
this.loesche();
hatStift.bewegeUm(zGeschwindigkeit);
this.zeichne ();
if (this.rechterRand() >= kenntBildschirm.breite()){
this.setzeRichtung(180 - this.richtung());
}
if (this.linkerRand() <= 0){
this.setzeRichtung(180 - this.richtung());
}
if (this.obererRand() <= 0){
this.setzeRichtung(360 - this.richtung());
}
if (this.untererRand() >= kenntBildschirm.hoehe()){
this.setzeRichtung(360 - this.richtung());
}
}
public void setzeRadius (int pRadius) {
zRadius = pRadius;
}
public void setzeGeschwindigkeit(double pGeschwindigkeit) {
zGeschwindigkeit = pGeschwindigkeit;
}
public void setzeRichtung (int pwinkel) {
zRichtung = pwinkel;
hatStift.dreheBis(pwinkel);
}
public int richtung() {
return zRichtung ;
}
public double linkerRand() {
return hatStift.hPosition() - zRadius;
}
public double rechterRand() {
return hatStift.hPosition() + zRadius;
}
public double obererRand() {
return hatStift.vPosition() - zRadius;
}
public double untererRand() {
return hatStift.vPosition() + zRadius;
}
public void gibFrei () {
hatStift.gibFrei ();
}
}
Ich muss dazu sagen, dass wir nicht mit reinem Java programmieren. Wir bedienen uns stark an der Stifte und Mäuse Biblithek (kurz: SUM), die extra für junge Programmierer entwickelt wurde.