Dalam bahasa pemrograman apa pun, buat program yang mengambil input dan menghidupkan teks yang sedang diketik pada keyboard.
Penundaan antara setiap karakter harus bervariasi untuk mensimulasikan pengetikan yang sebenarnya pada keyboard. Penundaan harus dalam 0.1, 0.1, 0.5, 0.1, 0.1, 0.5 ...
hitungan detik, hingga karakter terakhir dicetak. Hasil akhir harus dibiarkan di layar.
Anda harus menimpa baris teks saat ini Anda tidak dapat memiliki teks dicetak pada baris baru.
Contoh, masukan "Halo, PPCG! Selamat tinggal Earth!" harus menghasilkan animasi berikut (perhatikan bahwa laju pengambilan sampel pembuat gif rendah, sehingga hasil sebenarnya sedikit berbeda):
Karena ini adalah kode golf, jumlah byte terkecil menang.
Jawaban:
C
1089389787380 byteVersi tidak disatukan:
@Kritixi Lithos @Metoniem Terima kasih atas masukan Anda! menyimpan beberapa byte.
Entah bagaimana, hanya
int i
memberi saya kesalahan segmentasi saat menjalankan, jadi saya menginisialisasi dengan 0.sumber
i%3
penundaannya 5.100000
dengan1e5
mencukur 3 byte1e5
tidak berfungsi pada perangkat sayaJelly , 13 byte
Ini adalah tautan / fungsi monadik. Karena output implisit, itu tidak berfungsi sebagai program lengkap.
Verifikasi
Bagaimana itu bekerja
sumber
MATLAB, 74 byte
Penjelasan:
Saya menggunakan beberapa saat untuk membuat
fprintf
versi lebih pendek daripadadisp()
denganclc
. Terobosannya adalah ketika saya menemukan / mengingat bahwapause
dapat mengambil vektor sebagai argumen, dalam hal ini hanya akan memilih nilai pertama. Ini memungkinkan untuk meninggalkan konter.Terpendek yang saya gunakan
disp
adalah 81 byte:sumber
printf
bukanfprintf
? Ini bekerja di octave-online.net (tapi itu oktaf dan bukan Matlab)JavaScript (ES6), 67 byte
sumber
Blocked form submission to '' because the form's frame is sandboxed and the 'allow-forms' permission is not set.
V ,
201918 byte1 byte disimpan berkat @DJMcMayhem
disimpan 1 byte dengan menghapus
ò
di akhirSangat tidak berperasaan, saya tahu, hanya saja tidak ketat
u
mencegah saya menggunakan loop bersarang.Penjelasan
Kursor dimulai di awal buffer, yang merupakan karakter pertama dari input.
Gif segera hadir ...
sumber
gÓ
tanpa hitungan default hingga 500 ms, jadi Anda bisa menyimpan byte di sana. Juga, ingatlah bahwa Anda tidak membutuhkan yang keduaò
!u
dapatkah Anda hanyap
aste? Tidak yakin apakah itu membantu sama sekaliò
karena jika tidak program berakhir lebih awal karena baris baru implisit pada akhirnya menyebabkan kesalahan.p
aste, tetapi sayangnya itu memindahkan kursor ke akhir baris dan untuk kembali saya akan memerlukan sesuatu seperti``
yang hanya akan meningkatkan bytecount saya lebih jauhMATL , 16 byte
Cobalah di MATL Online!
Penjelasan
sumber
Noodel , 18 byte
Cobalah:)
Bagaimana itu bekerja
Cuplikan kode 19 byte yang berulang tanpa henti.
sumber
APL, 23 byte
Penjelasan:
sumber
C #,
131byteTidak banyak yang bisa dijelaskan. Hanya membutuhkan string (terbungkus "") sebagai argumen dan mencetak setiap karakter menggunakan pola penundaan yang benar. Setelah animasi, ia keluar dengan
OutOfRangeException
karena loop tidak berhenti setelah loop di atas semua karakter. Karena ini adalah infinite loop, itu juga berarti saya bisa menggunakanint Main
daripadavoid Main
;-)Golf
Tidak disatukan
Suntingan
i
di dalamSleep()
metode alih-alih difor
loop. (Terima kasih Maliafo )sumber
Sleep(i++ [...])
menyimpan byte tambahan di dalam for loop?SmileBASIC, 61 byte
Saya pikir perhitungan penundaan bisa menjadi jauh lebih pendek.
sumber
Clojure, 81 byte
Loop atas string input di-zip dengan daftar infinite
[100 100 500]
.sumber
Bash (+ utilities), 32 byte
Golf
Demo
sumber
Python 3 ,
8375 byteCobalah online!
sumber
,flush=1
.Powershell,
666563 Bytes-1 menghapus spasi putih yang tidak dibutuhkan setelahnya
-m
-2 Terima kasih kepada AdmBorkBork - digunakan
1,1,5
dan*
hasil akhirnya oleh100
bukannya menggunakan100,100,500
mengambil
$args
sebagai array char, loop melalui tidur seperti yang ditentukan,Write-Host
dengan-N
argumen oNewline digunakan untuk menulis karakter pada baris yang sama.Perbaikan?
[0..99]
sebagai ganti[char[]]
untuk menyimpan 1 byte, tetapi tidak akan bekerja pada string lebih dari 100 karakter.100,500
dan[(++$i%3)-gt1]
tapi buat jadi lebih pendek.Write-Host
tidak dapat menemukan cara untuk membuat dua yang terakhir berfungsi, dan yang pertama tidak valid oleh aturan tertentu.
sumber
sleep -m((1,1,5)[++$i%3]*100)
Perl, 63 byte
sumber
Python 3, 88 Bytes
sumber
Rebol, 65 byte
Tidak Disatukan:
sumber
Bash + coreutils, 57 byte
sumber
Java 7,
151149 byte-2 byte berkat @KritixiLithos untuk sesuatu yang selalu saya lupa ..
Penjelasan:
Pemakaian:
sumber
a[0].split("")
?split
jawaban Pemrosesan saya ...Memproses,
133131 byteSaya mencoba melakukan
args[0]
dan memasukkan argumen""
sebagai gantinya, tetapi tidak berhasil karena suatu alasan.Ngomong-ngomong ... ini adalah pertama kalinya saya menulis sebuah program Pemrosesan yang mengambil argumen. Tidak seperti Java, Anda tidak perlu mendeklarasikan argumen menggunakan
String[]args
, tetapi variabelargs
akan secara otomatis diinisialisasi ke argumen.Masukkan ke dalam file bernama di
sketch_name.pde
bawah folder bernamasketch_name
(ya, nama yang sama untuk folder dan sketsa). Sebut saja seperti:sumber