ショートプログラム

1行プログラム、2行プログラム、1画面プログラムなどのごく小さなプログラムを公開しているページです。


※PC-E500シリーズの1行は行番号、改行込みで最大255文字(命令の後には自動的にスペースが挿入)、255バイト(ただし、10進数の単精度数値は桁数に関係なく8バイトで扱われる)、1画面は行番号、改行別で最大152文字となっている。


1画面版 100m走



《 遊び方 》

 RUNをして画面上にGOと表示されたら[1][3]を交互に連射して走らせます。画面端までたどり着くとゴールとなり、タイムを表示します。
 1画面に収めるためリトライ機能はありません。このページ内にある2LINE版と差別化するため10秒台のタイムが出やすくなるようにバランス調整をしています。

《 プログラムリスト 》


1LINE ハイロー



JUN氏がPB-1000用に作った1LINEハイローをPC-E500シリーズ用に移植したものです。

《 遊び方 》

 RUNをしたら画面1段目に数字が2つ出ます。2段目には「+」もしくは「−」が出るので、「+」が出たら2つのうちの大きい方の数、「−」が出たら小さい方の数をテンキーですばやく入力してください。2つの数字が同じ場合は何も押さず一定時間待ってください。
 間違ったキーを押せば即ゲームオーバーです。
 ゲームオーバー画面で[RETURN]を押せばリプレイできます。

《 PB-1000用との違い 》

 「スコア」とゲームオーバー時の「END」の文字表示に加えてリプレイ機能を導入しました。

《 プログラムリスト 》

1 CLEAR :WAIT Z:RANDOMIZE :FOR I=&TO 1:A=RND 8,B=RND 8,D=RND 2:CLS :PRINT A;B:PRINT CHR$ (47-D*2):PRINT "スコア";S:FOR J=&TO 99-S:K=VAL INKEY$,J=J+K*99:NEXT :I=-(K<>EVAL CHR$ (67-(A<>B)*(SGN (1.5-D)*(A<B)-D))),S=S+1:BEEP 1:NEXT :WAIT :PRINT "END":GOTO 1


2LINE ピョンコ

 このゲームはPJのゲームデザイン館の「ピョンコ」を元にしたゲームです。

《 最初に 》

1行目に用いられている「■(黒の四角)」は下記のようにすれば入力できます。
(1) RUNモードにする
(2) FOR I=1 TO 7:A$=A$+CHR$ 135:NEXT [RETURN]
(3) PROGRAMモードにする
(4) A$ [RETURN][+/-]
(5) 行番号その他を挿入する

《 遊び方 》

 このゲームでは疑似アナログ入力が採用されています。PFキーを[PF1]から[PF5]まで滑らすようにして操作します。
 ゲーム開始時はプレイヤーのキャラは画面左端の(画面外)に居ます。この操作によって空白を飛び越えながら画面右端までたどり着いてください。画面右端にキャラの先端部分が到着すればクリアです。ただし、キャラの体全体が画面外に行くとミスになるためゴールは慎重に行う必要があります。
 ミスをした場合はステージの最初からやり直しです。ただし、ステージはランダムで生成されるため全く同じステージになるとは限りません。
 なお当たり判定はキャラの左下1ドット分だけで行われます。この後ろ足の先っぽの部分が乗っかっていれば体の大半が空白部分にあってもセーフとなります(逆はアウト)。
 全5面をクリアするとかかったジャンプ数がスコアとして表示されます。ゴルフと同じくスコアが少ない方が良いスコアです。

《 プログラムリスト 》

1 Z=&:FOR K=&1TO &5:CLS :PRINT K:X=-8:Y=23:LOCATE ,&3:FOR I=&TO &4:PRINT MID$ ("□□□□□□■■■■■■■",&8-RND &2-K,&8);:NEXT :FOR J=&TO &STEP &:T=&:K$=INPUT $(1):FOR I=&F1 TO &F5 STEP &:T=T+1:IF ASC INKEY$<>I NEXT ELSE I=I+1:NEXT :Z=Z+1:W=-5:V=70/T:FOR I=&TO 18
2 X=X+V:W=W+0.5:Y=Y+W:GCURSOR (X-V,Y-W):GPRINT "0000000000000000":GCURSOR (X,Y):GPRINT "80404864E47478B0":BEEP &1,Y*9,&9:NEXT :IF POINT (X,Y+1)<>1BEEP 1:K=K-1:PAUSE "MISS":NEXT K ELSE IF X<232 NEXT ELSE PAUSE "CLEAR":NEXT K:BEEP &4:PRINT "SCORE";Z
(注意)はスペースを意味します。(カタカナの「ロ」ではない)


2LINE UFO GAME

OPASを使った2LINEゲームを作ってみよう」と思ったので作ってみました。

 どんなゲームかはまずは動画を見てください。


《 注 意 》

1行目に用いられている矢印は制御文字ですがこれは下記のようにすれば入力できます。
(1) RUNモードにする
(2) A$=CHR$31 [RETURN]
(3) FOR I=0 TO 9:A$=A$+CHR$29:NEXT [RETURN]
(4) A$=A$+A$+A$ [RETURN]
(5) PROGRAMモードにする
(6) A$ [RETURN][+/-]
(7) 行番号その他を挿入する

また、このプログラムオールBASICですがBFA66h〜BFBFFhの410バイトほどマシン語エリアを確保する必要があります。確保の仕方が分からない人は下記のようにしてください。
POKE &BFE03,&1A,&FD,&B,&9A,1,0 [RETURN]
CALL &FFFD8 [RETURN]

《 遊び方 》

 RUNをしたらステージデータを作成するかどうかを聞いてくるので作成しない場合は[RETURN]を空打ちしてください。初回プレイ時はステージデータの作成が必要なので何か適当な文字を入力してください。
 画面左端のUFOを操作するわけですが何かキーを押せば上昇し押さなければ下降します。右から迫り来る隕石群を避けながら255ドット進めばクリアです。当たり判定はUFOの中央部1ドットのみなので狭い隙間も通り抜けられますがUFOの動作に慣性が働いているので慣れるまでは難しいかもしれません。

 このゲームはOPAS対応によって6cpsの速度を実現しましたがOPASを使用せずにGPRINTで同じものを作ったら高速化を駆使しても1.3cpsだったので約5倍の速度となりました。表示部分だけを比較すると何と10倍以上の速度です。
 私以外ではOPASを使っている人はほとんどいませんがOPASを使えばこのようなゲームもいとも簡単にできてしまいます。大量のグラフィック表示をする場合GPRINTを使うよりも速くなるだけではなくリストを短くすることもできる場合もあるのです。GPRINTでは同じ物を2行で作ることはできません。

《 改造点 》

 このゲームが難しすぎる(簡単すぎる)という人は1行目のI=I+RND 1500/I1500を変えてください。値を大きくすれば出現する隕石の数が減り、小さくすれば増えます。ただ、値を大きくする場合は確保したマシン語エリアの範囲を超える可能性があり危険なので100000とかの極端に大きな数にはしないでください(小さくする場合は全く問題ありません)。
 また隕石の出現パターンが同じで飽きたという人は同じく1行目のZ=RND-1-1を別の数に変えるといいです。(ただし負の数に限る)
 プログラムを書き換えた場合にはゲーム開始時に新たにステージデータの作成を行ってください。

《 プログラムリスト 》

1 CLS :CLEAR :Y=&B,A$="タチツテトナニヌネノ↓←←←←←←←←←←カキクケコサシスセソ↓←←←←←←←←←←アイウエオカキクケコ↓←←←←←←←←←←サシスセソタチツテト":INPUT Z$:IF Z$ LET Z=RND -1,A=&BFA66:FOR I=A TO A+406:POKE I,0:NEXT :FOR I=40TO 406:I=I+RND 1500/I+&4,B=&2^RND &5/&2:POKE A+I,6*B,&D*B,&F*B,&6*B:NEXT
2 OPEN "SCRN:"FOR OUTPUT AS &1:FOR I=&TO &FF:X=X-(INKEY$="")*2-1,Y=Y+X:POKE &BFC93,I,&FA,&B:LOCATE E,E:PRINT #1,A$:Z=POINT (4,Y-3):GCURSOR (E,Y):GPRINT "70E87C2A3A2A7CE870":BEEP 1,Y*6,5:LOCATE &F,E:PRINT #1,I:IF Z BEEP 1ELSE NEXT :BEEP &3:PRINT "CLEAR!"

《 1.5倍速版 》

 実はスコアの常時表示と音だしをやめれば現状の6cpsのさらに1.5倍速の9cpsにできます。ただ、速すぎてプレイするのが難しくなるため上記改造点を元に隕石の数を減らした方が良いかもしれません。
 1.5倍速でプレイするには2行目を下記のように変更してください。この改造によってクリア時はスコアが出ませんが255点となります。
2 POKE &BFC94,&FA,&B:OPEN "SCRN:"FOR OUTPUT AS &1:FOR I=&TO &FF:X=X-(INKEY$="")*2-1,Y=Y+X:POKE 785555,I:LOCATE 0,0:PRINT #1,A$:Z=POINT (4,Y-3):GCURSOR (0,Y):GPRINT "70E87C2A3A2A7CE870":IF Z LOCATE 15,0:PRINT I:BEEP 1ELSE NEXT :BEEP &3:PRINT "CLEAR!"
 この2LINE UFO GAMEで使用しているテクニックをこちらに書きました。GPRINTとの比較もあるのでOPASがどのくらい優れているかも分かると思います。
 あと2LINEではないですがグラフィックを強化した「UFO GAME 2」も作りました。OPASをフルに使えばどの程度のことが可能なのかというのをぜひご覧になってください。


ハイパー100M走3



 連射命の100M走のゲームです。
 このゲームはポケコンジャーナル94年5月号に発表された「ハイパー100M走II」のバージョンアップ版で、BASICの限界に迫る速度を実現していた前作と比べても何と最大2倍の高速化をしており、更に簡易キーコンフィグ機能も搭載しています。
 この短いリストの中に高速化テクニックを数多く詰め込んでいます。したがって、従来指摘されていた、「2LINEゲームは速度的に無駄がある」というようなことはありません。・・・っていうか、BASICでこれ以上速く出来るのならしてみろっていう感じですね。(←かなり強気)

 下記リストを入力後CLEAR[RETURN]としてハイスコアを初期化してください。あとはRUNをすればゲームが始まるので、[1][3]をひたすら交互に押してください。1秒当たりメインルーチンを最高100回実行しているので、コスリを使おうがちゃんと反応します。連続で遊ぶときは[RETURN]でリトライできます。
 ゲーム終了後は[CTRL]+[+/-]としてフォントを元に戻してください。

 なお、使うキーは自分で選ぶこともできます。1行目のM、Nに使うキーのアスキーコードを入れてください。ただし、MとNは同じ数にしないでください。

 私の自己ベストは9秒29です。これを破った人は、ぜひ、お知らせください。秒間20連射以上できないと絶対破れません!

《 プログラムリスト 》

1 M=49,N=51,T=&,A=&1:POKE &BFC93,&80,&FA,&B:FOR I=&TO 23:POKE &BFAE6+I,VAL ("&"+MID$ ("904735391B201420000000000000002F45393B2050800000",I*2+A,2)):NEXT :CLS :WAIT &:ERASE C$:DIM C$(A):C$(T)="アイ”,C$(A)="ウエ":LINE (T,&E)-(234,25),B:USING "##.##"
2 N=N+M:PAUSE "BEST";B;:PAUSE "□□READY";:PRINT "GO!":BEEP A,99,&64:FOR X=&TO 37STEP &:T=T+4:IF -M+ASC INKEY$ NEXT ELSE A=1-A,M=N-M:LOCATE X,2:PRINT C$(A):X=X+0.5:NEXT :BEEP 1,X,99:T=(T-RND &4)/&64:B=-(B<T)*B-((B>=T)+(B=&))*T:WAIT :PRINT "TIME";T:GOTO 1

(注意)はスペースを意味します。(カタカナの「ロ」ではない)


2LINE エディタ ver 3.0



 2LINEでできた、キャラクタ作成エディタです。
まず、1行目の最初の「L=12」のところで、Lに作成するキャラクタの「横のドット数」を入れてください。(1〜14の範囲)
 あとは[8][2][4][6]で上下にカーソルを動かし、[SPACE]でドットを反転させます。作成が終わったらPFキーを押してください。押したPFキーにデータが登録([PF6]〜[PF10]を使用するのであらかじめ大事なデータはどこかに保管しておいてください)され16進数データを表示します。作成中に[√]を押せばコマンド入力待ちになり、[OFF]を押せば一時中止でき(再び修正するときは電源ONのあと[RETURN]を押せばよい)また、過去に作ったキャラクタを参照して作成したい場合はそのデータを入力してください。データを登録したくないけど16進数データを表示したいというときは、このキーを使うと便利です。

 2LINEながら必要な機能はすべて備えているので充分実用に耐えます。事実、私が作成したゲームの大半(というか「シュプール」以外の全部)がこのエディタによって作成されているのです!

このプログラムのウリは
(1)サイズが小さいのでメモリに常駐できる
(2)PFキーを使うためデータの受け渡しが楽

 などです

《 プログラムリスト 》


1 CLEAR :L=12,F=&4,G=&1:CLS :FOR A=G TO L*F STEP F:LINE (A,E)-(A,&1F),&4444:NEXT :FOR Z=&TO F^F:FOR P=&TO &F1:FOR W=&TO G-(P=33):LINE (X*F,Y*F)-(X*F+2,Y*F+2),X,B:PSET (X+64,Y+19),X:WAIT W:NEXT :K$=INKEY$ ,X=X+(K$="4")*(G+(X=E)*L)-(K$="6")*(G+(X=L-G)*L)
2 P=ASC K$,Y=Y+(P=56)-(P=50)AND 7:NEXT :G$="":FOR A=&40TO &3F+L:Z=E,V=GFOR B=19TO 26:Z=Z+POINT (A,B)*V,V=V+V:NEXT :G$=G$+RIGHT$ ("0"+HEX$ Z,2):NEXT :LOCATE &A,E:PRINT G$:IF P-&FD KEY P-&EC,G$:NEXT ELSE LOCATE &A:INPUT H$:GCURSOR (68+L,26):GPRINT H$:NEXT


3D DRIVING 4



 何と2行で出来た疑似3Dのレースゲームです。
 このゲームでは直接入力できないスペードマークが使用されています。これを入力するには以下のようにしてください。

(1)RUNモードにする
(2)CLEAR [RETURN]
(3)FORI=1TO24:A$=A$+CHR$232:NEXT [RETURN]
(4)PROGRAMモードにする
(5)A$ [RETURN] [+/-]
(6)行番号、その他を入力する

《 遊びかた 》

 RUNをしたらゲーム開始です。[4][6]で左右の移動、[SPACE]がアクセルで何も押していないとブレーキがかかります。[1][9]で左右に急ハンドルが切れます。ただし、急ハンドルを切ると減速します。ちなみに同時キー入力は出来ません。
 画面左上の数字が現在の速度で最高速度は243km/hです。中央の数字が走行距離でこれが99になるとゴールです。ちなみに左右の木(スペードマーク)に少しでも触れると減速します。ゴールするとタイムが表示されます。またこの時、[RETURN]を押すとリトライできます。ゴールする瞬間に木に接触するとリタイアとなりタイムは表示されません。

《 改造点 》

 コースを変える場合は1行目のA=RND−1の「−1」を適当な数(ただし、負の数に限る)に変えてください。コースの長さを変えたいときはFOR文の99を適当に変えてください。コースの難易度を変えたいときはIF ABS (A+Z)<4〜の「4」を3〜6(大きいほうが難しい)に変えてください。同時キー入力が出来ないことを利用した走行テクニックもあります。私のベストタイムはデフォルトのコースで19秒91です。いかに急ハンドルを切らないで済むようなライン取りができるかがタイム短縮のポイントです。

《 前バージョンとの違い 》

 前作(PJCLUB通第4号)に掲載との違いを記します。

     
  1. 急ハンドルが切れるようになり、コース攻略の方法が増した。
     
  2. 木に衝突しても一気に最低速度に落ちる事なく少し減速するだけなのでゲーム性が増した
     
  3. スピードメーターが簡易的なものからまともなものになり、さらに、走行距離計がついた。

 はっきり言って1バイト稼ぐのに苦労しましたからこれだけの機能を追加するには半端ではありません。まさに、2LINE史上最高のレースゲームでしょう。(内容そのものはPB-100用のレースゲームのように至ってシンプルですが)

《 プログラムリスト 》

1 CLS :CLEAR :A=RND -1,X=99,S=&1,U=&B,P=3,Q=0.2:BEEP S,X:FOR I=&TO 99:WAIT E:LOCATE ,E:PRINT INT (S*30),I:LOCATE Y+Z+U:PRINT "♠♠♠♠♠□□♠♠♠♠♠":LOCATE Y+U:PRINT "♠♠♠♠□□□□♠♠♠♠":LOCATE U:PRINT "♠♠♠□□□□□□♠♠♠":WAIT 24-S*P:A=RND 5-3,Y=Z:IF ABS (A+Z)<4LET Z=Z+A
2 K$=INKEY$ :T=T+RCP S,V=SGN VAL K$*(VAL K$-5),X=X+V*P-S*Y/P,S=S+(K$=" ")*(S<8)/S-((ABS V>2)+(K$=""))*(S>1.3)/P:GCURSOR (X,31):GPRINT "F0D8747474D8F0":IF ABS (X-98)>15BEEP &1,,P:S=S*0.7+Q:NEXT ELSE NEXT :BEEP P,P:WAIT :PRINT USING "TIME###.##";T:GOTO 1
(注意) はスペースを意味します。(カタカナの「ロ」ではない)


相性占い



 どういう原理で占っているかというと、実は、小学生でも知っている方法なのです。例えば、「御茶目菜子(おちゃめなこ)」なら「521415」として(つまり、母音がアなら1、イなら2、ウなら3、エばら4、オなら5になる)隣同士の数を足していき、合計が10以上になったら1の位のみを残してどんどん計算していき、最終的に2桁になるまで続けるというものです。
 まず、お互いの名前を入力してください。普通にカナを入力を入力してもいいですが、相手の名前を入力するのが恥ずかしいという照れ屋さんのために直接数値入力も出来るようにもなっています。名字と名前の間は空けても空けなくても構いません。

 なお、[RETURN]で再計算が出来ます。
 1行目(E500用)のMID$の処理は一見メモリの無駄に思うかも知れませんが、これは一種のテーブル処理なのでIF文を使うよりは遥かに短く、かつ、高速化できるのです。
 ちなみに、最高は99%、最低は0%です。「ランティス」と「シドウヒカル」(「魔法騎士レイアース」より←知ってる?)では99%になります。ならなければリストの入力ミスでしょう(笑)。
 同じ名前で入力するときは[RETURN]を押すだけで前回入力した名前で計算出来るので、特定の一人と多くの人(例えば、自分とクラス全員の異性など←オイ!)との相性の計算に便利です。
 今回は、E500シリーズ専用と汎用BASIC(N88BASIC、E200シリーズ、その他の機種用、カタカナはすべて半角で入力してください)の2つのリストを用意しました。お好きな方を使ってください。なお、ポケコン以外を使用する場合は、前回の名前を自動入力する機能は付いていません(機能というよりBASICの仕様による)。
 改良点としては相性の値によってによって様々なコメントを表示するようにしてみてはいかがでしょうか。

《 PC-E500シリーズ用 リスト 》

1 CLEAR :DIM A(40),X(233):FOR I=&TO 13:FOR J=1TO 5:X(ASC MID$ ("アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤ*ユ*ヨラリルレロワ***ヲン****ァィゥェォャ*ュ*ョ12345",I*5+J,1))=J:NEXT :NEXT :FOR I=&TO &STEP &:CLS :PRINT "* アイショウ ウラナイ *":INPUT "オトコノ ナマエ:";A$:INPUT "オンナノ ナマエ:";B$
2 N$=A$+B$:L=LEN N$:FOR J=1TO L:A=X(ASC MID$ (N$,J,1)),P=P+SGN A,A(P*SGN A)=A:NEXT :FOR N=P TO 3STEP -1:FOR J=1TO N-1:A=A(J)+A(J+1),A=A-INT (A/10)*10,A(J)=A:NEXT :NEXT :WAIT :PRINT "アイショウ=";A(1)*10+A(2);"%":WAIT &:NEXT

《 汎用BASIC用 リスト 》

10 CLEAR :DIM A(40),X(233)
20 FOR I=0 TO 13:FOR J=1 TO 5
30 P$=MID$ ("アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤ*ユ*ヨラリルレロワ***ヲン****ァィゥェォャ*ュ*ョ12345",I*5+J,1)
40 X(ASC (P$))=J
50 NEXT J:NEXT I
60 P=0:PRINT "* アイショウ ウラナイ *":INPUT "オトコノ ナマエ:";A$:
INPUT "オンナノ ナマエ:";B$
70 N$=A$+B$:L=LEN (N$)
80 FOR J=1TO L
90 A=X(ASC (MID$ (N$,J,1))):IF A>0 THEN P=P+1:A(P)=A
100 NEXT J
110 FOR N=P TO 3STEP -1:FOR J=1TO N-1
120 A=A(J)+A(J+1):IF A(J)>9 THEN A(J)=A(J)-10
130 NEXT J:NEXT N
140 Z=A(1)*10+A(2):PRINT "アイショウ=";Z;"%"
150 GOTO 60


2LINEオルガン ver2.1



 何と2行でできた録音・再生機能付きのキーボードプログラムです。
 まず、入力前に録音データ記録用としてマシン語エリアを何Kバイトか確保する必要があります。
 POKE &BFE03,&1A,&FD,&B,0,N*4,0 [RETURN]
 CALL &FFFD8 [RETURN]
 (注)5KバイトならNを5に変えてください。 

 そして、1行目の「N=4」のところは確保した量に変更してください。例えば、5Kバイト確保した場合は「N=5」となります。ちなみに1Kバイトで平均40秒程度記録できます。
 RUNするとメニュー画面になりますので、[1]〜[3]で選択してください。「PRAC」は練習モード(録音はしない)、「PLAY」は再生モード、「REC」は録音モードです。キーの配列は「キー配列図」を参照してください。」
 なお、各モードを終了させるには[BREAK]を押してください。このプログラムの最初のO、P、Tはそれぞれ次のような意味になっています。
:オクターブ

  1〜3の間で指定してください。
  BEEPで出せる音域を越えないように注意してください。

:音の高さを半音変える。

  簡単に言えばカラオケについているようなやつです。
  P=7とするとハ長調の曲をト長調で演奏できます。

:曲のテンポ

  小さくするほど音が長くなります。

 1回録音してしまえば、O、P、Tの値を変えることにより曲の感じを変えることが出来ます。
 CLEARをしてしまうと録音内容(というか録音データを管理しているアドレスのデータ)が消えてしまうので注意してください。

 録音データをRAMファイルにSAVEするにはデータセーバープログラムを入力してください。
 RAMファイルを適当に確保(RAMカードを持っていない人は3行目の「F:」を「E:」に変えてください)しておいてください。練習モードでPFキーを押せば起動します。SAVEかLOADを選択してファイル名を入力してください。
 このプログラムでは63Kバイトを越えるデータを扱うことが出来ませんので注意してください。まあ、それだけ大きなデータを記録することはないと思いますが・・・。
 要望があれば、録音データのデータ圧縮プログラムやデータをMMLに変換するプログラムを作ります。

《 プログラムリスト 》

1 O=2,P=0,T=25,N=4,B=&2^RCP &C,F=&DC*B^(O*&C+P-&A):DIM A(&FF),B(&FF):FOR I=&1TO &19:F=F*B,A=ASC MID$("AWSEDFTGYHUJKOLPZXCVBNM,;",I,1),A(A)=64000/F-22,B(A)=F/T:NEXT :Y=&BFBFD,X=Y-&400*N+&3:CLS :PRINT "1","2","3","PRAC","PLAY","REC
2 A=VAL INKEY$ :IF A=1FOR K=&TO &F0:K=ASC INKEY$:BEEP 1,A(K),B(K):NEXT ELSE IF A=2FOR K=Y TO Z STEP -1:BEEP &1,A(PEEK K),B(PEEK K):NEXT ELSE IF A=3FOR Z=Y TO X STEP-1:K=ASC INKEY$ :POKE Z,K:BEEP 1,A(K),B(K):NEXT ELSE 2

《 データセーバー リスト 》

3 *DS CLS :A=&,W=256:INPUT "SAVE:1 LOAD:2 ";A:INPUT "NAME=";N$:KEY &,"R."+CHR$ &D:N$="F:"+N$+".ORG":IF A=1THEN V=INT (Z/W):POKE Y+&1,V-2816,Z-V*W:SAVE M N$,Z,Y+2:END ELSE IF A=2LOAD M N$:Z=PEEK (Y+&1)*W+PEEK (Y+&2)+&B0000:END ELSE IF A=& END ELSE 3

《 キー配列図 》

 [W][E]   [T][Y][U]   [O][P]
 #ド #レ    #ファ#ソ #ラ    #ド #レ
[A][S][D][F][G][H][J][K][L]
 ド  レ  ミ  ファ ソ  ラ  シ  ド  レ
 [Z][X][C][V][B][N][M][,][;]
  ミ  ファ#ファ ソ #ソ  ラ #ラ  シ  ド


RETURN

inserted by FC2 system