Advertisement
Kurochi

ComputerCraft MoonTheme

Apr 9th, 2020
1,147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.29 KB | None | 0 0
  1. local args = {...};
  2. local speaker = peripheral.find("speaker");
  3. local notes = {
  4.     ["F#0"] = 0,
  5.     ["G0"] = 1,
  6.     ["G#0"] = 2,
  7.     ["A0"]= 3,
  8.     ["A#0"] = 4,
  9.     ["B0"] = 5,
  10.     ["C1"] = 6,
  11.     ["C#1"] = 7,
  12.     ["D1"] = 8,
  13.     ["D#1"] = 9,
  14.     ["E1"] = 10,
  15.     ["F1"] = 11,
  16.     ["F#1"] = 12,
  17.     ["G1"] = 13,
  18.     ["G#1"] = 14,
  19.     ["A1"] = 15,
  20.     ["A#1"] = 16,
  21.     ["B1"] = 17,
  22.     ["C2"] = 18,
  23.     ["C#2"] = 19,
  24.     ["D2"] = 20,
  25.     ["D#2"] = 21,
  26.     ["E2"] = 22,
  27.     ["F2"] = 23,
  28.     ["F#2"] = 24
  29. };
  30.  
  31. local moonTheme = {
  32.     {{"F#0"}, 0.15}, -- Bar
  33.     {{"C1"}, 0.15},
  34.     {{"F1"}, 0.15},
  35.     {{"G1"}, 0.15},
  36.     {{"C1"}, 0.15},
  37.     {{"F1"}, 0.15},
  38.     {{"G1"}, 0.15},
  39.     {{"C1"}, 0.15},
  40.     {{"B1"}, 0.15}, -- Bar
  41.     {{"C1"}, 0.15},
  42.     {{"B1"}, 0.15},
  43.     {{"A1"}, 0.15},
  44.     {{"C1"}, 0.15},
  45.     {{"A1"}, 0.15},
  46.     {{"G1"}, 0.15},
  47.     {{"F1"}, 0.15},
  48.     {{"F#0", "C1"}, 0.15},  -- Bar
  49.     {{"C1"}, 0.15},
  50.     {{"F1"}, 0.15},
  51.     {{"G1"}, 0.15},
  52.     {{"C1"}, 0.15},
  53.     {{"F1"}, 0.15},
  54.     {{"G1"}, 0.15},
  55.     {{"C1"}, 0.15},
  56.     {{"B1"}, 0.15}, -- Bar
  57.     {{"C1"}, 0.15},
  58.     {{"B1", "F1"}, 0.15},
  59.     {{"A1"}, 0.15},
  60.     {{"C1", "G1"}, 0.15},
  61.     {{"A1"}, 0.15},
  62.     {{"G1", "B1"}, 0.15},
  63.     {{"F1"}, 0.15},
  64.     {{"F#0", "B1"}, 0.15},  -- Bar
  65.     {{"C1"}, 0.15},
  66.     {{"F1"}, 0.15},
  67.     {{"G1", "A1"}, 0.15},
  68.     {{"C1", "A1"}, 0.15},
  69.     {{"F1"}, 0.15},
  70.     {{"G1"}, 0.15},
  71.     {{"C1"}, 0.15},
  72.     {{"B1"}, 0.15}, -- Bar
  73.     {{"C1"}, 0.15},
  74.     {{"B1"}, 0.15},
  75.     {{"A1"}, 0.15},
  76.     {{"C1", "G1"}, 0.15},
  77.     {{"A1"}, 0.15},
  78.     {{"G1", "F1"}, 0.15},
  79.     {{"F1"}, 0.15},
  80.     {{"F#0", "C2"}, 0.15},  -- Bar
  81.     {{"C1"}, 0.15},
  82.     {{"F1"}, 0.15},
  83.     {{"G1"}, 0.15},
  84.     {{"C1"}, 0.15},
  85.     {{"F1"}, 0.15},
  86.     {{"G1", "F1"}, 0.15},
  87.     {{"C1"}, 0.15},
  88.     {{"B1"}, 0.15}, -- Bar
  89.     {{"C1"}, 0.15},
  90.     {{"B1"}, 0.15},
  91.     {{"A1"}, 0.15},
  92.     {{"C1", "F2"}, 0.15},
  93.     {{"A1"}, 0.15},
  94.     {{"G1"}, 0.15},
  95.     {{"F1", "F2"}, 0.15},
  96. }
  97.  
  98. function playTune(tune)
  99.     for k, v in pairs(tune) do
  100.         speaker.playNote(args[1] or "chime", 0.5, notes[v[1][1]]);
  101.         if (v[1][2] ~= nil) then
  102.             speaker.playNote(args[2] or "chime", 3, notes[v[1][2]]);
  103.         end
  104.         sleep(v[2]);
  105.     end
  106. end
  107.  
  108. playTune(moonTheme);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement