Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Write a description of class AMPEL here.
- *
- * @author (your name)
- * @version (a version number or a date)
- */
- class AMPEL
- {
- // Attribute
- String ampelphase;
- char ausrichtung;
- LAMPE lampeOben;
- LAMPE lampeMitte;
- LAMPE lampeUnten;
- /**
- * Constructor for objects of class AMPEL
- */
- AMPEL()
- {
- lampeOben = new LAMPE();
- lampeMitte = new LAMPE();
- lampeUnten = new LAMPE();
- PositionSetzen(1, 1);
- RotSetzen();
- }
- void GruenSetzen()
- {
- ampelphase = "gruen";
- lampeOben.FarbeSetzen("schwarz");
- lampeMitte.FarbeSetzen("schwarz");
- lampeUnten.FarbeSetzen("gruen");
- }
- void GelbSetzen()
- {
- ampelphase = "gelb";
- lampeOben.FarbeSetzen("schwarz");
- lampeMitte.FarbeSetzen("gelb");
- lampeUnten.FarbeSetzen("schwarz");
- }
- void RotSetzen()
- {
- ampelphase = "rot";
- lampeOben.FarbeSetzen("rot");
- lampeMitte.FarbeSetzen("schwarz");
- lampeUnten.FarbeSetzen("schwarz");
- }
- void RotGelbSetzen()
- {
- ampelphase = "rotgelb";
- lampeOben.FarbeSetzen("rot");
- lampeMitte.FarbeSetzen("gelb");
- lampeUnten.FarbeSetzen("schwarz");
- }
- void PositionSetzen(int xNeu, int yNeu)
- {
- lampeOben.PositionSetzen(xNeu, yNeu);
- lampeMitte.PositionSetzen(xNeu, yNeu + 1);
- lampeUnten.PositionSetzen(xNeu, yNeu + 2);
- }
- void AmpelAnordnen(int xNeu, int yNeu, char ausrichtung)
- {
- switch (ausrichtung)
- {
- case 'S':
- lampeOben.PositionSetzen(xNeu, yNeu);
- lampeMitte.PositionSetzen(xNeu, yNeu+1);
- lampeUnten.PositionSetzen(xNeu, yNeu+2);
- break;
- case 'W':
- lampeOben.PositionSetzen(xNeu, yNeu);
- lampeMitte.PositionSetzen(xNeu-1, yNeu);
- lampeUnten.PositionSetzen(xNeu-2, yNeu);
- break;
- case 'N':
- lampeOben.PositionSetzen(xNeu, yNeu);
- lampeMitte.PositionSetzen(xNeu, yNeu-1);
- lampeUnten.PositionSetzen(xNeu, yNeu-2);
- break;
- case 'O':
- lampeOben.PositionSetzen(xNeu, yNeu);
- lampeMitte.PositionSetzen(xNeu+1, yNeu);
- lampeUnten.PositionSetzen(xNeu+2, yNeu);
- break;
- default:
- break;
- }
- }
- void Umschalten()
- {
- if ( ampelphase == "rot" )
- {
- RotGelbSetzen();
- }
- else if (ampelphase == "rotgelb")
- {
- GruenSetzen();
- }
- else if (ampelphase == "gruen")
- {
- GelbSetzen();
- }
- else if (ampelphase == "gelb")
- {
- RotSetzen();
- }
- }
- //Bonusfunktionen
- void AusSchalten()
- {
- ampelphase = "aus";
- lampeOben.FarbeSetzen("schwarz");
- lampeMitte.FarbeSetzen("schwarz");
- lampeUnten.FarbeSetzen("schwarz");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement