このプログラムは、PCNこどもプロコン2016冬に応募して「上坂会計グループ賞」を受賞した「ANAGMA」の改良版です。
~~主な新機能~~
・暗号化モード時のカタカナ、小文字のアルファベット、オリジナルキャラクター、その他図形の入力の無効化
操作方法(必読)
ANAGMAをスタートさせると、画面中央に「 <<ANAGMA>> 」という文字が表示されます。
1>画面上部に、「MODE CHOICE」と表示されます。
「ENCODE:1」と、「DECODE:2」という文字が表示されます。
1を押すと『暗号化モード』になり、2を押すと『復号化モード』になります。
2>画面上部に「PLEASE INPUT 12 DIGIT CODEKEY」と表示されて、
その下に「<4 DIGIT x3>」と表示されます。
そして、画面中央に「?」と、カーソルが表示されます。
そこに、あらかじめ決めておいた12桁のキーコード(0は使わないこと)を例のように入力します。入力したら、準備OKです。
(例)「123456789123」の場合
?1234
?5678
?9123
3>画面上部に「INPUT:」、画面中央に「OUTPUT:」と表示されます。
『暗号化モード』のときに平文(読める文章)を入れると、「OUTPUT:」の下に暗号文が出てきます。
『復号化モード』のときに暗号文を入れると、「OUTPUT:」の下に平文が出てきます。
バックスペースを押すと、どちらのモードでも文字を消去することができます。
4>使える文字・編集機能
使用できる文字は、大文字のアルファベットと数字と、キーボードに書いてある記号(&、!等)、矢印記号(↑、↓、→、←)が、それぞれのキーを押すと表示されます。
スペースとバックスペースも使えます。
5>その他
ちなみに、カタカナや小文字のアルファベット、イチゴジャムオリジナルのキャラクターは、暗号化するときに使うと、キーボードで入力できない記号が含まれている暗号文になってしまうので、入力できないようになっています。
ちなみに、ANAGMAでは「F10」キーを押すと、アンダーバー(_)を表示できるようにしました。
また「Delete」キーを押すと、ANAGMAが再起動します。
プログラムの400行目を少し変えると、暗号をもっと複雑にすることができます。
※復号してみて下さい!
キーコード: 5264 6463 5322
暗号文 : MGRPU%
これからは、ANAGMAの新機能を公開していきたいと思います。
コメント・フォローお願いします!
1 'ANAGMA-A 2 CLS:CLV 3 LC10,12:?"<<ANAGMA>>":WAIT60 14 CLS:LC10,1:?"MODE CHOICE":LC11,7:?"ENCODE: 1":LC11,9:?"DECODE: 2" 16 K=INKEY():IFK=49Q=1:GOTO20ELSEIFK=50Q=2:GOTO20 18 GOTO16 20 CLS:CLK:W=0:LC1,2:?"PLEASE INPUT 12 DIGIT CODEKEY" 22 LC10,4:?"<4 DIGIT x3>" 25 FORG=0TO2 30 LC12,12+2*G:INPUTN:IF N>9999ORN<1000GOTO30 40 A=4*G:GSB400:NEXT 140 CLS:LC0,0:?"INPUT:":LC0,12:?"OUTPUT:" 160 K=INKEY():CLK:IF K=0 GOTO160 162 IF K=8ORK=10 GOTO170 163 IF K=24 GOTO170 164 IF K<27ORK>127 GOTO160 170 IF K=24POKE#AA0+I,95+(Q=1)*[W]-(Q=2)*[W]:POKE#920+I,95:GOTO330 173 IF K=127 RUN 176 IF K=10 POKE#920+I,10:POKE#AA0+I,10:GOTO330 178 IF K<>8GOTO190 180 IF I=0POKE#920,0:POKE#AA0,0:GOTO160 182 IF W>-1&&I>-1I=I-1:W=W-1:POKE#920+I,0:POKE#AA0+I,0:GOTO160 184 IF W<0W=11:GOTO182 186 IF I<0GOTO160 190 IF W<0W=11 200 POKE#920+I,K 320 POKE#AA0+I,K+(Q=1)*[W]-(Q=2)*[W] 330 I=I+1:W=W+1:IF W=12W=0 350 IF I=320 I=0 360 GOTO160 400 [A]=N/1000:[A+1]=(N%1000)/100:[A+2]=((N%1000)%100)/10:[A+3]=((N%1000)%100)%10:RTN
簡単に見破れない暗号をいとも簡単に作れてしまうのがすごい! ENIGMAに対するANAGMAという名前も素敵ですね。新機能も楽しみです。