program Billard12; uses mSum, mKugel in 'mKugel.pas', mReibungskugel in 'mReibungskugel.pas', mFarbkugel in 'mFarbkugel.pas', mSpurkugel in 'mSpurkugel.pas', mNrKugel in 'mNrKugel.pas', mPulsierkugel in 'mPulsierkugel.pas'; var derBildschirm : Bildschirm; dieMaus : Maus; meineKugel, weitereKugel : Kugel; dritteKugel : Reibungskugel; vierteKugel : Farbkugel; fuenfteKugel : Spurkugel; sechsteKugel : NrKugel; siebteKugel : Pulsierkugel; begin // Initialisierung derBildschirm := Bildschirm.init; dieMaus := Maus.init; meineKugel := Kugel.init(20,50,0.5,75); meineKugel.merke(derBildschirm); // Kennt-Beziehung herstellen weitereKugel := Kugel.init(300,250,0.1,111); weitereKugel.merke(derBildschirm); // Kennt-Beziehung herstellen dritteKugel := Reibungskugel.init(200,120,1.5,223); dritteKugel.merke(derBildschirm); // Kennt-Beziehung herstellen vierteKugel := Farbkugel.init(420,300,0.5,115,ROT); vierteKugel.merke(derBildschirm); // Kennt-Beziehung herstellen fuenfteKugel := Spurkugel.init(300,50,0.2,200); fuenfteKugel.merke(derBildschirm); // Kennt-Beziehung herstellen sechsteKugel := NrKugel.init(250,280,0.1,20,6); sechsteKugel.merke(derBildschirm); // Kennt-Beziehung herstellen siebteKugel := Pulsierkugel.init(400,150,0.6,325); siebteKugel.merke(derBildschirm); // Kennt-Beziehung herstellen // Aktionsteil meineKugel.zeichne; weitereKugel.zeichne; dritteKugel.zeichne; vierteKugel.zeichne; fuenfteKugel.zeichne; sechsteKugel.zeichne; siebteKugel.zeichne; repeat meineKugel.bewege; weitereKugel.bewege; dritteKugel.bewege; vierteKugel.bewege; fuenfteKugel.bewege; sechsteKugel.bewege; siebteKugel.bewege; until dieMaus.istGedrueckt; // Aufräumen siebteKugel.gibFrei; sechsteKugel.gibFrei; fuenfteKugel.gibFrei; vierteKugel.gibFrei; dritteKugel.gibFrei; weitereKugel.gibFrei; meineKugel.gibFrei; dieMaus.gibFrei; derBildschirm.gibFrei end.