箱入り娘


RUN すると右画面になります。カーソルが点滅しています。
中央上の一番大きいパーツ(娘)を
下中央の出口へ持っていきます。
出口へ移動したところでプログラム終了となります。

  • 方向 キー でカーソルを移動
  • SPACE キー でパーツを持つ・外す

プログラムを小さくしようと検討した結果、反転して壁を表現し、

IchigoJam BASIC 1.3 から使える カーソルスイッチ を採用、

プログラム領域に PCG と配列のデータを直接入れて、

COPY する事で、1 プログラムに収める事ができました。

 

反転にして壁をなくし、縦 6 文字にした事で、

画面いっぱいに表示されるメリットもできました。

しかし、LPC1114 動作の IchigoJam では
一部画面が左右にずれて表示される場合があります。

不快な場合は 20VIDEO 4:CLS に変更すると

左上表示になりますが、ずれないで表示できます。

また IchigoJam mobile β2 でもきれいに表示できます。

 

ダイレクトモードで入れてますが、

POKE で入れている先がプログラム領域のため、

LIST で表示できませんが、SAVE・LOAD・LRUN が有効です。

 




IchigoJam BASIC 1.3~

POKE#F60,255,128,128,128,128,128,128,128
POKE#F68,255,1,1,1,1,1,1,1
POKE#F70,128,128,128,128,128,128,128,255
POKE#F78,1,1,1,1,1,1,1,255
POKE#F80,255,129,129,129,129,129,129,129
POKE#F90,129,129,129,129,129,129,129,255
POKE#FA0,255,128,128,128,128,128,128,255
POKE#FA8,255,1,1,1,1,1,1,255
POKE#FC0,255,129,129,129,129,129,129,255
POKE#FE0,240,0,241,0,242,0,243,0
POKE#FE8,244,0,0,0,246,0,0,0
POKE#FF0,248,0,249,0,0,0,0,0
POKE#FF8,252,0,0,0,0,0,0,0

10 'ハコイリ ムスメ
20 VIDEO 6:CLS
30 COPY #780,#F60,160
40 ?CHR$(244,240,241,244)
50 ?CHR$(246,242,243,246)
60 ?CHR$(244,248,249,244)
70 ?CHR$(246,252,252,246)
80 ?CHR$(252,1,1,252)
90 ?CHR$(0,2,2,0);
100 X=2:Y=4:M=0
110 LC X,Y,1
120 K=INKEY():IF !K CONT
130 IF K<>32 GOTO 150
140 M=1-M:?CHR$(17);:GOTO 120
150 IF !M GOTO 370
160 P=SCR(X,Y):IF P=1 GOTO 370
170 P=P-240:Q=P%4:P=P-Q
180 A=X-Q%2:B=Y-Q/2
190 FOR S=0 TO 3
200 IF ![P+S] GOTO 220
210 LC A+S%2,B+S/2:?CHR$(1)
220 NEXT
230 C=A-(K=28)+(K=29)
240 D=B-(K=30)+(K=31):N=0
250 FOR S=0 TO 3
260 IF ![P+S] GOTO 280
270 IF SCR(C+S%2,D+S/2)<>1 N=1
280 NEXT
290 IF N=1 C=A:D=B
300 FOR S=0 TO 3
310 IF ![P+S] GOTO 340
320 LC C+S%2,D+S/2
330 ?CHR$([P+S])
340 NEXT
350 IF SCR(1,3)<>240 GOTO 370
360 LC 3,5:END
370 X=(X-(K=28)+(K=29)+4)%4
380 Y=(Y-(K=30)+(K=31)+5)%5
390 GOTO 110

IchigoJam web でプログラムを実行します。

このQRコードはアクセス解析のためにCookieを使用しています。

アクセス解析は匿名で収集されており、個人を特定するものではありません。

この機能はCookieを無効にすることで収集を拒否することができますので、
お使いのデバイスのブラウザの設定をご確認ください。

MixJuice ダウンロード ?"MJ GET 15J.IN/963

MicJack ダウンロード ?”MJ SPW 30 → ?"MJ GKP 963



IchigoCake BASIC

POKE#1780,255,128,128,128,128,128,128,128
POKE#1788,255,1,1,1,1,1,1,1
POKE#1790,128,128,128,128,128,128,128,255
POKE#1798,1,1,1,1,1,1,1,255
POKE#17A0,255,129,129,129,129,129,129,129
POKE#17B0,129,129,129,129,129,129,129,255
POKE#17C0,255,128,128,128,128,128,128,255
POKE#17C8,255,1,1,1,1,1,1,255
POKE#17E0,255,129,129,129,129,129,129,255
POKE#1800,240,0,241,0,242,0,243,0
POKE#1808,244,0,0,0,246,0,0,0
POKE#1810,248,0,249,0,0,0,0,0
POKE#1818,252,0,0,0,0,0,0,0

10 'ハコイリ ムスメ
20 VIDEO 6:CLS
30 COPY #780,#1780,160
40 ?CHR$(244,240,241,244)
50 ?CHR$(246,242,243,246)
60 ?CHR$(244,248,249,244)
70 ?CHR$(246,252,252,246)
80 ?CHR$(252,1,1,252)
90 ?CHR$(0,2,2,0);
100 X=2:Y=4:M=0
110 LC X,Y,1
120 K=INKEY():IF !K CONT
130 IF K<>32 GOTO 150
140 M=1-M:?CHR$(17);:GOTO 120
150 IF !M GOTO 370
160 P=SCR(X,Y):IF P=1 GOTO 370
170 P=P-240:Q=P%4:P=P-Q
180 A=X-Q%2:B=Y-Q/2
190 FOR S=0 TO 3
200 IF ![P+S] GOTO 220
210 LC A+S%2,B+S/2:?CHR$(1)
220 NEXT
230 C=A-(K=28)+(K=29)
240 D=B-(K=30)+(K=31):N=0
250 FOR S=0 TO 3
260 IF ![P+S] GOTO 280
270 IF SCR(C+S%2,D+S/2)<>1 N=1
280 NEXT
290 IF N=1 C=A:D=B
300 FOR S=0 TO 3
310 IF ![P+S] GOTO 340
320 LC C+S%2,D+S/2
330 ?CHR$([P+S])
340 NEXT
350 IF SCR(1,3)<>240 GOTO 370
360 LC 3,5:END
370 X=(X-(K=28)+(K=29)+4)%4
380 Y=(Y-(K=30)+(K=31)+5)%5
390 GOTO 110

MixJuice ダウンロード ?"MJ GET 15J.IN/964

MicJack ダウンロード ?”MJ SPW 30 → ?"MJ GKP 964


パーツ構成の変更

特に未経験の人は攻略が難しいかと思います。運営者も作っていながら、時間をかけないと攻略できません。😣

でもこれを考慮してあり、容易にパーツを変更できるようにしてあります。

4080 を変更して下さい。

 

 

40 ?CHR$(244,240,241,244)

50 ?CHR$(246,242,243,246)

60 ?CHR$(252,252,252,252)

70 ?CHR$(252,248,249,252)

80 ?CHR$(252,1,1,252)

 

 

40 ?CHR$(244,240,241,244)

50 ?CHR$(246,242,243,246)

60 ?CHR$(244,252,252,244)

70 ?CHR$(246,252,252,246)

80 ?CHR$(252,1,1,252)

 

40 ?CHR$(244,240,241,244)

50 ?CHR$(246,242,243,246)

60 ?CHR$(248,249,248,249)

70 ?CHR$(252,252,252,252)

80 ?CHR$(252,1,1,252)


他にも構成可能です。キャラクター番号は次となっています。

240~243(2✕2 の娘パーツ)は必ず 1 つだけ必要です。252 が多い程難易度がやさしくなります。

空きは 1 で通常 2 文字分、壁は 0 です。反転表示になっています。