Benutzer-Werkzeuge

Webseiten-Werkzeuge


states:zut_to_java:zehntelsekundenloesung:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
states:zut_to_java:zehntelsekundenloesung:start [2021/01/30 22:18] Martin Pabststates:zut_to_java:zehntelsekundenloesung:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
-===== Aufgabe 4: Stoppuhr mit Zehntelsekundenanzeige und Zwischenzeitmessung =====+===== Lösung zu Aufgabe 4: Stoppuhr mit Zehntelsekundenanzeige und Zwischenzeitmessung =====
 {{ youtube>Z2QSqrGwSSc?large }} {{ youtube>Z2QSqrGwSSc?large }}
 Jetzt bist Du dran! Erweitere das Stoppuhr-Programm folgendermaßen: Jetzt bist Du dran! Erweitere das Stoppuhr-Programm folgendermaßen:
Zeile 24: Zeile 24:
 <div class="java-online" style="height: 500px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'StoppuhrZehntelSekunden'}"> <div class="java-online" style="height: 500px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'StoppuhrZehntelSekunden'}">
 <script type="text/plain" title="Stoppuhr_zehntelsekunden.java"> <script type="text/plain" title="Stoppuhr_zehntelsekunden.java">
 +Stoppuhr s = new Stoppuhr();
  
 +class Stoppuhr extends Actor {
 +   
 +   int zustand;
 +
 +   int zähler = 0;
 +   int zehntelsekunden = 0;
 +
 +   
 +   Text ausgabe;
 +
 +   Stoppuhr() {
 +      super();
 +      zustand = 1;
 +      ausgabe = new Text(400, 300, 64, "");
 +      ausgabe.setAlignment(Alignment.center);
 +      zeitausgeben();
 +      schreibeZustand();
 +   }
 +
 +   public void onKeyDown(String key) {
 +      if(key == "s") {
 +         tasteSDrücken();
 +      }
 +      if(key == "r") {
 +         tasteRDrücken();
 +      }
 +      if(key == "z") {
 +         tasteZDrücken();
 +      }
 +   }
 +
 +   public void act() {
 +      if(zustand == 2 || zustand == 4) { 
 +         zähler++;
 +         if(zähler == 3) {
 +            zähler = 0;
 +            zehntelsekunden++;
 +            zeitausgeben();
 +         }
 +      }
 +   }
 +   
 +   void zeitausgeben() {
 +
 +      if(zustand != 4) { 
 +         int zs = zehntelsekunden % 10;
 +         int s = zehntelsekunden / 10;
 +   
 +         ausgabe.setText(s + ":" + zs);
 +      }
 +      
 +   }
 +
 +   void tasteSDrücken() {
 +      if(zustand < 3) {
 +         zustand++;
 +      } else {
 +         zustand--;
 +      }
 +      schreibeZustand();
 +   }
 +
 +   void tasteRDrücken() {
 +      zustand = 1;
 +      zehntelsekunden = 0;
 +      zeitausgeben();
 +      schreibeZustand();
 +   }
 +
 +   void tasteZDrücken() {
 +      if(zustand == 2) {
 +         zustand = 4;
 +      } else if(zustand == 4) {
 +         zustand = 2;
 +      }
 +      schreibeZustand();
 +   }
 +
 +   void schreibeZustand() {
 +      if(zustand == 1) {
 +         println("Bereit, 00:00");
 +      } else if(zustand == 2) {
 +         println("Uhr läuft");
 +      } else if(zustand == 3) {
 +         println("Uhr angehalten");
 +      } else if(zustand == 4) {
 +         println("Zwischenzeitanzeige!");
 +      }
 +   }
 +
 +}
 </script> </script>
  
states/zut_to_java/zehntelsekundenloesung/start.1612041493.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki