Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hey Leute hab für die Schule ne Ampel machen müssen. Zeichnen war kein Problem , farbensetzen und diese ein und ausschalten auch nicht , nur soll ich jetz dieses aus/ein-schalten der einzelnen farben in eine methode fassen (weiterschalten) das eben beim 1sten mal rot aufleuchtet--->dann rot+gelb---->grün----->gelb---->rot und wieder von vorne.... habs mit "if" versucht aber iwie klappt des net hab gehört man solls am besten mit "case" machen können aber des check ich net^^

mein "if" versuch:

public void weiterschalten() {

if (roteLampe.farbeSetzen="rot") {

gelbeLampe.farbeSetzen("grau");

grueneLampe.farbeSetzen("gelb");

if (gelbeLampe.farbeSetzen="gelb")

roteLampe.farbeSetzen("grau");

grueneLampe.farbeSetzen("gruen");

if (grueneLampe.farbeSetzen="gruen")

roteLampe.farbeSetzen("rot");

gelbeLampe.farbeSetzen("grau");

}

klappt iwie nulll....

wär cool wenn mir jmd helfen könnte

MFG BUTZI

Geschrieben

Wie wäre es, wenn Du Code-Tags verwendest und Dein Problem beschreibst !! Funktioniert nicht, ist keine ausreichende Fehlerbeschreibung

Außerdem verwendest Du wohl einen Methodennamen, einmal als Property und einmal als Methode, das wird wohl nicht funktionieren, aber wie gesagt, Du musst das Problem vollständig beschreiben und ggf. Deinen Code posten

Geschrieben (bearbeitet)


import eps.einfacheGrafik.Bild;

import eps.einfacheGrafik.Ellipse;

import eps.einfacheGrafik.Rechteck;


/**

 * Die Klasse AmpelgrafikFussgaenger implementiert die Darstellung

 * einer Fussgaengerampel.

 * 

 */

public class AutoampelII {


	/**

	 * Das Attribut gehaeuse haelt das Rechteck, dass das

	 * Gehaeuse der Ampel darstellt.

	 */

	private Rechteck gehaeuse;



	/**

	 * Das Attribut roteLampe haelt den Kreis, der den

	 * Hintergrund der roten Lampe bildet.

	 */

	private Ellipse roteLampe;


	/**

	 * Das Attribut grueneLampe haelt den Kreis, der den

	 * Hintergrund der gruenen Lampe bildet.

	 */

	private Ellipse grueneLampe;


	/**

	 * Das Attribut grueneLampe haelt den Kreis, der den

	 * Hintergrund der gelben Lampe bildet.

	 */

	private Ellipse gelbeLampe;






	/**

	 * Konstruktor fuer Objekte der Klasse AmpelgrafikFussgaenger 

	 * Es wird eine Ampel gezeichnet, die ausgeschaltet ist.

	 */

	public AutoampelII(int x, int y) {


		ampelZeichnen(x,y);

		anzeigen();

	}


	/**

	 * Die Methode goAnzeigen schaltet die Ampel auf "gruen".

	 * Es wird der Vorzustand nicht ueberprueft, dass muss der

	 * Nutzer machen.

	 */

	public void goAnzeigen() {

	    grueneLampe.farbeSetzen("gruen");

	    roteLampe.farbeSetzen("grau");

	    gelbeLampe.farbeSetzen("grau");


	}


	/**

	 * Die Methode stoppAnzeigen schaltet die Ampel auf "rot".

	 * Es wird der Vorzustand nicht ueberprueft, dass muss der

	 * Nutzer machen.

	 */

	public void stoppAnzeigen() {

	    roteLampe.farbeSetzen("rot");

	    gelbeLampe.farbeSetzen("grau");

	    grueneLampe.farbeSetzen("grau");



	}

		/**

	 * Die Methode stoppAnzeigen schaltet die Ampel auf "rot".

	 * Es wird der Vorzustand nicht ueberprueft, dass muss der

	 * Nutzer machen.

	 */

	public void achtungAnzeigen() {

	    gelbeLampe.farbeSetzen("gelb");

	    grueneLampe.farbeSetzen("grau");

	    roteLampe.farbeSetzen("grau");

	   }


	/**

	 * Die Methode anzeigen macht die Grafikobjekte, die die Ampel

	 * darstellen, sichtbar.

	 */

	public void anzeigen() {


		gehaeuse.anzeigen();

		roteLampe.anzeigen();

		grueneLampe.anzeigen();

		gelbeLampe.anzeigen();

	}



	/**

	 * Die Methode verstecken macht die Grafikobjekte, die die Ampel

	 * darstellen, unsichtbar.

	 */

	public void verstecken() {


		gehaeuse.verstecken();

		roteLampe.verstecken();

		grueneLampe.verstecken();

		gelbeLampe.verstecken();

	}

	/**

	 * Die Methode weiterschalten zeigt die nächste Farbe an

	 */

	public void weiterschalten() { 

	if (roteLampe.farbeSetzen="rot") {

	   gelbeLampe.farbeSetzen("grau");

	   grueneLampe.farbeSetzen("gelb");

	   if (gelbeLampe.farbeSetzen="gelb")

	      roteLampe.farbeSetzen("grau");

	      grueneLampe.farbeSetzen("gruen");

	      if (grueneLampe.farbeSetzen="gruen")

	         roteLampe.farbeSetzen("rot");

	         gelbeLampe.farbeSetzen("grau");


    }


	/**

	 * Die Methode ampelZeichnen zeichnet die Komponenten der

	 * Ampel.

	 */

     private void ampelZeichnen(int xPosition, int yPosition) { 




		/* Gehaeuse der Ampel zeichnen */


		gehaeuse = new Rechteck();

		gehaeuse.groesseSetzen(100, 300);

		gehaeuse.positionSetzen(xPosition, yPosition);

		gehaeuse.farbeSetzen("schwarz");


		/* rote Lampe zeichnen (Dient als Hintergrund fuer die Bilder) */

		roteLampe = new Ellipse();

		roteLampe.groesseSetzen(80, 80);

		roteLampe.positionSetzen(xPosition + 10, yPosition +10);

		roteLampe.farbeSetzen("grau");




		/* gruene Lampe zeichnen (Dient als Hintergrund fuer die Bilder) */

		gelbeLampe = new Ellipse();

		gelbeLampe.groesseSetzen(80, 80);

		gelbeLampe.positionSetzen(xPosition + 10, yPosition + 106);

		gelbeLampe.farbeSetzen("grau");


		/* gruene Lampe zeichnen (Dient als Hintergrund fuer die Bilder) */

		grueneLampe = new Ellipse();

		grueneLampe.groesseSetzen(80, 80);

		grueneLampe.positionSetzen(xPosition + 10, yPosition + 200);

		grueneLampe.farbeSetzen("grau");





	}


	/**

	 * Alle Lichter ausschalten

	 */

	public void ausschalten() {



	}

}

des is des gesamte programm...

edit: arbeite mit BlueJ falls des nen unterschied macht

Bearbeitet von flashpixx
Edit: Codetags eingefügt
Geschrieben


public void weiterschalten() { 

	if (roteLampe.farbeSetzen="rot") {

	   gelbeLampe.farbeSetzen("grau");

	   grueneLampe.farbeSetzen("gelb");

	   if (gelbeLampe.farbeSetzen="gelb")

	      roteLampe.farbeSetzen("grau");

	      grueneLampe.farbeSetzen("gruen");

	      if (grueneLampe.farbeSetzen="gruen")

	         roteLampe.farbeSetzen("rot");

	         gelbeLampe.farbeSetzen("grau");

Das funktioniert immer noch nicht. Bitte meinen ersten Post lesen und die Information anwenden.

Nur weil jetzt hier der Quellcode steht, heißt das nicht, das dir einer die Lösung präsentiert. Selbst ist der Mann.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...