2016年07月

  • タイトル
    BattleSpace(通信対戦) (電子工作マガジン2016年SUMMER号掲載)

  • 開発環境
    IchigoJamBASIC1.0.1
    IchigoJamBASIC1.1.1
    IchigoJamBASIC1.2.0

  • 内容
    昭和の時代、大海原を舞台に熾烈な戦いが繰り広げられていた。
    長き年を経た現代、その戦いは宇宙へと舞台を移し、今もなお戦いが続いていたのだ。
    (海戦ゲーム、BattleShipゲームと同じルールです)

  • 準備
    このゲーム通信対戦ゲームですので、IchigoJam(ディスプレイ・キーボード)を2台と通信ケーブルを用意してください。
    通信ケーブルはショートしなければ何でも大丈夫と思いますが、私は短く切った単線のLANケーブル(そのうち使用するのは3本)を使用しました。

    IchigoJamの電源を切った状態で、3本の線を下記の様に接続します。(クロス結線)
    TXD - RXD
    RXD - TXD
    GND - GND

  • 注意
    このプログラムは、毎回通信を行いながらゲームが進行していきます。
    操作を間違えると、エラーが出続ける状態になります。
    (いわゆる「ピンポンゲーム」状態)

    IchigoJam AIchigoJam B
    エラー発生
    エラー表示
    エラー文を送信してしまう
    エラー文を受信
    エラー発生
    エラー表示
    エラー文を送信してしまう
    エラー文を受信
    エラー発生
    エラー表示
    エラー文を送信してしまう
    エラー文を受信
    エラー発生
    エラー表示
    エラー文を送信してしまう
    以下、無限ループ

    よって、まだ通信速度は合わせない状態で、それぞれのIchigoJamにプログラムを読み込んでください。(通信速度が異なっているのがベスト)

    この時、誤操作によりエラーが出続けてしまった場合は、[F1]キー(CLRコマンド)を押し続けてください。
    エラー表示が止まります。


  • 開戦
    ます2台の通信速度を合わせるため、それぞれのIchigoJamの電源を入れた後に下記のコマンドを実行してください。(通信環境によってはデフォルトのBPS115200でもプレイ可能です)

    BPS300

    ゲームの進行はターン(順番)制です。
    後攻の人が「RUN」コマンドでプログラムを実行してください。
    先攻の人は「RUN」と入力しなくても、後攻のIchigoJamより実行コマンドが送信され自動的にゲームが開始します。

    画面上部には10マス×10マスのレーダーが2つ表示されています。
    左側はプレイヤーの宇宙ステーションの位置を表すレーダー(YOU)です。
    右側は敵機の位置を表すレーダー(OPPONENT)ですが、スタート時点ではまだ索敵していないため何も表示されていません。

    /■\
    ■■■
    \■/
    
    宇宙ステーションの数はプレイヤー、対戦相手ともに3機で、ゲーム開始時にランダムに配置されます。
    宇宙ステーションは右記の形状をしています。(「2001年宇宙の旅」の宇宙ステーションをイメージしています)

    プレイヤーのターンの時には「YOU」の前に「→」が表示され、対戦相手のターンの時には「OPPONENT」の前に「→」が表示されます。

  • 操作
    「→YOU」と表示されていたらプレイヤーのターンです。(対戦相手には「→OPPONENT」と表示され、受信待機状態になっています)
    対戦相手がいると思われる座標を入力して攻撃します。

    「Y=」に縦座標、「X=」に横座標を入力してください。
    座標入力は0~9の数値で、Enterキーは不要です。

    攻撃した結果が、座標値の下には文字で、敵機レーダーにはキャラクタで表示されます。

    結果文字
    表示
    レーダー
    表示
    宇宙ステーションの機関部(「■」)に当たった場合HIT!
    宇宙ステーションの外周部(「/」または「\」)に当たった場合DAMAGE
    外れた場合MISS



    プレイヤーの攻撃とその結果の表示が終わると「→OPPONENT」と表示され対戦相手のターンとなります。キーボードには触れずに対戦相手の攻撃を注視していてください。

    対戦相手の攻撃結果もプレイヤーの攻撃結果と同様に文字とキャラクタで表示されます。
    ただしキャラクタは自機のレーダーに表示されます。

    3機の宇宙ステーションの全ての機関部を攻撃して破壊した方の勝ちです。

  • プログラムのしくみ
    PRINT文を実行すると表示された文字がシリアルポートにも出力される機能、およびシリアルポートからの入力をINKEY文で受け取れる機能を利用して、2台のIchigoJam間の通信を行っています。

    そのため、通信以外にPRINT文を使用できないので、画面表示は全てPOKE文を使用しています。
    画面表示にPOKE文を使用するにあたり、メモリ節約のためアスキーコードが99以下のキャラクタを多用しています。

    自ターンのキー入力待ち、敵ターンの受信待ちともにINKEY文を使用しているため、敵ターンの時にキー操作を行ってしまうと、コマンドを受信したものとして処理してしまうため誤動作します。

    各行の処理
    10行
    20行
    30行
    40行
    50行
    60行
    70行~90行
    100行
    110行~140行
    150行
    160行
    900行
    
    コメント(ファイル名)
    対戦相手(先攻側)にプログラム実行コマンドを送信
    IchigoJam1.1.1以後の画面制御コードの出力を抑制
    自機の配置と表示
    初期画面作成
    自ターンの座標入力と通信相手からの攻撃結果待ち
    通信相手からの結果を表示
    敵ターン。通信相手からの攻撃待ち
    敵ターンの攻撃結果の表示と送信
    勝敗の表示
    END
    キー入力待ちサブルーチン
    

    変数表
    I
    S
    J
    X
    Y
    K
    R
    C
    D
    P
    K
    
    ループ用
    先攻・後攻フラグ(先攻=0/後攻=1)
    自機配置用アドレス
    x座標
    y座標
    入力した数字
    受信した数字
    自レーダーに表示する(表示されている)キャラクタコード
    敵レーダーに表示するキャラクタコード
    HITした数
    HITされた数
    

    IchigoJam1.1.1以後は、PRINT文以外にLOCATE文やCLS文等も画面制御コードをシリアルポートに送信するようになっているので、30行のUART1にて画面制御コードの出力を抑制しています。
    これはFaceBookのIchigoJamFanグループで教えていただきました。ありがとうございました。

  • プログラムの改造
    プログラムサイズを小さくすれば、攻撃時のメッセージの種類や文言を変更できると思います。
    (行番号の増分を+1にしたり、IchigoJam1.1.1ならGOSUBの短縮形を使用するなど)

BattleSpace(Ichigojam v1.0,v1.1)
10 'BattleSpace(BPS300)
20 ?"CLV:GOTO30":CLV:S=1
30 IFVER()>11000UART1
40 CLS:FORI=0TO2:X=RND(8)+2:Y=RND(8)+2:J=#900+Y*32+X:IFPEEK(J-32)+PEEK(J-1)+PEEK(J)+PEEK(J+1)+PEEK(J+32)<>0I=I-1:NEXTELSEPOKEJ-33,#9D,1,#9C:POKE(J-1),1,1,1:POKE(J+31),#9C,1,#9D:NEXT
50 FORI=48TO57:POKE#8D1+I,I:POKE#320+I*32,I:POKE#8E1+I,I:POKE#330+I*32,I:NEXT:POKE#A84,89,79,85:POKE#A92,79,80,80,79,78,69,78,84:IFSGOTO100
60 LC0,14:?CHR$(12):POKE#A83,29:POKE#A91,0:POKE#AC0,89,61:GOSUB900:Y=K:LC3,14:?Y:POKE#AE0,88,61:GOSUB900:X=K:LC3,15:?X:GOSUB900:R=K:LC1,17:IFR=1?"HIT!":C=15:P=P+1
70 IFR=2?"DAMAGE":C=144
80 IFR=3?"MISS":C=45
90 POKE#931+Y*32+X,C:WAIT60:IFP=15GOTO150
100 POKE#A83,0:POKE#A91,29:GOSUB900:Y=K:POKE#AD0,89,61,Y+48:GOSUB900:X=K:POKE#AF0,88,61,X+48
110 WAIT90:A=#921+Y*32+X:C=PEEK(A):LC17,17:IFC=1?"1 HIT!":D=15:T=T+1
120 IFC=#9CORC=#9D?"2 DAMAGE":D=144
130 IFC=0?"3 MISS":D=45
140 POKEA,D:IFT<15WAIT90:GOTO60
150 POKE#B60,89,79,85:IFP=2POKE#B64,87,73,78,33ELSEPOKE#B64,76,79,83,69
160 END
900 K=INKEY()-48:IFK<0ORK>9GOTO900ELSERETURN


BattleSpaceト(Ichigojam v1.2) (動作未確認)
10 'BattleSpace(BPS300)
20 ?"CLV:GOTO30":CLV:S=1
30 IFVER()>11000UART1
40 CLS:FORI=0TO2:X=RND(8)+2:Y=RND(8)+2:J=#900+Y*32+X:IFPEEK(J-32)+PEEK(J-1)+PEEK(J)+PEEK(J+1)+PEEK(J+32)<>0I=I-1:NEXTELSEPOKEJ-33,#19,1,#1A:POKE(J-1),1,1,1:POKE(J+31),#1A,1,#19:NEXT
50 FORI=48TO57:POKE#8D1+I,I:POKE#320+I*32,I:POKE#8E1+I,I:POKE#330+I*32,I:NEXT:POKE#A84,89,79,85:POKE#A92,79,80,80,79,78,69,78,84:IFSGOTO100
60 LC0,14:?CHR$(12):POKE#A83,29:POKE#A91,0:POKE#AC0,89,61:GSB900:Y=K:LC3,14:?Y:POKE#AE0,88,61:GSB900:X=K:LC3,15:?X:GSB900:R=K:LC1,17:IFR=1?"HIT!":C=15:P=P+1
70 IFR=2?"DAMAGE":C=144
80 IFR=3?"MISS":C=45
90 POKE#931+Y*32+X,C:WAIT60:IFP=15GOTO150
100 POKE#A83,0:POKE#A91,29:GSB900:Y=K:POKE#AD0,89,61,Y+48:GSB900:X=K:POKE#AF0,88,61,X+48
110 WAIT90:A=#921+Y*32+X:C=PEEK(A):LC17,17:IFC=1?"1 HIT!":D=15:T=T+1
120 IFC=#9CORC=#9DORC=#1AORC=#19?"2 DAMAGE":D=144
130 IFC=0?"3 MISS":D=45
140 POKEA,D:IFT<15WAIT90:GOTO60
150 POKE#B60,89,79,85:IFP=2POKE#B64,87,73,78,33ELSEPOKE#B64,76,79,83,69
160 END
900 K=INKEY()-48:IFK<0ORK>9GOTO900ELSERTN


MixJuiceでのダウンロードURLは下記になります。

BattleSpace(Ichigojam v1.0,v1.1) http://tagiyasoft.blog.jp/battlespace1.bin
BattleSpace(Ichigojam v1.2) http://tagiyasoft.blog.jp/battlespace2.bin(動作未確認)

以下のように入力してD/Lしてください。
NEW
? MJ GET tagiyasoft.blog.jp/battlespace1.bin

ブラウザでD/LしてIchigoJamに転送する場合は、通信ソフトでバイナリ送信をしてください。
(例:TeraTermの場合は、メニューの[ファイル]-[ファイル送信]で当該ファイルを送信します)

  • タイトル
    MSTER MIND

  • 開発環境
    IchigoJamBASIC1.0.1
    IchigoJamBASIC1.1.1
    IchigoJamBASIC1.2.1

  • 内容
    マインコンの考えた4つのキャラクタの並びを当てるゲームです。

  • 遊び方
    画面右上に、使用されている8つのキャラクタと、それに割り当てられている数字(1~8)が表示されています。
    1. 4つのキャラクタを予想し、数字キーで入力します。
    2. 選んだキャラクタについて、
      • 場所が合っている場合には「バショ(HIT)」の下に合っている個数が表示されます。
      • キャラクタは合っているけれども場所が違う場合には「キャラクタ(BLOW)」の下にその個数が表示されます。
    3. 4つのキャラクタの場所が正しくなるまで(バショ(HIT)=4,キャラクタ(BLOW)=0になるまで)繰り返します。

  • 操作方法
    コンピュータはランダムに、かつ重複しない4つのキャラクタを決めます。
    数字の入力を間違えた場合は[BackSpace]キーで1文字消すことができます。
    10回以内に正解すればあなたの勝ち、正解しなければあなたの負けです。

  • プログラムのしくみ
    各キャラクタ(キャラクタコード#EB~#F2)に1~4の数字を割り当て、正解や回答を1234~8765の数字の並び(数字の重複無しのため)として処理しています。


  • 各行の処理
    10行~70行
    80行~130行
    110行
    170行~240行
    190行~200行
    210行~230行
    250行~400行
    
    初期画面表示
    答えの作成
    キャラクタ重複チェック
    キー入力
    BackSpace処理、入力キー確認
    入力の重複チェック
    答え合わせ


    変数表
    I,J
    C
    H
    B
    [1]~[4]
    [11]~[14]
    ループ用
    答えた回数
    場所(HIT)の数
    キャラクタ(BLOW)の数
    正解の数字
    回答した数字


  • (5)プログラムの具体的な入力方法
    40行と50行は同じ処理をしていますので、40行か50行のどちらかを入力してください。
    50行を使用する時は、行頭のREMの文字を削除し、「△猫Ω♪@Å⌒∫」は、左Altキーを押しながらB~Iのキーを押して入力します。

  • 改造
    初期状態では、HIT,BLOWの数の横に入力した数字が表示されますが、330行を削除あるいはコメントアウトすることで、数字が表示されなくなり難易度が上がります。
プログラムリスト
10 'MASTER MIND
20 CLS:CLV
30 ?"Master Mind    12345678"
40 LC15,1:FOR I=0TO7:?CHR$(#EB+I);:NEXT
50 REM LC15,1:?"△猫Ω♪@Å⌒∫"
60 LC15,4:?"HIT  BROW"
70 LC15,5:?"バショ キャラクタ"
80 FOR I=1TO4
90 [I]=RND(8)+1
100 FOR J=0TOI-1
110 IF [I]=[J] THEN J=5:I=I-1
120 NEXT
130 NEXT
140 FOR C=1TO10
150 LC0,C+5:?C;"カイメ ";
160 LET[11],0,0,0,0
170 FOR I=1TO4
180 X=INKEY()-48
190 IF X=-40 AND I>1 THEN [I-1]=0:I=I-2:?CHR$(8);:GOTO240
200 IF X>0 AND X<9 THEN [I+10]=X:?CHR$(#EA+X);ELSE I=I-1:GOTO240
210 FOR J=0TOI-1
220 IF X=[J+10] THEN [I+10]=10:J=5:I=I-1:?CHR$(8);
230 NEXT
240 NEXT
250 H=0:B=0
260 FOR I=1TO4
270 FOR J=11TO14
280 IF [I]=[J] THEN B=B+1
290 NEXT
300 IF [I]=[I+10] THEN H=H+1
310 NEXT
320 LC16,C+5:?H;"    ";B-H;
330 ?"    (";:FOR I=11TO14:?[I];:NEXT:?")"
340 ?:?
350 IF H=4 THEN ?C;"カイメ デ セイカイ デス":END
360 NEXT
370 ?"アナタ ノ マケ デス"
380 ?"セイカイ ハ "
390 FOR I=1TO4:?CHR$(#EA+[I]);:NEXT:?
400 FOR I=1TO4:?[I];:NEXT


MixJuiceでのダウンロードURLは下記になります。

MASTER MIND http://tagiyasoft.blog.jp/master_mind.bin

以下のように入力してD/Lしてください。
NEW
? MJ GET tagiyasoft.blog.jp/master_mind.bin


ブラウザでD/LしてIchigoJamに転送する場合は、通信ソフトでバイナリ送信をしてください。
(例:TeraTermの場合は、メニューの[ファイル]-[ファイル送信]で当該ファイルを送信します)

  • タイトル
    おそ杉さんゲーム (電子工作マガジン2016年SPRING号掲載)

  • 開発環境
    IchigoJamBASIC1.0.1
    IchigoJamBASIC1.1.1
    IchigoJamBASIC1.2.1

  • 内容
    「おそ杉さん」は6つ子の兄弟。
    そろいも揃って全員ニート。
    今日も仕事をサボって街に逃げ出してしまいました。
    あなたは人ごみの中から、おそ杉さん兄弟にバレないよう目撃証言を得て、おそ杉さん兄弟(6人)を特定しなくてはなりません。
    (Windowsゲームのマインスイーパーと同じルールです)

  • 遊び方
    タテ軸(0~7)とヨコ軸(0~7)を入力し、おそ杉さん兄弟以外の人(目撃者)を指名します。
    おそ杉さん兄弟が隣接する8マスにいる場合は、目撃者はその人数表示になります。
    おそ杉さん兄弟が隣接していない場合は、目撃者は空白表示になり、さらに隣接するマスについて目撃証言を繰り返して得られます。
    おそ杉さん兄弟を除く全ての目撃者を空白にしたらあなたの勝ちです。
    間違っておそ杉さん兄弟を指名してしまうと、あなたの負けです。

  • プログラムのしくみ
    隣接マスの判定に再帰処理をしています。
    IchigoJamBASICにはローカル変数が無いため、配列変数をスタック、変数Sをスタックポインタとして使用しています。
各行の処理
1行
2行
3~4行
5行
6行
7行
8行
9行
10行
11行
12行
13行
14~21行
22行
コメント(ファイル名)
初期画面表示
おそ杉さんを配置
Y座標、X座標入力:座標値がおそ杉さんか判定
スタックポインタを加算し、スタックに判定するV-RAMアドレスを積んで再起処理を呼び出し
クリア判定
おそ杉さん表示
プログラム終了
隣接マスのおそ杉さんの数を数える
隣接マスにおそ杉さんがいたら、マスにその数を表示して再起処理から戻る
隣接マスにおそ杉さんがいないので、マスを空白にする
途中終了の再起処理の続けるため、再度、再起処理を呼び出す
指定したマスに隣接する8マスを調べ、人型のキャラクタならば、そのアドレスを基点として再起処理を呼び出す
上下左右を調べ終えたのでスタックポインタを減算して再起処理から戻る

変数表
I,J
S
[1]~
C
A
X
Y
Z
ループ用
スタックポインタ
スタックとして使用
隣接マスにいるおそ杉さんの数
調べるマスのV-RAMアドレス
x座標
y座標
再起処理を再開するアドレス

  • プログラムの制約による不具合
    IchigoJamBASICは、GOSUB文のネスティング(GOSUBからRETURNで戻る前にGOSUBを呼ぶこと)が10回までとなっています。(v1.2以後は30回まで)
    ところが、おそ杉さんの配置によっては、それ以上のネスティングになってしまうことがあります。
    回避策として13行にある処理をしています。
    GOSUB文の10回目のネスティングが発生した(=スタックに9つ(v1.2以後は29)以上のアドレスが積まれた)時点で、そのアドレスを変数Zに保存し、再起処理を終了させます。
    その後、6行の後半にあるIF文でGOSUB文の10回目(v1.2以後は30回目)のネスティング(=変数Zが0か否か)をチェックし、変数Zが0以外ならば、そのアドレスを基点として再起処理を再開します。
    しかし、メモリの制約上、ネスティングのチェックは1度しかできなかったため、まれにチェック残りが発生します。
    これは既知のバグです。

    また、クリアの判定は入力ごとに画面の2行目~10行目のV-RAMをチェックしています。
    メモリ不足により無関係のアドレスもチェックするような無駄な処理になっています。
    よって、クリアに近づくと、座標入力後に少し待たされるようになってしまいます。
    上の行からチェックしているので、待たされるのが嫌な場合は、下の方から解いていった方がチェック時間が短いです。

  • プログラムの改造
    3行目のFOR~NEXT文の変数Iが、おそ杉さんの数です。
    これを増減させると、おそ杉さんの発生数が増減します。

    おそ杉さんと目撃者の区別は、同じキャラクタでキャラクタコードが異なるキャラクタを使用しています。(おそ杉=7、目撃者=#F9)
    (v1.2以後ではキャラクタジェネレータを使用し、#F8を#F9と同じキャラクタにしています)

    テーマが「おそ杉さん」のため人型のキャラクタを使用していますが、マインスイーパー風にするには、
    3行、5行、8行、10行のPOKEやPEEKの「5」を「1」に、
    14行~21行のPEEKの「#F9」を「#8F」に、
    8行のPOKEの「6」を「#E9」などに変更します。(~v1.1まで)
    ただし、キャラクタ間に隙間が無いので見づらくなってしまいます。

おそ杉さんゲーム(Ichigojam v1.0,v1.1)
1 'OSOSUGI
2 CLS:CLV:LC2,0:?"01234567":?:FORI=0TO7:?I;"大大大大大大大大":NEXT
3 FORI=1TO6:A=#942+RND(8)*32+RND(8):IFPEEK(A)=7I=I-1ELSEPOKEA,5
4 NEXT
5 LC0,12:?CHR$(12):INPUT"タテ(0~7)",Y:Y=Y%8:INPUT"ヨコ(0~7)",X:X=X%8:A=#942+Y*32+X:IFPEEK(A)=5?"ゲームオーバー":GOTO8
6 S=S+1:[S]=A:GOSUB10:IFZ>0THENS=S+1:[S]=Z:GOSUB10
7 Z=0:FORI=#942TO#A29:IFPEEK(I)=#F9I=#B00:NEXT:GOTO5ELSENEXT:?"アナタ ノ カチ!"
8 FORI=#942TO#A29:IFPEEK(I)=5POKEI,6
9 NEXT:END
10 A=[S]:C=(PEEK(A-33)=5)+(PEEK(A-32)=5)+(PEEK(A-31)=5)+(PEEK(A-1)=5)+(PEEK(A+1)=5)+(PEEK(A+31)=5)+(PEEK(A+32)=5)+(PEEK(A+33)=5)
11 IFC>0[S]=0:S=S-1:POKEA,C+48:A=[S]:RETURN
12 POKE A,0
13 IFS>9Z=[S]:[S]=0:S=S-1:A=[S]:RETURN
14 IFPEEK(A-33)=#F9S=S+1:[S]=A-33:GOSUB10
15 IFPEEK(A-32)=#F9S=S+1:[S]=A-32:GOSUB10
16 IFPEEK(A-31)=#F9S=S+1:[S]=A-31:GOSUB10
17 IFPEEK(A-1)=#F9S=S+1:[S]=A-1:GOSUB10
18 IFPEEK(A+1)=#F9S=S+1:[S]=A+1:GOSUB10
19 IFPEEK(A+31)=#F9S=S+1:[S]=A+31:GOSUB10
20 IFPEEK(A+32)=#F9S=S+1:[S]=A+32:GOSUB10
21 IFPEEK(A+33)=#F9S=S+1:[S]=A+33:GOSUB10
22 [S]=0:S=S-1:A=[S]:RETURN
注)2行の"大大大大大大大大"は、キャラクコード「#F9」の人型キャラクタx8個です。
(「左Alt+P」キーで入力できます)


おそ杉さんゲーム(Ichigojam v1.2)
1 'OSOSUGI v1.2
2 CLS:CLV:CLP:V=#942:W=#F9:U=#F8:LC2,0:?"01234567":?:FORI=0TO7:?I;" 大大大大大大大大":POKE#7C0+I,PEEK(#7C8+I):NEXT
3 FORI=1TO6:A=V+RND(8)*32+RND(8):IFPEEK(A)=7I=I-1ELSEPOKEA,U
4 NEXT
5 LC0,12:?CHR$(12):INPUT"タテ(0~7)",Y:Y=Y%8:INPUT"ヨコ(0~7)",X:X=X%8:A=V+Y*32+X:IFPEEK(A)=U?"ゲームオーバー":GOTO8
6 S=S+1:[S]=A:GSB10:IFZ>0THENS=S+1:[S]=Z:GSB10
7 Z=0:FORI=VTO#A29:IFPEEK(I)=WI=#B00:NEXT:GOTO5ELSENEXT:?"アナタ ノ カチ!"
8 FORI=VTO#A29:IFU=PEEK(I)POKEI,#FA
9 NEXT:END
10 A=[S]:C=(PEEK(A-33)=U)+(PEEK(A-32)=U)+(PEEK(A-31)=U)+(PEEK(A-1)=U)+(PEEK(A+1)=U)+(PEEK(A+31)=U)+(PEEK(A+32)=U)+(PEEK(A+33)=U)
11 IFC>0[S]=0:S=S-1:POKEA,C+48:A=[S]:RTN
12 POKE A,0
13 IFS>29Z=[S]:[S]=0:S=S-1:A=[S]:RTN
14 IFPEEK(A-33)=WS=S+1:[S]=A-33:GSB10
15 IFPEEK(A-32)=WS=S+1:[S]=A-32:GSB10
16 IFPEEK(A-31)=WS=S+1:[S]=A-31:GSB10
17 IFPEEK(A-1)=WS=S+1:[S]=A-1:GSB10
18 IFPEEK(A+1)=WS=S+1:[S]=A+1:GSB10
19 IFPEEK(A+31)=WS=S+1:[S]=A+31:GSB10
20 IFPEEK(A+32)=WS=S+1:[S]=A+32:GSB10
21 IFPEEK(A+33)=WS=S+1:[S]=A+33:GSB10
22 [S]=0:S=S-1:A=[S]:RTN
注)2行の"大大大大大大大大"は、キャラクコード「#F9」の人型キャラクタx8個です。
(「左Alt+P」キーで入力できます)


MixJuiceでのダウンロードURLは下記になります。

おそ杉さんゲーム(Ichigojam v1.0,v1.1) http://tagiyasoft.blog.jp/ososugi1.bin
おそ杉さんゲーム(Ichigojam v1.2) http://tagiyasoft.blog.jp/ososugi2.bin

以下のように入力してD/Lしてください。
NEW
? MJ GET tagiyasoft.blog.jp/ososugi1.bin


ブラウザでD/LしてIchigoJamに転送する場合は、通信ソフトでバイナリ送信をしてください。
(例:TeraTermの場合は、メニューの[ファイル]-[ファイル送信]で当該ファイルを送信します)

↑このページのトップヘ