跳转到内容

Talk:LNNBot:修订间差异

此后如竟没有炬火,我便是唯一的光。
ColorfulGalaxy在话题“Shidinn telegraphic cipher”中的最新留言:2025年9月25日 (星期四)
UrnEn留言 | 贡献
ColorfulGalaxy留言 | 贡献
无编辑摘要
第1行: 第1行:
== Colorful Galaxy Don't Write Anything Here ==
==Shidinn telegraphic cipher==


'''''[[User:UrnEn|Urn]]<font color="cyan">''[[User Talk:UrnEn|En]]</font>_''' 2025年9月25日 () 13:21 (CST)
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. [[User:ColorfulGalaxy|ColorfulGalaxy]]([[User talk:ColorfulGalaxy|留言]]) 2025年9月25日 (四) 18:17 (CST)
 
<syntaxhighlight lang="python">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()</syntaxhighlight>

2025年9月25日 (四) 18:17的版本

Shidinn telegraphic cipher

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()