Petitverse
ゲストさん (
ログイン
)
ログイン
コミュニティ内検索
コミュニティ一覧
Petitverse ご利用ガイド
Petitverse からのおしらせ
プチコン 非公式コミュニティ
トピック
しょうご
◆tpp2zBc4h8pI
2018/8/8 21:36
質問
数値配列について
配列を使える方からすれば、あからさまに間違っているプログラムなのかもしれませんが、
VAR SAVEDATA[1000]
VAR SOZAI[1000]
・
・
・
SAVEDATA[14] SOZAI[1000]
のように、ひとつの数値配列の中に別の数値配列を入れたいのですが、エラーになってしまいます。別の方法を使えばこのようなことは可能でしょうか?
コメント
こういち
2018/8/8 21:54
◆ou0jbJnEJ0Kb
二次元配列というものがあります。
DIM SAVEDATA[24,1000]
のように宣言すると、24*1000の大きさの配列が作られます。
で、その中の14番目に
DIM SOZAI[1000]
で宣言された配列を格納する場合なら
FOR I=0 TO 999
SAVEDATA[14,I]=SOZAI[I]
NEXT I
みたいな感じだと思います。
しょうご
2018/8/8 21:55
◆tpp2zBc4h8pI
コメントありがとうございます。
24というのは、24個の配列ということでしょうか?
こういち
2018/8/8 22:01
◆ou0jbJnEJ0Kb
そんな感じです。
さっきの例だと要素1000の配列が24個ある
みたいな感じです。
要するに配列の配列です。
しょうご
2018/8/8 22:03
◆tpp2zBc4h8pI
ありがとうございます!動作しました。
Ryou Tanpo
2018/8/9 10:53
◆AI5iRr9FjmkJ
まあただ SmileBASIC の2次元配列はコンマ区切りだから C 言語みたいに1次元配列取り出せないんだよなぁ
int array[3][4] = {
{ 1,2,3,4 },
{ 5,6,7,8 },
{ 9,10,11,12 }
};
func(array[1]); // 5,6,7,8
void func(int p[]) {
printf("%d,%d,%d,%d",p[0],p[1],p[2],p[3]);
}
Soybeanman
2018/8/9 14:21
◆SDLkyXUP6WqK
Ryou Tanpoさん
わかります。
その仕様のせいで何度苦しめられたことか。
文字列の配列とかだと似たような使い方ができるので、
どうしてもというときはこっちを使っています。
VAR ARRAY$[3]
VAR DATA%
VAR A%,B%
RESTRE @DATA
FOR A%=0 TO 2
FOR B%=0 TO 3
READ DATA%
INC ARRAY$[A%],CHR$(DATA%)
NEXT
NEXT
FUNC ARRAY[1]'5,6,7,8
DEF FUNC P$
PRINT ASC(P$[0]);",";ASC(P$[1]);",";ASC(P$[2]);",";ASC(P$[3])
END
@DATA
DATA 1,2,3,4
DATA 5,6,7,8
DATA 9,10,11,12
Ryou Tanpo
2018/8/9 15:30
◆AI5iRr9FjmkJ
おお、同じことが SmileBASIC で出来てる!!
文字列の配列は僕もかなり前に考えた気はするんですが、僕の場合 考えると何でもかんでも汎用ライブラリ化したくなって結局放置になっちゃうんですよね...
Ryou Tanpo
2018/8/9 15:34 ネタバレ
◆AI5iRr9FjmkJ
ちなみにセーブデータ保存の目的で複数の変数や配列変数をひとつのファイルに保存したいのなら MIKI さんの VFILER 使えますよ!
公開キー Y323VP4M
長所はさまざまな型や配列を含むすべての変数を保存できること。
短所はファイルサイズがデカイこと。
また、保存する変数はグローバルである必要があります。
このコメントはネタバレを含んでいます。
このコメントをひらく
Soybeanman
2018/8/9 16:13
◆SDLkyXUP6WqK
VFILER!
そんな便利な物があるとは!
今後ゲームとかでセーブ機能を作るときに使います。
紹介有り難うございます。
しょうご
2018/8/9 18:13
◆tpp2zBc4h8pI
SmileBASICも意外と制約があるんですね…
コメントを書く
こちらは「プチコン3号」「プチコンBIG」など、
プチコンシリーズ
に関する話題を扱った
コミュニティです
プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
ユーザー登録なしで書き込みができます
秘密の合い言葉は成りすましの防止 (
トリップ機能
)、書き込みの編集時の本人認証に使用します
秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります
normal
happy
like
surprized
frustrated
puzzled
画像
ネタバレ
投稿する
-
WEB PATIO
-