Tantangan
Buat GUI Keyboard dengan karakter sesedikit mungkin.
Contoh
Karena ini adalah tugas di salah satu program saya, saya tidak dapat menunjukkan kode sumbernya. Namun, ini adalah screenshot dari keyboard saya.
Dalam contoh ini, kunci saya bertipe JButton
dan saya menggunakan Midi Synthesizer untuk menghasilkan suara (dengan nilai amplop ADSR default).
Aturan
- Anda diizinkan menggunakan perpustakaan eksternal standar.
- Jadilah kreatif dengan suara Anda. Anda dapat menggunakan 8-bit, sebuah sitar, dll.
- Sederhananya, Anda mungkin memiliki lima kunci; hitam dan putih, dari C ke E (lima tombol pertama pada keyboard saya).
- Yang terpenting ... perlihatkan karya Anda!
PEMBERITAHUAN : Bergantung pada bahasa apa yang Anda pilih untuk bekerja, ini mungkin tugas yang agak besar.
Ini adalah pertanyaan pertama saya di SE Code Golf. Jika ada yang tidak jelas, silakan tanyakan rincian lebih lanjut.
EDIT : Tanggal jatuh tempo untuk tantangan ini adalah 9/22/12. Jika Anda mengirim jawaban setelah tanggal ini, saya akan mencarinya terlepas (dan mungkin memberi +1).
Jawaban:
Mathematica
319 259255Sunting: Tombol sekarang ditekan (sebagai tombol) saat diklik.
Ini akan memainkan nada grand piano {"C", "C #", "D", "D #", "E"}, di mana "C" berada di tengah C.
z[n_]
memainkan nada.Keyboard dapat diperpanjang menjadi 18-tombol dengan menggunakan karakter kurang dari dua kali lipat:
sumber
w = {67, 300}
mendapatkan hasil Anda; tahu mengapa bedanya? Juga, bolehkah saya mengedit kode ini untuk mempersingkatnya, jika saya bisa?w = {67,300}
berfungsi dengan baik pada ay. 9 jadi jika Anda ingin mengubahnya, atau dalam hal ini, persingkat salah satu kode, silakan saja. Menyesuaikan ukuran tombol terkena atau gagal. Hal-hal aneh terjadi karena alasan yang tidak dapat saya jelaskan. (Misalnya, menambahkan lebih banyak tombol memengaruhi proporsi tombol aslinya.)Halaman web (840/796 karakter)
>>> Mulai bermain (Internet Explorer tidak didukung karena berbagai alasan; Google Chrome dan Opera berfungsi paling baik.)
Saya mungkin bisa membuat ini sedikit lebih pendek, namun ini adalah awal yang baik. Skor yang lebih rendah adalah setelah mengganti semua kemunculan
dengan karakter itu sendiri dan menghapus kata kuncinew
, perubahan yang terakhir melanggar kompatibilitas Google Chrome.Simpan kode ini sebagai file teks dengan nama yang berakhiran .htm atau .html dan buka di Chrome atau Opera (Safari mungkin juga berfungsi), atau cukup buka halaman JSBin solusi untuk mulai bermain. Saya menggunakan kembali header file WAV dari solusi saya ke masalah golf kode Twinkle Twinkle Little Star .
Fitur penting adalah bahwa suara berkurang seiring berjalannya waktu. Untuk mengamati perilaku ini, coba tahan tombol selama beberapa detik dan dengarkan apa yang terjadi.
Ini adalah versi kode yang lebih mudah dibaca:
sumber
Groovy: 577 (703 dengan spasi putih)
5 catatan pertama. Orang lain dapat ditambahkan dengan mudah, ini agak dinamis.
Ayunan sialan. Mungkin dengan ayunan lib akan lebih baik.
Dimainkan melalui JFugue.
Di github: https://github.com/wpiasecki/glissando/blob/master/src/br/glissando/Piano.groovy
Pada asyik 2.0.2
sumber
R - 491 karakter
Saya sedikit terlambat tetapi saya baru melihat posting ini kemarin.
Bekerja pada Mac, menggunakan playRWave dan paket
tuneR
dansplancs
.Tidak Disatukan:
sumber