LoginSignup
4
1

More than 3 years have passed since last update.

IchigoJam BASICで湯婆婆を実装してみる

Last updated at Posted at 2020-11-09

はじめに

@Nemesis さんの Javaで湯婆婆を実装してみる がバズってるとのことで、IchigoJamで実装してみました。

コード

YUBABA.BAS
' CTRL+SHIFTでカナモードきりかえ
10 CLS:CLV:S=0:E=0:C=0
20 ?"ケイヤクショダヨ。ソコニナマエヲカキナ。":?">"
' INPUT LOOP
30 @IN
40 N=INKEY()
50 IF N=10 GOTO@OUTOLD
60 IF N=0||N<177 GOTO@IN
70 LC C+1,1:?CHR$(N);
80 [C]=N:C=C+1
90 GOTO@IN
' OUTPUT
200 @OUTOLD
210 S=0:E=C-1
220 LC 0,3:?"フン。 ";:GSB@NAME:?" トイウノカイ。ゼイタクナナマエダネェ。"
230 Y=POS(2)
240 @OUTNEW
250 S=RND(C):E=S+1
260 LC 0,Y:?"イマカラオマエノナマエハ ";:GSB@NAME:?" ダ。イイカイ、 ";:GSB@NAME:?" ダヨ。ワカッタラヘンジヲスルンダ、 ";:GSB@NAME:?"!!"
' 270 WAIT1:GOTO@OUTNEW
280 END
' NAME SUBROUTINE
300 @NAME
310 FOR I=STOE:?CHR$([I]);:NEXT
320 RTN

MSX FANの1画面プログラムでプログラミングを学び始めた人なので、ついつい1画面に収めたくなる衝動を抑えて、なるべく見やすくしてみました。

実際に動かしてみてください

こちらの IchigoJam Web で試せます。

  • 空行で"RUN"と入力してEnterキー、または、F5キーで実行
  • ">"が出たら CTRLキー+SHIFTキーでカナモード切り替え
  • 途中で止めたくなったら、ESCキーで中断

実行結果

スクリーンショット 2020-11-10 4.29.21.png
OKって^^;

クラッシュ湯婆婆の再現

スクリーンショット 2020-11-10 5.08.30.png
フン。と言いながらクラッシュしてくれました!

感想

文字列入力の実装ってこんなので良かったのでしたっけ・・・

動作テスト用に270行目を作っていたのですが、有効にするとなんだか名前を取り戻せそうな気持ちになります。(名前表記はサブルーチンにしているので、もう少しコチョコチョすれば、名前を取り戻していくさまの実装もできそうです。)

イマドキのプログラム言語は文字列をとても便利に扱えますが、このような昔ながらのプログラム言語で「メモリ」の意識をするのも、勉強になりますね。

Vue.js版も書いてます。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1