You are not logged in.

  • Login

1

Sunday, March 30th 2008, 2:19pm

Java BlueJ Thema : spätes Binden

Hi Leute,

Ich hab n Problem von dem ich nicht weiß wie ich es lösen soll...und zwar sollen wir in der Schule eine Zug machen zu dem bei Tastendruck (1,2,3,4 oder so) ein Wagon hinzugefügt wird... so weit ist es einfach . Dann soll der Zug aber noch losfahren. Mein Problem is jetz das ich für jeden einzelen Wagon ein neues Objekt machen muss und die ja immer anders heißen oder unter einem Bezeichner zusammengefasst werden müssen damit ich sie ansprechen kann...

Hier mal mein Hauptprogramm :

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();
}
}


jaja ich weiß es ist auf deutsch und hört sich lustig an aber naja...
Mir ist klar ,dass das nicht funktioniert ,weil der zweite Wagon aus der selben Klasse den Namen vom ersten übernimmt so das der erste sozusagen namenlos ist...
Ich hab nur leider überhaupt keine Idee wie man es richtig macht
Danke im Voraus.

Edit :
Ich hab mir überlegt man könnte natürlich gleich mehrere Objekte pro Klasse aufrufen aber dann wär erstmal die Anzahl beschränkt und es erscheint mir eigtl. ziemlich unprofessionel ...

This post has been edited 2 times, last edit by "möP" (Mar 30th 2008, 2:34pm)


2

Monday, March 31st 2008, 8:06pm

Welche Methoden hat denn deine Lokomotive-Klasse?

Die Lokomotive sollte einfach eine List aus Wagons haben.

Also:
1. Baue dir eine abstrakte Klasse Wagon.
2. Alle anderen Wagon-Klassen (PersonenWagon, OelWagon, ...) erben nun von Wagon.
3. Die Lokomotive-Klasse bekommt nun ein Attribut wie z.B. das hier:

Java Quellcode

1
private List<Wagon> wagons = new LinkedList<Wagon>();

4. Die Get-Methode nicht vergessen:

Java Quellcode

1
2
3
4
public List<Wagon> getWagons()
{
	return wagons;
}

5. Nun kannst du jeder Lokomotive beliebig viele Wagons hinzufügen.

3

Monday, March 31st 2008, 8:20pm

Abstrakte Klasse is da.

Des hat ich auch schon vorher nur erbt die Lokomotive auch.
List gibs leider in meiner Version nicht... gibs nicht noch ne andere möglichkeit z.B mit nem normalen Attribut zWagons oder so ?
Und wenn ich das hab bleibt immer noch mein Problem mit den Namen. Ich kann zwar Wagons hinzufügen ,aber die werden ja erst konstruiert wenn man die Tastaste drückt wie mach ich das die verschiedene Namen bekommen oder kann ich irgendwie den Konstruktor direkt in (als Parameter oder so ? ) in die Methode packen ?
Bsp:

public void setzeWagons(double pWagons)
{
zWagons = pWagons;
}

und dann im HP:

Loko.setzeWagons(new Wagons(...,...);

This post has been edited 3 times, last edit by "möP" (Mar 31st 2008, 9:02pm)


4

Monday, March 31st 2008, 9:50pm

List und LinkedList sind Standard-Java-Klassen. Die gibt es immer. Du musst natürlich den import setzen.

Java Quellcode

1
2
import java.util.List;
import java.util.LinkedList;


Ich verstehe nicht, was du für einen Namen meinst. Den Variablenbezeichner? Den brauchst du ja mit einer Liste nicht.

5

Monday, March 31st 2008, 10:05pm

Lassen wirs lieber ich frag einfach in der Stunde nach... so mach ich nur Mist den ich hinterher sowieso net versteh...
Naja aber vielen Dank für den Versuch :D

This post has been edited 1 times, last edit by "möP" (Mar 31st 2008, 10:16pm)


6

Monday, March 31st 2008, 10:34pm

Wenn du Listen nicht magst, kannst du auch Arrays verwenden. Allerdings haben Arrays eine feste Größe, was du ja (zu recht) nicht willst und Arrays sind viel unschöner zu handhaben als Listen.

Die Liste muss logischerweise bei der Lokomotive gesetzt werden, denn an die werden ja auch die Wagons angehängt. Dort ist auch der Platz für die getWagons()-Methode.
Das schöne an Listen ist ihre einfache Handhabung. Die Methodennamen sind selbsterklärend und wenn das nicht reicht, hier die Erklärungen auf deutsch:
http://www.dpunkt.de/java/Referenz/Das_P…va.util/32.html
Beispiel:

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));
}


Wenn du weder Arrays noch Listen magst, dann kannst du auch etwas ganz anderes machen. Du gibst der abstrakten Klasse ein Attribut getNaechsterWagon() und der Lokomotive (für den Fall das Lokomotive NICHT von der abstrakten Klasse erbt) ebenfalls. Dann gehst du rekursiv beginnend bei der Lokomotive alle Wagons nacheinander durch und hängst den neuen Wagon am Ende an.

7

Wednesday, April 2nd 2008, 3:01pm

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();
}
}


Hier mal die Methoden :

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();
}
}


Geht bestimmt mit deiner Lösung leichter ^^

8

Tuesday, April 15th 2008, 5:13pm

Optimal Lösung...

Hier die Optimal-Lösung (jedenfalls für JGS 11 und die Möglichkeiten in BlueJ) ...

DIE ABSTRAKTE KLASSE :

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();
	}
}

EIN BEISPIEL WAGGON:

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);
	}
}


DAS HAUPTPROGRAMM:

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();
	}
}

Edit: Das Programm hat n kleinen Bug... und zwar, wenn man wärend die Schleife abläuft in der die Waggon nach vorne (o. hinten) geschoben werden ,die Maus über nen Button bewegt wird dieser ausgelöst...Ich hatte keine Lust mehr den zu verbessern.

This post has been edited 1 times, last edit by "möP" (Apr 15th 2008, 5:18pm)


9

Tuesday, April 15th 2008, 7:22pm

Ist es nicht auch möglich die erste Lock wieder an den letzten Wagen zu hängen und damit eine Endlosschleife zu provozieren?

10

Thursday, April 17th 2008, 3:28pm

ähm ... ich weiß nicht ganz was du meins...
Jedenfalls macht "dieLok" ja eigtl. nichts als die anderen Waggons hinter sich her zu ziehen... das könnte aber eigtl jeder Waggon ,weil sie ja alle von der selben abstrakten Klasse abstammen. Die Lok an sich hat keine besondere Bedeutung man braucht halt nur eine Instanz die einen Namen hat.

EDIT :
Ich wollt nochmal nachfragen :
Gibt es in Java eigtl. ein Zeichen das für "oder" steht ?

This post has been edited 1 times, last edit by "möP" (Apr 17th 2008, 3:34pm)


11

Thursday, April 17th 2008, 6:38pm

||

12

Friday, April 18th 2008, 7:57pm

THX

Similar threads

Social bookmarks