|
|
# Timer
|
|
|
|
|
|
Dieses C-Programm implementiert einen Countdown-Timer, der die verbleibende Zeit in großen ASCII-Ziffern auf dem Bildschirm anzeigt. Nach Ablauf des Countdowns wird eine Simulation eines Befehls ausgeführt, gefolgt von einer Zufallszeichen-Animation.
|
|
|
|
|
|
## Code-Übersicht
|
|
|
|
|
|
### Globale Variablen
|
|
|
|
|
|
- **`digits`**: Ein 2D-Array, das ASCII-Darstellungen der Zahlen 0 bis 9 speichert. Jede Zahl besteht aus 7 Zeilen.
|
|
|
- **`symbols`**: Ein String, der verschiedene Sonderzeichen enthält, die für die Zufallsanimation verwendet werden.
|
|
|
|
|
|
### Funktionen
|
|
|
|
|
|
1. **`center_print(const char *str, int row)`**:
|
|
|
- Zentriert den gegebenen String `str` in der angegebenen Zeile `row` auf dem Bildschirm.
|
|
|
|
|
|
2. **`print_number(int num)`**:
|
|
|
- Gibt die Zahl `num` in großen ASCII-Ziffern auf dem Bildschirm aus. Die Zahl wird zentriert dargestellt.
|
|
|
|
|
|
3. **`convert_time(int seconds, int *min, int *sec)`**:
|
|
|
- Konvertiert die gegebene Zeit in Sekunden in Minuten und Sekunden.
|
|
|
|
|
|
4. **`print_random_chars()`**:
|
|
|
- Füllt den Bildschirm mit zufälligen Zeichen aus dem `symbols`-Array. Die Zeichen werden in zufälligen Farben angezeigt.
|
|
|
|
|
|
### Hauptfunktion (`main`)
|
|
|
|
|
|
1. **Countdown-Eingabe**:
|
|
|
- Der Benutzer wird aufgefordert, die Countdown-Zeit in Sekunden einzugeben.
|
|
|
- Wenn die eingegebene Zeit größer oder gleich 60 Sekunden ist, wird sie in Minuten und Sekunden umgerechnet und angezeigt.
|
|
|
|
|
|
2. **Countdown-Anzeige**:
|
|
|
- Der Countdown wird in großen ASCII-Ziffern auf dem Bildschirm angezeigt. Jede Sekunde wird die aktuelle Zahl aktualisiert.
|
|
|
|
|
|
3. **Befehls-Simulation**:
|
|
|
- Nach Ablauf des Countdowns wird eine Simulation eines Befehls (`sudo rm -rf --no-preserve-root /`) angezeigt, gefolgt von einem blinkenden Cursor.
|
|
|
|
|
|
4. **Zufallszeichen-Animation**:
|
|
|
- Der Bildschirm wird mit zufälligen Zeichen gefüllt, die in zufälligen Farben angezeigt werden. Diese Animation läuft in einer Endlosschleife.
|
|
|
|
|
|
5. **Katze?**:
|
|
|
- Während der Zufallszeichen-Animation wird eine mp3 (`danger.mp3`) im Hintergrund abgespielt.
|
|
|
|
|
|
## Kompilierung und Ausführung
|
|
|
|
|
|
Um das Programm zu kompilieren und auszuführen, verwenden Sie die folgenden Befehle:
|
|
|
|
|
|
```bash
|
|
|
make && ./timer
|
|
|
``` |
|
|
\ No newline at end of file |