烏賊先生のプログラミング道場

プチコン3号


参考資料

§ ファイル操作2・数値配列 §

コンピュータ(ニンテンドー3DSは、身体は小さいが、立派なコンピュータです)を扱う上で、無くては成らない機能がファイル操作です。ゲームでも、或る時の状態を保存するセーブ機能や、ハイスコアの保存等で、必須の技術と成ります。今回は、数値データの保存・読込です。

下記のプログラムでは、数値データの保存(セーブ)と読込(ロード)を行います。 ボタンで入力と保存、 ボタンで読込を行います。終了するには、 ボタンを押して下さい。猶、今回も、ガイドを日本語表示にしてみました。

0000001OPTION STRICT
0000002ACLS
0000003DIM  I,B,C,N[100],S$,T1$,T2$,T3$,T4$
0000004
0000005FOR  I=1  TO  4
0000006  READ  S$
0000007  T1$=T1$+CHR$(VAL("&H"+S$))
0000008NEXT
0000009FOR  I=1  TO  4
0000010  READ  S$
0000011  T2$=T2$+CHR$(VAL("&H"+S$))
0000012NEXT
0000013FOR  I=1  TO  5
0000014  READ  S$
0000015  T3$=T3$+CHR$(VAL("&H"+S$))
0000016NEXT
0000017
0000018T4$="A "
0000019FOR  I=1  TO 5
0000020  READ  S$
0000021  T4$=T4$+CHR$(VAL("&H"+S$))
0000022NEXT
0000023T4$=T4$+" B "
0000024FOR  I=1  TO 2
0000025  READ  S$
0000026  T4$=T4$+CHR$(VAL("&H"+S$))
0000027NEXT
0000028T4$=T4$+" X "
0000029FOR  I=1  TO 2
0000030  READ  S$
0000031  T4$=T4$+CHR$(VAL("&H"+S$))
0000032NEXT
0000033GPUTCHR  132,224.T4$,1,1,#WHITE
0000034
0000035WHILE  TRUE
0000036  B=BUTTON(0)
0000037  
0000038  'QUIT
0000039  IF  B  AND  64  THEN  BREAK
0000040  
0000041  'INPUT&SAVE
0000042  IF  B  AND  16  THEN
0000043    CLS : WAIT  5
0000044    INPUT  " "+T1$+":";S$
0000045    C=VAL(S$)
0000046    FOR  I=0  TO  (C-1)
0000047      INPUT  " "+T2$+":";S$
0000048      N[I]=VAL(S$)
0000049    NEXT
0000050    INPUT  " "+T3$+":";S$
0000051    SAVE  "DAT:"+S$,N
0000052  ENDIF
0000053  
0000054  'LOAD
0000055  IF  B  AND  32  THEN
0000056    CLS : WAIT  5
0000057    INPUT  " "+T3$+":";S$
0000058    LOAD  "DAT:"+S$,N
0000059    FOR  I=0  TO  99
0000060      PRINT  N[I];" ";
0000061    NEXT
0000062  ENDIF
0000063  
0000064  VSYNC  1
0000065WEND
0000066ACLS : END
0000067
0000068DATA  "30C7","30FC","30BF","6570"
0000069DATA  "6570","5024","5165","529B"
0000070DATA  "30D5","30A1","30A4","30EB","540D"
0000071DATA  "5165","529B","30FB","4FDD","5B58"
0000072DATA  "8AAD","8FBC","7D42","4E86"

ニンテンドー3DSのSmile BASICは、4次元迄の配列を使用する事が出来ますが、多次元配列も同様に保存する事が出来ます。

0000001OPTION STRICT
0000002ACLS
0000003DIM  I,J,A[3,3],B[3,3]
0000004
0000005FOR  I=0  TO  2
0000006  FOR  J=0  TO  2
0000007    READ  A[J,I]
0000008  NEXT
0000009NEXT
0000010
0000011DATA  1,2,3
0000012DATA  4,5,6
0000013DATA  7,8,9
0000014
0000015SAVE  "DAT:TEST",A
0000016
0000017LOAD  "DAT:TEST",B
0000018
0000019FOR  I=0  TO  2
0000020  FOR  J=0  TO  2
0000021    PRINT  B[J,I]
0000022  NEXT
0000023NEXT



ゲームプログラミング道場 ニンテンドー3DS Smile BASIC  Visual Basic,Visual C#

Copyright © King of Squid, All rights reserved.