Einführung
Vor einigen Tagen brauchte ich ein Metronom für etwas. Ich hatte keine verfügbar, also habe ich eine App aus dem App Store heruntergeladen. Die App hatte eine Größe von 71 MB !!!
71 MB für Tic-Toc ...?!
Also kam mir Codegolf in den Sinn und ich fragte mich, ob einige von euch dies verbessern könnten.
Herausforderung
Spielen Sie einen Code ab, der einen Ton ausgibt. Es ist ziemlich irrelevant, welche Art von Sound. Erstellen Sie bei Bedarf eine Audiodatei, aber ein System-Piepton erledigt auch die Aufgabe. ( Hier ist ein Sound, den ich erstellt habe ... nichts Besonderes. )
Eingang : Die Schläge pro Minute, die das Metronom ausgibt.
Beispiel
Dies ist eine nicht golfene Java-Version! Es ist nur um Ihnen die Aufgabe zu zeigen.
public class Metronome {
public static void main(String[] args) throws InterruptedException {
int bpm = Integer.valueOf(args[0]);
int interval = 60000 / bpm;
while(true) {
java.awt.Toolkit.getDefaultToolkit().beep();
// or start playing the sound
Thread.sleep(interval);
System.out.println("Beep!");
}
}
}
Regeln
Sie dürfen keine externen Bibliotheken verwenden, nur Tools der Sprache selbst sind erlaubt.
Es zählen nur die Bytes des Quellcodes ... nicht die Audiodatei.
Das ist Code-Golf , also gewinnt die Einsendung mit der geringsten Anzahl von Bytes!
BEARBEITEN:
Beispielausgabe: So ähnlich wäre die Ausgabe für 120 bps : link
beep()
Konsolen- als auch die Sofort-IIRC-Ausgabe nicht genau gleich. Weder sleep()
ist dafür bekannt, genau zu sein.