跳转到内容

Talk:LNNBot

此后如竟没有炬火,我便是唯一的光。
ColorfulGalaxy留言 | 贡献2025年10月6日 (一) 20:31的版本 (Undo)

ColorfulGalaxy在话题“Shidinn telegraphic cipher”中的最新留言:2025年9月25日 (星期四)

本页面用于关于 QQ 机器人 LNNBot 的讨论。关于本维基的机器人账号 User:LNNBot 的讨论请移步 User talk:LNNBot


Shidinn telegraphic cipher

User:Raymond's Shidinn telegraphic cipher is celebrating its fifth anniversary this year.

This Python program converts Shidinn alphabet text to LNNBot musicjs sequence.

It may still need to be corrected. ColorfulGalaxy留言2025年9月25日 (四) 18:17 (CST)回复

import sys
c=' '
rootn=-12
diffn=[]
letters="bpmwjqxynzDsrHNldtgkh45vF7BcfuaoeEAYL62T83V1i"

def printn(n,length=1):
 print("note(",n,",",length,");")

def restn(length=1):
 print("rest(",length,");")

def ejn():
 global diffn,rootn
 while len(diffn)>0:
  printn(rootn+diffn[0],1)
  diffn.pop(0)
  if len(diffn)>0:
   restn(-1)
 rootn=-12
 diffn=[]

def h14():
 print("note(-999,1);") # To be fixed

def b27():
 global diffn,rootn
 rootn=-12
 diffn=[0,2,3,5,7,8,10,12,14,15,17,19,20,22]
 ejn()

def h21():
 global diffn,rootn
 rootn=-12
 diffn=[1,4,6,9,11,13,16,18,21,23,25,28,30]
 ejn()

def t18():
 global diffn,rootn
 rootn=-12
 diffn=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]
 ejn()

rootn=-12
diffn=[0]
ejn()
rootn=-12
diffn=[0]
ejn()
rootn=-12
diffn=[0]
ejn()
h14()


while(c!=''):
 c=sys.stdin.read(1)
 if(c==''):
  ejn();
  b27();
  b27();
  h21();
  h21();
  t18();
  t18();
  h14();
 elif(c in (' ',chr(10),chr(13))): # Space bar
  ejn()
  restn(1)
 elif(c=='b'): # Light
  ejn()
  rootn=2
  diffn=[0,4,7]
 elif(c=='p'): # House
  ejn()
  rootn=1
  diffn=[0,4,7]
 elif(c=='m'): # Door
  diffn=[0,3,7]
  ejn()
 elif(c=='w'): # Mountain
  diffn=[0,4,7,10,15]
  ejn()
 elif(c=='j'): # Hair
  diffn=[0,4,7,10,14,17]
  ejn()
 elif(c=='q'): # Carriage & Boat
  diffn=[0,3,7,10,14,17]
  ejn()
 elif(c=='x'): # Fire & Leather
  diffn=[0,4,7,10,13]
  ejn()
 elif(c=='y'): # Flower
  diffn=[0,4,7,10,14,18]
  ejn()
 elif(c=='n'):
  diffn=[0,3,7,10]
  ejn()
 elif(c=='z'):
  diffn=[0,4,7,10,20]
  ejn()
 elif(c=='D'):
  diffn=[0,4,8,10]
  ejn()
 elif(c=='s'):
  ejn()
  rootn=4
  diffn=[0,4,7]
 elif(c=='r'):
  diffn=[0,3,7,10,14,17,21]
  ejn()
 elif(c=='H'):
  ejn()
  h14() # This function is buggy.
 elif(c=='N'):
  diffn=[0,3,7,10,14]
  ejn()
 elif(c=='l'):
  diffn=[0,2,7]
  ejn()
 elif(c=='d'):
  ejn()
  rootn=5
  diffn=[0,4,7]
 elif(c=='t'):
  ejn()
  t18()
 elif(c=='g'):
  ejn()
  rootn=10
  diffn=[0,4,7]
 elif(c=='k'):
  diffn=[0,4,7,10,14,17,21]
  ejn()
 elif(c=='h'):
  ejn()
  h21()
 elif(c=='4'):
  diffn=[0,5,7]
  ejn()
 elif(c=='5'):
  diffn=[0,7]
  ejn()
 elif(c=='v'):
  diffn=[0,4,6]
  ejn()
 elif(c=='F'):
  ejn()
  rootn=9
  diffn=[0,4,7]
 elif(c=='7'):
  diffn=[0,4,7,10]
  ejn()
 elif(c=='B'):
  ejn()
  b27()
 elif(c=='c'):
  ejn()
  rootn=3
  diffn=[0,4,7]
 elif(c=='f'):
  ejn()
  rootn=8
  diffn=[0,4,7]
 elif(c=='u'):
  diffn=[0,4,8]
  ejn()
 elif(c=='a'):
  ejn()
  rootn=0
  diffn=[0,4,7]
 elif(c=='o'):
  diffn=[0,3,6,9]
  ejn()
 elif(c=='e'):
  ejn()
  rootn=7
  diffn=[0,4,7]
 elif(c=='E'):
  ejn()
  rootn=6
  diffn=[0,4,7]
 elif(c=='A'):
  ejn()
  rootn=11
  diffn=[0,4,7]
 elif(c=='Y'):
  diffn=[0,3,6,11]
  ejn()
 elif(c=='L'):
  diffn=[0,7,10]
  ejn()
 elif(c=='6'):
  diffn=[0,4,7,9]
  ejn()
 elif(c=='2'):
  diffn=[0,4,7,14]
  ejn()
 elif(c=='8'):
  diffn=[0,4,7,12] #C I could not find any reliable source about the C8 chord
  ejn()
 elif(c=='3'):
  diffn=[0,4]
  ejn()
 elif(c=='V'):
  diffn=[0,4,7,11]
  ejn()
 elif(c=='1'):
  diffn=[0]
  ejn()
 elif(c=='i'):
  diffn=[0,4,7,10,14]
  ejn()