Data update
This commit is contained in:
parent
4bb20c9b71
commit
cbaf4c4b64
12390 changed files with 318560 additions and 27248 deletions
68
Task/Morse-code/Rebol/morse-code.rebol
Normal file
68
Task/Morse-code/Rebol/morse-code.rebol
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
Rebol [
|
||||
title: "Rosetta code: Morse code"
|
||||
file: %Morse_code.r3
|
||||
url: https://rosettacode.org/wiki/Morse_code
|
||||
]
|
||||
|
||||
play-morse: function/with [
|
||||
"Play Morse code"
|
||||
text [string!]
|
||||
][
|
||||
foreach line split-lines text [
|
||||
print rejoin ["^/Transmitting: " line "^/"]
|
||||
foreach c line [
|
||||
code: select morse-map c
|
||||
either code [
|
||||
prin [c ": "]
|
||||
foreach sym code [
|
||||
prin sym
|
||||
either sym = #"." [dot][dash]
|
||||
]
|
||||
print ""
|
||||
wait 0.3
|
||||
][
|
||||
if c = #" " [
|
||||
print "[word gap]"
|
||||
wait 0.3
|
||||
]
|
||||
]
|
||||
]
|
||||
]
|
||||
print "^/Done."
|
||||
][
|
||||
;; Morse code dictionary
|
||||
morse-map: #[
|
||||
#"A" ".-" #"B" "-..." #"C" "-.-." #"D" "-.."
|
||||
#"E" "." #"F" "..-." #"G" "--." #"H" "...."
|
||||
#"I" ".." #"J" ".---" #"K" "-.-" #"L" ".-.."
|
||||
#"M" "--" #"N" "-." #"O" "---" #"P" ".--."
|
||||
#"Q" "--.-" #"R" ".-." #"S" "..." #"T" "-"
|
||||
#"U" "..-" #"V" "...-" #"W" ".--" #"X" "-..-"
|
||||
#"Y" "-.--" #"Z" "--.."
|
||||
#"0" "-----" #"1" ".----" #"2" "..---" #"3" "...--"
|
||||
#"4" "....-" #"5" "....." #"6" "-...." #"7" "--..."
|
||||
#"8" "---.." #"9" "----."
|
||||
]
|
||||
;-- Sound functions...
|
||||
;@@ https://github.com/Oldes/Rebol-MiniAudio
|
||||
audio: import 'miniaudio
|
||||
with audio [
|
||||
;; initialize an audio device...
|
||||
device: init-playback 1
|
||||
;; create a waveform
|
||||
wave: make-waveform-node type_sine 0.5 500.0
|
||||
;; start the sound to be reused for the beep (paused)
|
||||
stop snd: play :wave
|
||||
;; beep function accepting time how long
|
||||
beep: function[time [decimal! time!]][
|
||||
start :snd
|
||||
wait time
|
||||
stop :snd
|
||||
wait 0.1
|
||||
]
|
||||
dot: does[beep 0.1]
|
||||
dash: does[beep 0.3]
|
||||
]
|
||||
]
|
||||
|
||||
play-morse "SOS, Hello Rebol!"
|
||||
Loading…
Add table
Add a link
Reference in a new issue