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/17 11:32:35

MixJuice GET URL : kidspod.club/mj/787

モールス信号 

ソースコードを読み込むとSAVE0~4に保存されます。

キーボードから文字を入力すると、モールス信号を発信します。
CAPS LOCKで大文字にしてください。
スペースで7点待ち。ENTERで画面クリア。

一つにまとめると1000文字を超えるので4分割しました。
IF K=文字コード M=モールス信号 でモールス信号に変換
信号長쎗100+符号ビットで3桁に変換してあります。

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

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


  • 1
  • 1

SOURCE CODE

NEW
10 'モールス-0
20 CLS:?"モールスシンゴウ"
30 Y=2
40 LRUN FILE()+1
SAVE 0

NEW
10 'モールス-1
20 LC0,Y,1
30 K=INKEY():IF !K CONT
40 ?CHR$(K);" ";:X=2
50 LRUN FILE()+1
SAVE 1

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

NEW
10 'モールスー3
20 IF M=0 GOTO@N
30 IF M=-1 ?:WAIT W*7:GOTO@N
40 LCX,Y:?BIN$(M%100,M/100)
50 IF Y<23 Z=Y:ELSE Z=22
60 I=0
70 @C:LC X+I,Z:C=SCR()
80 IF C=0 GOTO @B
90 IF C=ASC("1") ?"-";:ELSE?"・";
100 I=I+1:GOTO@C
110 @B:W=4:I=0
120 @L:LC X+I,Z,1:C=SCR()
130 IF!CWAITW*3:GOTO@E
140 L=1:IF C=ASC("-") L=3
150 BEEP 4,W*L:WAIT W*(L+1)
160 I=I+1:GOTO@L
170 @E:WAIT W*2
180 @N:IF Y<23 Y=Y+1
190 LRUN FILE()-2
SAVE 3

LRUN0

COMMENT