Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2018/06/14 10:14:48

MixJuice GET URL : kidspod.club/mj/494

PCGエディタ

PCGのデータを編集します。
キャラクタービューアー SAVE0
キャラクターエディタ SAVE1
キャラクターエフェクト SAVE2
キャラクター設定 SAVE3

LRUN0でビューアーを起動

ビューアー
E 編集キャラ指定 #E0-#FF
G LRUN1 エディタ起動
H LRUN2 エフェクト起動
I LRUN3 キャラクタ設定読み込み
O #00-#1F→#E0-#FFにコピー
P PCG初期化
V NEW LOAD3 POKE文 SAVE3 LRUN0を表示

エディタ
カーソル 上下左右移動
X セット Z リセット
A 左シフト D 右シフト
W 上シフト S 下シフト
C コピー #00-#FF
V ビューアーにもどる

エフェクト
A 左右 S 上下 
F 左回転 G 右回転 
R 反転 
C コピー 
V ビューアーにもどる

  • No registered tag exist.
  • 1
  • 2
  • 1
  • 2

SOURCE CODE

NEW
10 'CHRVIEW
20 CLS:W=12:Z=2:LCW,0:?"  ";:FORI=0TO15:?HEX$(I);:NEXT:?
30 J=0:LCW,J+2:?HEX$(J);" ";:FORI=0TO7:?CHR$(J*16+I);:NEXT:?
40 J=1:LCW,J+2:?HEX$(J);"          ";:FORI=9TO11:?CHR$(J*16+I);:NEXT:?
50 FORJ=2TO15:LCW,J+2:?HEX$(J);" ";:FORI=0TO15:?CHR$(J*16+I);:NEXT:?:NEXT
60 LCW,19:?"  ";:FORI=0TO15:?HEX$(I);:NEXT:?:IF(C<0)|(C>#FF)C=#E0
70 E=C*8:GSB@SET
80 @LP:K=INKEY():IFK=0GOTO@LP
90 IFK=69LC0,20:INPUT"EDIT",C:E=C*8:GSB@SET
100 IFK=71LRUN1
110 IFK=72LRUN2
120 IFK=73LRUN3
130 IFK=80CLP:GSB@SET
140 IFK=79COPY#700,0,256:GSB@SET
150 IFK=86GOTO@EN
160 IFK=67LC0,20:INPUT"COPY",M:M=M*8:FORJ=0TO7:POKEE+J,PEEK(M+J):NEXT:GSB@SET
170 GOTO@LP
180 @SET:LC0,0:?CHR$(C);" #";HEX$(C,2);" ";C
190 FORJ=0TO7:D=PEEK(E+J):FORI=0TO7:LCI,J+Z
200 IF(D&128)?CHR$(1):ELSE?CHR$(#90)
210 D=D<<1:NEXT:NEXT:RTN
220 @EN:CLS:?:?"NEW":?:?"LOAD3":?:?
230 ?(C-#DE);" POKE#";HEX$(E);:FORJ=0TO7:?",";PEEK(E+J);:NEXT
240 ?:?"SAVE3":?:?:?"LRUN0":LC0,0

SAVE 0

NEW
10 'CHREDIT
20 E=C*8:Z=2:GSB@SET:X=0:Y=0:N=SCR(X,Y+Z):G=0
30 @LP:K=INKEY():F=0:IFK>0LCX,Y+Z:?CHR$(N)
40  X=X-(K=28)*(X>0)+(K=29)*(X<7):Y=Y-(K=30)*(Y>0)+(K=31)*(Y<7)
50 IFK>0N=SCR(X,Y+Z)
60 IFK=88N=1:GSB@P
70 IFK=90N=#90:GSB@P
80 IFK=65FORI=0TO7:A=PEEK(E+I)>>7:B=PEEK(E+I)<<1:POKEE+I,A|B:NEXT:F=1
90 IFK=68FORI=0TO7:A=PEEK(E+I)>>1:B=PEEK(E+I)<<7:POKEE+I,A|B:NEXT:F=1
100 IFK=87M=PEEK(E):COPY E,E+1,7:POKEE+7,M:F=1
110 IFK=83:M=PEEK(E+7):COPY E+7,E+6,-7:POKEE,M:F=1
120 IFF=1GSB@SET
130 IFK=86LRUN0
140 G=(G=0):LCX,Y+Z:IFG?CHR$(2)ELSE?CHR$(N)
150 GOTO@LP
160 @SET:LC0,0:?CHR$(C);" #";HEX$(C,2);" ";C
170 FORJ=0TO7:D=PEEK(E+J):FORI=0TO7:LCI,J+Z
180 IF(D&128)?CHR$(1):ELSE?CHR$(#90)
190 D=D<<1:NEXT:NEXT:RTN
200 @P:LCX,Y+Z:?CHR$(N):D=0:FORI=0TO7:D=D<<1|(SCR(I,Y+Z)=1):NEXT:POKE(E+Y),D:RTN

SAVE 1

NEW
10 'CHREFFECT
20 E=C*8:Z=2:GSB@SET
30 @LP:K=INKEY():IFK=0:GOTO@LP
40 IFK=86LRUN0
50 IFK=67LC0,20:INPUT"COPY",M:M=M*8:FORJ=0TO7:POKEE+J,PEEK(M+J):NEXT:GSB@SET:GOTO@LP
60 IFK=82:FORJ=0TO7:POKE(E+J),(PEEK(E+J)^255):NEXT:GSB@SET:GOTO@LP
70 FORJ=0TO7:D=PEEK(E+J):FORI=0TO7:LCI,J+Z
80 IFK=65LC7-I,J+Z
90 IFK=83LCI,7-J+Z
100 IFK=70LC7-J,I+Z
110 IFK=68LCJ,7-I+Z
120 IF(D&128)?CHR$(1):ELSE?CHR$(#90)
130 D=D<<1:NEXT:NEXT
140 FORJ=0TO7:D=0:FORI=0TO7:D=D<<1|(SCR(I,J+Z)=1):NEXT:POKE(E+J),D:NEXT
150 GOTO@LP
160 @SET:LC0,0:?CHR$(C);" #";HEX$(C,2);" ";C
170 FORJ=0TO7:D=PEEK(E+J):FORI=0TO7:LCI,J+Z: IF(D&128)?CHR$(1):ELSE?CHR$(#90)
180 D=D<<1:NEXT:NEXT:RTN

SAVE 2




NEW
100 LRUN0

SAVE3


LRUN0

COMMENT

Kidspod運営チーム
Kidspod運営チーム2018/06/15 17:17:19

これはすごい! 単にON、OFFでPCGをキャラクタを編集できるだけじゃなく、右へシフトとか左へシフトといった機能も面白いですね。まさか、これほどのツールをIchigoJamで作れるとは。セーブのスロットもたくさん使っていて、まさに大作です!