Mein erstes Programm
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
== Mein erstes Programm ==
Heute lernen Sie nicht nur die ProgrammingWiki-Erweiterung kennen, sondern schreiben auch gleich ihr vielleicht erstes Java-Programm. Das Programm soll die Phasen einer Verkehrsampel steuern. Zu diesem Zweck wurden zwei Funktionen vorgegeben:
ampel(rot,gelb,grün)
warte(Millisekunden)
Die Funktion <tt>ampel</tt> verwendet drei Parameter für die einzelnen Lichter. Ein solcher Parameter kann hier jeweils den Wert <tt>true</tt> für an, oder <tt>false</tt> für aus annehmen. Die Funktion <tt>warte</tt> hingegen nimmt eine natürliche Zahl als Parameter.
'''Aufgabe:''' Testen Sie zunächst die Vorgabe im nachfolgenden Eingabebereich durch einen Klick auf ''ausführen''. Verändern Sie anschließend das Programm so, dass eine vollständige Ampelphase mit der noch fehlenden Gelbfärbung entsteht.
<code id="4b94cb11b2cd9" hidden>
void warte(int ms) {
try{
Thread.sleep(ms);
} catch(Exception e) {}
}
void ampel(Boolean r, Boolean o, Boolean g){
String img = "";
if( r && o && g) img = "http://www.michael-hielscher.de/wiki/images/9/99/Ampel_111.png";
if(!r && o && g) img = "http://www.michael-hielscher.de/wiki/images/a/ab/Ampel_011.png";
if( r && !o && g) img = "http://www.michael-hielscher.de/wiki/images/6/6d/Ampel_101.png";
if( r && o && !g) img = "http://www.michael-hielscher.de/wiki/images/c/ca/Ampel_110.png";
if( r && !o && !g) img = "http://www.michael-hielscher.de/wiki/images/2/20/Ampel_100.png";
if(!r && o && !g) img = "http://www.michael-hielscher.de/wiki/images/0/01/Ampel_010.png";
if(!r && !o && g) img = "http://www.michael-hielscher.de/wiki/images/8/88/Ampel_001.png";
if(!r && !o && !g) img = "http://www.michael-hielscher.de/wiki/images/d/dc/Ampel_000.png";
canvas.drawImage(0,0,100,150,img);
}
</code>
{| width="95%"
|-
| valign="top" width="120" | <canvas w=100 h=150></canvas> ||
<eval id="4b94cb11b3c75">
ampel(true,false,false);
warte(3000);
ampel(false,false,true);
warte(3000);
ampel(true,false,false);
</eval>
|}
'''Zusatzaufgabe:''' Bei einer echten Ampel gibt es die Kombination Rot-Gelb die jedoch etwas kürzer angezeigt wird. Versuchen Sie durch eine geeignete Wahl der Wartezeit eine möglichst realistische Ampelphase zu entwickeln.