Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2019/04/19 19:59:28

MixJuice GET URL : kidspod.club/mj/797

モールス信号 文字列入力 英文・和文対応

英文・和文を入力すると、モールス信号を発信します。
3つのプログラムをLRUNでつなぐので、CLV:LRUN0で起動します。

英文は大文字のみ。CAPS LOCKで大文字にしてください。

和文はヰヱはIchigojamで入力できないのでありません。
和文の()は「」で入力します。

モールス-STR と 符号変換 -A -Kに分割。

IF K=文字コード M=モールス信号 でモールス信号に変換
信号長쎗100+符号ビットで3桁に変換してあります。

データを二進数で表示して01を・-に置き換え
・-をBEEP と WAIT で音にしています。

符号データなど間違いがあったらデバッグしてください。

  • 1
  • 1

SOURCE CODE

NEW
10 'モールスーSTR
20 @T:IFY=0:W=4:CLS:?"モールスシンゴウ":Y=2:V=0
30 IFM<>0GOTO@M
40 IFV>0GOTO@B
50 @L:LC0,Y:?CHR$(24);:INPUT"",S:V=0:X=0:IFY>22 Y=22
60 IF!SCR(0,Y) M=0:Y=0:GOTO@T
70 @C:[V]=PEEK(#900+Y*32+V)
80 IF [V]<>0V=V+1:GOTO@C:ELSE V=0:Y=Y+1
90 @B:IF[V]=0:Y=Y+1:GOTO@L
100 K=[V]:V=V+1:LRUN1
110 @M:LCX,Y
120 IF M=-1 ?:WAIT W*7:GOTO@N
130 ?BIN$(M%100,M/100)
140 IF Y<23 Z=Y:ELSE Z=22
150 I=0
160 @D:LC X+I,Z:C=SCR()
170 IF C=0 I=0:GOTO@P
180 IF C=ASC("1") ?"-";:ELSE?"・";
190 I=I+1:GOTO@D
200 @P:LC X+I,Z,1:C=SCR()
210 IF!CWAITW*3:GOTO@W
220 L=1:IF C=ASC("-") L=3
230 BEEP 4,W*L:WAIT W*(L+1)
240 I=I+1:GOTO@P
250 @W:WAIT W*2
260 @N:M=0:IFY<23 Y=Y+1
270 GOTO@T
SAVE0

NEW
10 'モールス-A
20 M=0
30 IFK=32M=-1
40 IFK=33M=643
50 IFK=34M=618
60 IFK=40M=522
70 IFK=41M=645
80 IFK=43M=510
90 IFK=44M=651
100 IFK=45M=633
110 IFK=46M=621
120 IFK=47M=518
130 IFK=48M=531
140 IFK=49M=515
150 IFK=50M=507
160 IFK=51M=503
170 IFK=52M=501
180 IFK=53M=500
190 IFK=54M=516
200 IFK=55M=524
210 IFK=56M=528
220 IFK=57M=530
230 IFK=58M=656
240 IFK=61M=517
250 IFK=63M=612
260 IFK=64M=626
270 IFK=65M=201
280 IFK=66M=408
290 IFK=67M=410
300 IFK=68M=304
310 IFK=69M=100
320 IFK=70M=402
330 IFK=71M=306
340 IFK=72M=400
350 IFK=73M=200
360 IFK=74M=407
370 IFK=75M=305
380 IFK=76M=404
390 IFK=77M=203
400 IFK=78M=202
410 IFK=79M=307
420 IFK=80M=406
430 IFK=81M=413
440 IFK=82M=302
450 IFK=83M=300
460 IFK=84M=101
470 IFK=85M=301
480 IFK=86M=401
490 IFK=87M=303
500 IFK=88M=409
510 IFK=89M=411
520 IFK=90M=412
530 LRUN2
SAVE1

NEW
10 'モールス-K
20 IFK=162M=645
30 IFK=163M=618
40 IFK=164M=621
50 IFK=166M=407
60 IFK=176M=513
70 IFK=177M=527
80 IFK=178M=201
90 IFK=179M=301
100 IFK=180M=523
110 IFK=181M=508
120 IFK=182M=404
130 IFK=183M=520
140 IFK=184M=401
150 IFK=185M=411
160 IFK=186M=415
170 IFK=187M=521
180 IFK=188M=526
190 IFK=189M=529
200 IFK=190M=514
210 IFK=191M=414
220 IFK=192M=202
230 IFK=193M=402
240 IFK=194M=406
250 IFK=195M=511
260 IFK=196M=504
270 IFK=197M=302
280 IFK=198M=410
290 IFK=199M=400
300 IFK=200M=413
310 IFK=201M=403
320 IFK=202M=408
330 IFK=203M=525
340 IFK=204M=412
350 IFK=205M=100
360 IFK=206M=304
370 IFK=207M=409
380 IFK=208M=505
390 IFK=209M=101
400 IFK=210M=517
410 IFK=211M=518
420 IFK=212M=303
430 IFK=213M=519
440 IFK=214M=203
450 IFK=215M=300
460 IFK=216M=306
470 IFK=217M=522
480 IFK=218M=307
490 IFK=219M=405
500 IFK=220M=305
510 IFK=221M=510
520 IFK=222M=200
530 IFK=223M=506
540 LRUN0
SAVE2

CLV:LRUN0

COMMENT

Kidspod運営チーム
Kidspod運営チーム2019/04/20 09:14:22

おおー! これは今までになかったタイプのツールですね。ちゃんと音を出してくれるところも素敵です。