|
|
Java Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
import sum.kern.*; /** * @author Philip WOLtersdorf * @version 1.0 */ public class HP { // Objekte Bildschirm derBildschirm; Lokomotive Loko; PersonenWagon Perso; OelWagon OelW; HolzWagon HolzW; Tastatur dieTastatur; Figur aktiveFigur; // Konstruktor public HP() { derBildschirm = new Bildschirm(700,700); Loko = new Lokomotive(250,250); OelW = new OelWagon(0,0); HolzW = new HolzWagon(0,0); Perso = new PersonenWagon(0,0); dieTastatur = new Tastatur(); aktiveFigur = Loko; } // Dienste public void fuehreAus() { // Aktionsteil aktiveFigur.zeichneDich(); do { if(dieTastatur.wurdeGedrueckt()) { switch(dieTastatur.zeichen()) { case '1' : { Perso = new PersonenWagon(aktiveFigur.nennehPosition()+aktiveFigur.nenneGroesse(),aktiveFigur.nennevPosition()); aktiveFigur = Perso; aktiveFigur.zeichneDich(); break; } case '2' : { OelW = new OelWagon(aktiveFigur.nennehPosition()+aktiveFigur.nenneGroesse(),aktiveFigur.nennevPosition()); aktiveFigur = OelW; aktiveFigur.zeichneDich(); break; } case '3' : { HolzW = new HolzWagon(aktiveFigur.nennehPosition()+aktiveFigur.nenneGroesse(),aktiveFigur.nennevPosition()); aktiveFigur = HolzW; aktiveFigur.zeichneDich(); break; } case 's' : { do { Loko.bewegeUm(-5,0); Perso.bewegeUm(-5,0); OelW.bewegeUm(-5,0); HolzW.bewegeUm(-5,0); }while (aktiveFigur.nennehPosition() > 0 ); break; } } dieTastatur.weiter(); } }while (aktiveFigur.nennehPosition() > 0); // Aufraeumen dieTastatur.gibFrei(); Perso.gibFrei(); OelW.gibFrei(); HolzW.gibFrei(); Loko.gibFrei(); derBildschirm.gibFrei(); } } |
This post has been edited 2 times, last edit by "möP" (Mar 30th 2008, 2:34pm)
|
|
Java Quellcode |
1 |
private List<Wagon> wagons = new LinkedList<Wagon>(); |
|
|
Java Quellcode |
1 2 3 4 |
public List<Wagon> getWagons() { return wagons; } |
This post has been edited 3 times, last edit by "möP" (Mar 31st 2008, 9:02pm)
|
|
Java Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
// Zunächst eine leere Liste erzeugen. In diesem Beispiel soll sie String-Objekte beinhalten. (Bei dir dann Wagons) // LinkedList ist eine spezielle Liste, das braucht dich aber erstmal nicht näher zu interessieren. List<String> texte = new LinkedList<String>(); // Wenn man die Lister erstmal hat, kannst du irgendwas rein werfen: texte.add("ich"); texte.add("du"); texte.add("er"); texte.add("sie"); texte.add("es"); // Nun kann man natürlich auch wieder etwas aus der Liste holen: System.out.println(texte.get(2)); // Die Ausgabe sollte "er" sein. System.out.println(texte.get(0)); // Die Ausgabe sollte "ich" sein. // oder man gibt die gesammte Liste aus: // texte.size() ist bei unserer Liste 5! Während die indexe von 0 bis 4 gehen! Aufpassen! :-) for (int i = 0; i < texte.size(); i++) { System.out.println(texte.get(i)); } |
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
import sum.kern.*;
/**
* @author Philip WOltersdorf
* @version 1.0
*/
public class HP
{
// Objekte
Bildschirm derBildschirm;
Tastatur dieTastatur;
Maus dieMaus;
Figur dummy;
Lokomotive dieLok;
PersonenWaggon derPer;
OelWaggon derOel;
HolzWaggon derHol;
// Konstruktor
public HP()
{
derBildschirm = new Bildschirm(700,700);
dieTastatur = new Tastatur();
dieMaus = new Maus();
dieLok = new Lokomotive(250,250);
dieLok.zeichneDich();
dummy = dieLok;
}
// Dienste
public void fuehreAus()
{
// Aktionsteil
do
{
if(dieTastatur.wurdeGedrueckt())
{
switch(dieTastatur.zeichen())
{
case '1' :
{
derPer = new PersonenWaggon(0,0); <- neuer Waggon
dummy = dieLok; <-"dummy" durchläuft bis zum letzten Zug
while (dummy.nenneNachfolger() != null)
{
dummy = dummy.nenneNachfolger();
}
dummy.kuppelAn(derPer); <- dann kuppelt er den neuen Waggon an.
break;
}
case 's' :
{
do
{
dieLok.bewegeDich(); <- die Lok hat ne kennt Beziehung zu dem "Nachfolger" und und zieht sie sozusagen mit.
}while (!dieMaus.doppelKlick());
}
}
dieTastatur.weiter();
}
}while (!dieMaus.doppelKlick());
// Aufraeumen
dieTastatur.gibFrei();
derBildschirm.gibFrei();
dieMaus.gibFrei();
derPer.gibFrei();
derOel.gibFrei();
derHol.gibFrei();
dieLok.gibFrei();
}
}
|
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
/**
* Kuppelt pWagon an.
*/
public void kuppelAn(Figur pWagon)
{
if (kNachfolger == null)
{
kNachfolger = pWagon;
kNachfolger.bewegeBis(this.nennehPosition()+this.nenneLaenge(),this.nennevPosition());
kNachfolger.zeichneDich();
}
}
/**
* Bewegt.
*/
public void bewegeDich()
{
this.loescheDich();
hatStift.bewegeUm(-0.01);
this.zeichneDich();
if (kNachfolger != null)
{
kNachfolger.bewegeDich();
}
}
|
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
import sum.kern.*;
/**
* @author Philip Woltersdorf
* @version 1.0
*/
public abstract class Figur
{
// Bezugsobjekte
Buntstift hatStift;
Figur kNachfolger;
Figur dummi;
Maus kMaus;
// Attribute
protected double zLaenge;
// Konstruktor
public Figur(double pLaenge,double pH ,double pV,Maus pMaus)
{
hatStift = new Buntstift();
kMaus = pMaus;
zLaenge = pLaenge;
hatStift.bewegeBis(pH,pV);
}
// Dienste
/**
* Gibt die horizontale Position aus.
*/
public double nennehPosition()
{
return hatStift.hPosition();
}
/**
* Gibt die vertikale Position aus.
*/
public double nennevPosition()
{
return hatStift.vPosition();
}
/**
* Gibt die Groesse aus.
*/
public double nenneLaenge()
{
return zLaenge;
}
/**
* Zeichnet.
*/
public abstract void zeichneDich();
/**
* Loescht.
*/
public void loescheDich()
{
hatStift.radiere();
this.zeichneDich();
hatStift.normal();
}
/**
* Gibt den Nachfolger aus (Falls vorhanden).
*/
public Figur nenneNachfolger()
{
return kNachfolger;
}
/**
* Bewegt.
*/
public void bewegeDich(int pG)
{
this.loescheDich();
hatStift.bewegeUm(pG);
this.zeichneDich();
if (kNachfolger != null)
{
kNachfolger.bewegeDich(pG);
}
}
/**
* Kuppelt pWagon an.
*/
public void kuppelAn(Figur pWagon)
{
if (kNachfolger == null)
{
kNachfolger = pWagon;
kNachfolger.bewegeBis(this.nennehPosition()+this.nenneLaenge(),this.nennevPosition());
kNachfolger.zeichneDich();
}
}
/**
* Überprüft ob kMaus getroffen hat.
*/
private boolean getroffen1()
{
return kMaus.hPosition() < this.nennehPosition() && kMaus.hPosition() > this.nennehPosition() - this.nenneLaenge();
}
private boolean getroffen2()
{
return kMaus.vPosition() < this.nennevPosition() && kMaus.vPosition() > this.nennevPosition() - this.nenneLaenge();
}
public boolean getroffen()
{
return this.getroffen1() && this.getroffen2();
}
/**
* Entfernt den Nachfolger dieses Waggons und ersetzt ihn durch den Folgenden.
*/
public void entferneNachfolger()
{
if (kNachfolger != null)
{
Figur pNN;
pNN = kNachfolger.nenneNachfolger();
kNachfolger.gibFrei();
kNachfolger = pNN;
}
}
/**
* Bewegt bis pX , pY.
*/
public void bewegeBis(double pX,double pY)
{
hatStift.bewegeBis(pX,pY);
}
/**
* Gibt Frei.
*/
public void gibFrei()
{
this.loescheDich();
hatStift.gibFrei();
}
}
|
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
import sum.kern.*;
/**
* @author Philip WOltersdorf
* @version 1.0
*/
public class Lokomotive extends Figur
{
// Bezugsobjekte
// Attribute
// Konstruktor
public Lokomotive(double pH,double pV,Maus pMaus)
{
super(50,pH,pV,pMaus);
}
// Dienste
/**
* Zeichnet die Lokomotive.
*/
public void zeichneDich()
{
double x;
double y;
x = hatStift.hPosition();
y = hatStift.vPosition();
hatStift.runter();
hatStift.dreheUm(90);
hatStift.bewegeUm(3);
hatStift.bewegeUm(-6);
hatStift.bewegeUm(3);
hatStift.dreheUm(90);
hatStift.bewegeUm(15);
hatStift.dreheUm(90);
hatStift.bewegeUm(2);
hatStift.zeichneKreis(2);
hatStift.bewegeUm(-2);
hatStift.dreheUm(-90);
hatStift.bewegeUm(20);
hatStift.dreheUm(90);
hatStift.bewegeUm(2);
hatStift.zeichneKreis(2);
hatStift.bewegeUm(-2);
hatStift.dreheUm(-90);
hatStift.bewegeUm(15);
hatStift.dreheUm(-90);
hatStift.bewegeUm(3);
hatStift.bewegeUm(-6);
hatStift.bewegeUm(3);
hatStift.dreheUm(-90);
hatStift.bewegeUm(5);
hatStift.dreheUm(90);
hatStift.bewegeUm(26);
hatStift.dreheUm(-90);
hatStift.bewegeUm(5);
hatStift.dreheUm(-90);
hatStift.bewegeUm(13);
hatStift.dreheUm(90);
hatStift.bewegeUm(10);
hatStift.dreheUm(90);
hatStift.bewegeUm(13);
hatStift.dreheUm(-90);
hatStift.bewegeUm(25);
hatStift.dreheUm(-90);
hatStift.bewegeUm(26);
hatStift.dreheUm(90);
hatStift.hoch();
hatStift.bewegeBis(x,y);
}
}
|
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 |
import sum.kern.*;
/**
* @author Philip WOLtersdorf
* @version 1.0
*/
public class HP
{
// Objekte
Bildschirm derBildschirm;
Tastatur dieTastatur;
Maus dieMaus;
Stift hatStift;
Knopf Knopf;
Knopf Knopf2;
Figur dummy;
Lokomotive dieLok;
PersonenWaggon derPer;
OelWaggon derOel;
HolzWaggon derHol;
// Konstruktor
public HP()
{
derBildschirm = new Bildschirm(333,333);
dieTastatur = new Tastatur();
dieMaus = new Maus();
hatStift = new Stift();
Knopf = new Knopf(derBildschirm.breite()/3-25 ,derBildschirm.hoehe()-50,25,50,dieMaus,'E');
Knopf2 = new Knopf(derBildschirm.breite()/3*2-25,derBildschirm.hoehe()-50,25,50,dieMaus,'S');
dieLok = new Lokomotive(derBildschirm.breite()/4,derBildschirm.hoehe()/2,dieMaus);
derPer = new PersonenWaggon(derBildschirm.breite()/3-50,derBildschirm.hoehe()/8,dieMaus);
derOel = new OelWaggon(derBildschirm.breite()/3*2-50,derBildschirm.hoehe()/8,dieMaus);
derHol = new HolzWaggon(derBildschirm.breite()/3*3-50,derBildschirm.hoehe()/8,dieMaus);
dieLok.zeichneDich();
dummy = dieLok;
}
// Dienste
public void fuehreAus()
{
// Aktionsteil
hatStift.bewegeBis(0,derBildschirm.hoehe()/4);
hatStift.runter();
hatStift.bewegeBis(derBildschirm.breite(),derBildschirm.hoehe()/4);
hatStift.hoch();
hatStift.bewegeBis(0,derBildschirm.hoehe()/4+10);
hatStift.runter();
hatStift.bewegeBis(derBildschirm.breite(),derBildschirm.hoehe()/4+10);
hatStift.hoch();
hatStift.bewegeBis(0,(derBildschirm.hoehe()/4)*3);
hatStift.runter();
hatStift.bewegeBis(derBildschirm.breite(),(derBildschirm.hoehe()/4)*3);
hatStift.hoch();
hatStift.bewegeBis(0,((derBildschirm.hoehe()/4)*3)-10);
hatStift.runter();
hatStift.bewegeBis(derBildschirm.breite(),((derBildschirm.hoehe()/4)*3)-10);
hatStift.hoch();
do
{
if(dieMaus.doppelKlick())
{
if(derPer.getroffen())
{
dummy = dieLok;
while (dummy.nenneNachfolger() != null)
{
dummy = dummy.nenneNachfolger();
}
dummy.kuppelAn(new PersonenWaggon(0,0,dieMaus));
do
{
dieLok.bewegeDich(-1);
}while (dummy.nennehPosition() > derBildschirm.breite()/2);
}
if(derOel.getroffen())
{
dummy = dieLok;
while (dummy.nenneNachfolger() != null)
{
dummy = dummy.nenneNachfolger();
}
dummy.kuppelAn(new OelWaggon(0,0,dieMaus));
do
{
dieLok.bewegeDich(-1);
}while (dummy.nennehPosition() > derBildschirm.breite()/2);
}
if(derHol.getroffen())
{
dummy = dieLok;
while (dummy.nenneNachfolger() != null)
{
dummy = dummy.nenneNachfolger();
}
dummy.kuppelAn(new HolzWaggon(0,0,dieMaus));
do
{
dieLok.bewegeDich(-1);
}while (dummy.nennehPosition() > derBildschirm.breite()/2);
}
if(Knopf.getroffen())
{
Knopf.aktiviere();
dummy = dieLok;
if(dieLok.nenneNachfolger() != null)
{
while (dummy.nenneNachfolger().nenneNachfolger() != null)
{
dummy = dummy.nenneNachfolger();
}
dummy.entferneNachfolger();
do
{
dummy = dieLok;
while (dummy.nenneNachfolger() != null)
{
dummy = dummy.nenneNachfolger();
}
dieLok.bewegeDich(+1);
}while (dummy.nennehPosition() < derBildschirm.breite()/2);
}
Knopf.deaktiviere();
}
if(Knopf2.getroffen())
{
Knopf2.aktiviere();
do
{
dieLok.bewegeDich(+5);
}while (dieLok.nennehPosition() < derBildschirm.breite()/2);
do
{
dieLok.bewegeDich(-1);
}while (dummy.nennehPosition()+dummy.nenneLaenge()+1 > 0);
Knopf2.deaktiviere();
}
}
}while (dummy.nennehPosition()+dummy.nenneLaenge()+1 > 0);
// Aufraeumen
dieTastatur.gibFrei();
derBildschirm.gibFrei();
dieMaus.gibFrei();
hatStift.gibFrei();
Knopf.gibFrei();
Knopf2.gibFrei();
derPer.gibFrei();
derOel.gibFrei();
derHol.gibFrei();
dieLok.gibFrei();
}
}
|
This post has been edited 1 times, last edit by "möP" (Apr 15th 2008, 5:18pm)
This post has been edited 1 times, last edit by "möP" (Apr 17th 2008, 3:34pm)