Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function playSound( notes,sound,redstoneside )
- local before = 0
- write(redstoneside.." ")
- for i, v in ipairs(notes) do
- if sound.s[i] then
- v.setPitch(sound.s[i])
- before=sound.s[i]
- else
- v.setPitch(before)
- end
- write(before.." ")
- end
- write("\n")
- redstone.setOutput(redstoneside,not redstone.getOutput(redstoneside))
- return sound.w
- end
- function playSounds(notes,song,redstoneside)
- for i, v in ipairs(song) do
- -- local timeID = os.startTimer(v.w)
- sleep(playSound(notes,v,redstoneside))
- -- while (timeID ~= os.pullEvent("timer")[2]) do
- -- end
- end
- end
- local notes = {}
- local famima = { {w=0.2,s={13}}
- ,{w=0.2,s={9}}
- ,{w=0.2,s={4,1}}
- ,{w=0.2,s={9}}
- ,{w=0.2,s={11,8}}
- ,{w=0.2,s={16}}
- ,{w=0.4,s={4}}
- ,{w=0.2,s={11,4}}
- ,{w=0.2,s={13}}
- ,{w=0.2,s={11,4}}
- ,{w=0.2,s={4}}
- ,{w=0.2,s={9,1}}}
- local SIDE_LIST = {"left" , "right" , "front" , "back" , "bottom" , "top"}
- local redstoneside = 1
- for i, v in pairs(peripheral.getNames()) do
- if peripheral.getType(v) == "music" then
- notes[#notes + 1] = peripheral.wrap(v)
- end
- end
- while true do
- -----------------view---------------
- term.clear()
- term.setCursorPos(1, 1)
- write(SIDE_LIST[redstoneside])
- ------------------------------------
- local eve = {os.pullEvent()}
- if eve[1] == "key" and eve[2] == 200 then -- "up"
- redstoneside = redstoneside - 1
- if redstoneside < 1 then
- redstoneside = #SIDE_LIST
- end
- end
- if eve[1] == "key" and eve[2] == 208 then -- "down"
- redstoneside = redstoneside + 1
- if redstoneside > #SIDE_LIST then
- redstoneside = 1
- end
- end
- if eve[1] == "redstone" then
- playSounds(notes,famima,SIDE_LIST[redstoneside])
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement