西暦を1年づつ誤っていた為、修正しています。(2023/04/13)
インフォシークの無料ホームページサービスの終了を聞き、感慨深いものがありました。
私が弟の助力を得てこの CASIO PB-100の宇宙を開設した2003年4月。その5年前にほんの一月だけポケット通信 Ver.3 にアクセスしたこと、そんなころをふっと思い出してしまいました。
1997年冬、パソコン通信の環境構築
高校3年の冬、ハードオフで1000円で買ったモデムと、別居中の父が置いていった PC-98UV と MS-DOS, WTERM という通信ソフトとその解説本。それらで四苦八苦しつつ人生初のパソコン通信に成功しました。
まもなくポケット通信から郵便(?)で ID が届き、シスオペさんの助言を得つつ1998年1月にアクションパズル Mr.T Ver.1.0 を発表することができました。
当時のデータを発掘
幸運なことに、当時のテキストはフロッピーディスクから読み出していて、現在は 1TBx2 の Raid ハードディスクドライブに収まっています。 このたびはそんなしんみりした気分も手伝って、そのときのテキストを公開させていただこうと思います。
私、ID 4407 へのメッセージは、当ブログのコメント欄か、BBS までよろしくお願いいたします m(__)m
PB-100 シリーズ ========================= Mr.T ================= ■ ■ ■ ■ ID 4407 *概要 PBシリーズ用の落ち物パズルゲームです。 サイズは 543STEPです。PB-100,120で動作確認しました。 *遊び方 初めにタイトルを表示してからゲーム開始です。 画面左端からブロックが落ちてきて、右端に積もっていきます。画面が一杯にならないように、プレイヤーは矢印ブロックを回転させて消してください。 画面がいっぱいになるとスコアを表示して終ります。 @キー操作 [4][6]--矢印ブロックの左右回転 [Q]-----ブロックを速く落とす。 @画面表示 ■■■→←↑→ ↑← [↓↑■■■■ ・ ・・NEXT ・・落下中のブロック @ブロックの消し方 矢印ブロックが着床した時に向きが揃っていると、そのブロックは消えます。 ■■■→←↑→→↑ [↓↑■■■■ ■■■→←↑**↑ [↓↑■■■■ 上のような場合は2段階で消えます。 @特殊ブロック たまに特殊ブロック「◆」が落ちてきます。特殊ブロックは着床した時にその左にある矢印ブロックと同じ向きの全てのブロックを消します。(特殊ブロックは必ず左に矢印ブロックを伴います) ■■■↑↓→↓↑ →◆ [→←■■■■ ■■■↑↓*↓↑*◆ [→←■■■■ ■■■↑↓↓↑◆ [→←■■■■ うまく積み上げて連鎖を狙ってください。最高で3段まで可能です。 その後、「◆」は画面に残って半お邪魔ブロック化します。これも「◆」が2つ以上並べれば消えます。 @スコア 一度に消えるブロックの数が多いほど、連鎖を重ねるほど高得点です。 @ゲームレベル 2000Ptsごとにゲームレベル(ブロックの落下速度)が上がります。(6段階)その様子は MODE表示の変化である程度分かるようにしています。 MODE表示 DEG → RAD → GRA ゲームレベル 0→1 → 2→3 → 4→5 *さいごに このゲームは滝本飛沫さんのパニッカーを友人と一緒にいじっている内に出来ました。矢印の回転を使うアイデアや、消滅のルールはパニッカーのままで、特殊ブロックは友人の発案です。人さまのアイデアで出来てしまったゲームですが、プログラムは結構頑張ったので見てください。 *参考文献 IZE☆CARIどん 「PB-100系ポケコンについて」,PJ'94年12月号 き っ し ー 「BASEBALL’-やきゅうもどき-」 ,ポケット通信 CASIOフリーソフトウェア 滝 本 飛 沫 「パ ニ ッ カ ー ST.」 ,PJ'95年 3月号 ゲームデザイン館
Mr.T FOR PB-100 シリーズ BY ■■ ■■ ID 4407 *入力の方法 パソコンからPBへデータを送る手段がないので、画面やプリントしたものを見ながら手で入力してください。 4行目のスペースは10個です。 10行目の e は 2e3=2000 となる e です。 *リスト 1 VAC :PRINT " →↑ Mr.T ↓←":$="*****◆↑→↓←":D=2 2 FOR E=5 TO 10:I$(E)=MID(E,1):GOTO 10 3 PRINT CSR E-6;MID(1,M);:$=MID(1,E-L-1)+MID(E-L+M):RETURN 4 K=0:$=MID(1,J+5)+P$(A)+O$(B)+" ":IF B≠0 THEN 7 5 FOR E=6 TO 13:IF P$(A)=MID(E-L,1);GOSUB 3:L=L+1 6 NEXT E:L=0 7 J=LEN($)-15:M=1:PRINT CSR 0;MID(6,10);:FOR E=5 TO J+4 8 IF MID(E,1)=MID(E+M,1);M=M+1:GOTO 8 9 IF M>1;GOSUB 3:G=G+M*10↑(K+M-1:K=K+1:GOTO 7 10 NEXT E:A=C:C=INT (RAN#*4:B=D:IF G>2e3*(H+1;H=H+SGN (5-H 11 D=INT (RAN#*5:MODE 4+H/2:I$="["+P$(C)+O$(D):FOR E=7 TO J STEP -1 12 FOR F=H TO 6:IF KEY="4";A=A+3-4*SGN A:B=B+SGN B*(3-4*SGN (B-1 13 IF KEY="6";A=A-3+4*SGN (3-A:B=SGN B+B*SGN (4-B 14 PRINT CSR E;P$(A);O$(B);I$;:IF KEY≠"Q";NEXT F 15 I$=" ":NEXT E:IF J<8 THEN 4 16 FOR E=8 TO 0 STEP -.2:PRINT CSR E;N$;:NEXT E:PRINT "Sc";G; 以上です。おつかれさまでした。
Mr.T FOR PB-100 シリーズ BY ■■ ■■ ID 4407 *変数表 変数名 範囲 内容 A,C 0-3 ブロック左,NEXTブロック左 B,D 0-4 ブロック右,NEXTブロック右 E 落下、消滅、雑用ループ F 落下速度調節ループ G 0- スコア H 0-5 レベル、落下速度 I$ ブロック表示用 J 0-9 積もったブロックの高さ K 0-3 連鎖カウント L 0-5 特殊ブロック処理時に使用 M 1-5 ブロック消滅処理時に使用 N$ "*" O$-R$ "◆","↑","→","↓","←" $ "*****"+積もったブロック+" " *行番号マップ 1 タイトル表示、初期設定 2 ブロックキャラクタなどセット 3 ブロック消滅サブルーチン 4 消滅判定準備 5,6 特殊ブロック処理 7 ブロック表示など 7-10 ブロック消滅判定 10 ブロックセット、レベルアップ 11 レベル表示、ブロック落下など 12 ブロック左回転など 13 ブロック右回転 14 ブロック表示、速落し判定 15 ゲームオーバー判定など 16 スコア表示 *解析する人へ このプログラムでは前半(3-10行目)にブロックの消滅判定、後半(10-15)にブロックの落下処理を置いています。そのため2行目でいきなり GOTO文で10行目に跳んでいます。 これは GOTOや GOSUBの多用されているブロック消滅判定部分を行番号の小さい(1桁)ところに置くためです。こうしてなるべく GOTO,GOSUBの跳び先に2桁の行番号がこないようにしました。PBでは GOTO,GOSUBの後にくる行番号はその文字数分だけ STEPを使います。こうして10STEP弱稼いでいます。 ついでに2行目にあるはずの NEXT Eも10行目の NEXTを便乗することで削っています。
上記3つの DOC ファイルを LZH 圧縮でひとつにまとめてアップロードしていたと思います。
残念ながら反響を確認する間もなく誤って 40MB の外付けハードディスクの MS-DOS を消してしまい、アクセスできなくなってしまいました。それとその月だけ電話代の請求額が1万円を超えてしまいしこたま怒られました。
1998年、インターネット元年
インターネット元年と言われた1998年、実家でも廉価になったパソコンを購入し、ISDN を契約して初のインターネットをしました。そして既にポケット通信が閉鎖されていたことを知ることとなります。
現在の環境と比べたら酷く不便なものでしたが、滑り込みのようにパソコン通信に触れられたのは、良かったなと思います。