参考資料
§ ファイル操作2・数値配列 §
コンピュータ(ニンテンドー3DSは、身体は小さいが、立派なコンピュータです)を扱う上で、無くては成らない機能がファイル操作です。ゲームでも、或る時の状態を保存するセーブ機能や、ハイスコアの保存等で、必須の技術と成ります。今回は、数値データの保存・読込です。
下記のプログラムでは、数値データの保存(セーブ)と読込(ロード)を行います。 ボタンで入力と保存、
ボタンで読込を行います。終了するには、
ボタンを押して下さい。猶、今回も、ガイドを日本語表示にしてみました。
0000001 | OPTION STRICT |
0000002 | ACLS |
0000003 | DIM I,B,C,N[100],S$,T1$,T2$,T3$,T4$ |
0000004 | |
0000005 | FOR I=1 TO 4 |
0000006 | READ S$ |
0000007 | T1$=T1$+CHR$(VAL("&H"+S$)) |
0000008 | NEXT |
0000009 | FOR I=1 TO 4 |
0000010 | READ S$ |
0000011 | T2$=T2$+CHR$(VAL("&H"+S$)) |
0000012 | NEXT |
0000013 | FOR I=1 TO 5 |
0000014 | READ S$ |
0000015 | T3$=T3$+CHR$(VAL("&H"+S$)) |
0000016 | NEXT |
0000017 | |
0000018 | T4$="A " |
0000019 | FOR I=1 TO 5 |
0000020 | READ S$ |
0000021 | T4$=T4$+CHR$(VAL("&H"+S$)) |
0000022 | NEXT |
0000023 | T4$=T4$+" B " |
0000024 | FOR I=1 TO 2 |
0000025 | READ S$ |
0000026 | T4$=T4$+CHR$(VAL("&H"+S$)) |
0000027 | NEXT |
0000028 | T4$=T4$+" X " |
0000029 | FOR I=1 TO 2 |
0000030 | READ S$ |
0000031 | T4$=T4$+CHR$(VAL("&H"+S$)) |
0000032 | NEXT |
0000033 | GPUTCHR 132,224.T4$,1,1,#WHITE |
0000034 | |
0000035 | WHILE 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 |
0000065 | WEND |
0000066 | ACLS : END |
0000067 | |
0000068 | DATA "30C7","30FC","30BF","6570" |
0000069 | DATA "6570","5024","5165","529B" |
0000070 | DATA "30D5","30A1","30A4","30EB","540D" |
0000071 | DATA "5165","529B","30FB","4FDD","5B58" |
0000072 | DATA "8AAD","8FBC","7D42","4E86" |
ニンテンドー3DSのSmile BASICは、4次元迄の配列を使用する事が出来ますが、多次元配列も同様に保存する事が出来ます。
0000001 | OPTION STRICT |
0000002 | ACLS |
0000003 | DIM I,J,A[3,3],B[3,3] |
0000004 | |
0000005 | FOR I=0 TO 2 |
0000006 | FOR J=0 TO 2 |
0000007 | READ A[J,I] |
0000008 | NEXT |
0000009 | NEXT |
0000010 | |
0000011 | DATA 1,2,3 |
0000012 | DATA 4,5,6 |
0000013 | DATA 7,8,9 |
0000014 | |
0000015 | SAVE "DAT:TEST",A |
0000016 | |
0000017 | LOAD "DAT:TEST",B |
0000018 | |
0000019 | FOR I=0 TO 2 |
0000020 | FOR J=0 TO 2 |
0000021 | PRINT B[J,I] |
0000022 | NEXT |
0000023 | NEXT |