コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
みどり ◆UuFOYlGswjhS
2018/8/28 19:08
質問
配列の基本を1から詳しく、わかりやすく教えてください…
連投すいません。SP、BGと共にすぐに覚えないと行けません。かなりの急ぎです。なので説明お願いします。

コメント

アバター
あまさとしおん 2018/8/28 19:39 ◆mzDKTVUAtwqE
基本:
配列とは変数の塊みたいなもの

使い時:
普通の変数だと、同じ目的の変数を複数用意するって面倒なときあるやろ
VAR SCORE1,SCORE2・・・SCORE5
とか長いし

そういうときに配列を使うと
VAR SCORE[5]
ってなるんじゃ
アバター
あまさとしおん 2018/8/28 19:40 ◆mzDKTVUAtwqE
そして配列にはもう1個便利な機能があるんじゃ
「数字を変数で選べる」んじゃ
ハイスコアを5位まで表示するとして

PRINT "ハイスコア"
PRINT SCORE1
PRINT SCORE2
PRINT SCORE3
PRINT SCORE4
PRINT SCORE5

長いでしょ、コレが配列だと
アバター
あまさとしおん 2018/8/28 19:43 ◆mzDKTVUAtwqE
それで「FOR」っていうのを使うと「変数を1ずつ増やす」ことができるわけね
配列と一緒に使うと
PRINT "ハイスコア"
FOR I=0 TO 4
PRINT SCORE[I]
NEXT

Iは変数の名前で、「0 TO 4」は「0から4」(配列は0番からできるので注意)
ちょっと考えると、ベスト5をベスト10にするのも、超簡単やろ
アバター
あまさとしおん 2018/8/28 19:44 ◆mzDKTVUAtwqE
後は誰かにお任せします
アバター
あまさとしおん 2018/8/28 19:46 ◆mzDKTVUAtwqE
配列はVARかDIMで「宣言」(この配列を使いますよという指示みたいなの)が必要なので注意

最初のほうに書いた
VAR SCORE[5]
っていうのが宣言で、「SCORE」という名前で「5つ分」使いますよってことね
アバター
はる 2018/8/28 19:51 ◆75Vh4SY8TdKS
配列は文字列の文字が値になったものと考えると、
分かりやすいかもしれません。
配列は配列添字に対応して値が格納できるものです。
ただの変数が0次元だとしたら、
配列変数は1次元以上の空間だと考えられます。
実際の例で示すと、


普通の変数

(810)


配列変数

(114514,1919,810)



といようような感じです。
簡単に言うと、複数の値が格納できるのが配列変数です。
他の言語には連想配列というのもあったりしますが、
プチコンにはありません。
ちなみに、文字列を配列に入れることもできます。



普通の文字列変数

("淫夢")


配列文字列変数

("真夏","夜","淫夢")
アバター
はる 2018/8/28 19:59 ◆75Vh4SY8TdKS
次に、実際の使い方について説明します。
配列変数を使用するには必ず宣言が必要です。
普通の変数と同じように宣言できますが、
要素数を指定する必要があります。

DIM 名前[要素数]

で宣言できます。
配列に値を入れるときは、

配列名[番号]=値

とします。
このとき、番号は要素数より小さい必要があります。
要素数は配列に格納できる値の数なので。
配列から値を取り出すときは、

配列名[番号]

というのを普通の変数と同じように書けばよいです。
アバター
takumi 2018/8/28 20:17 ◆Ce3Q40uXWJjn
他の方がおっしゃっているように、一つの数値をまとめるのに最適です。

a1=1
a2=2
a3=3

を、
DIM A[3]
a[0]=1
a[1]=2
a[2]=3
のようにできます。

また、保存読み込みはDATでできます。
僕は、この配列機能で天気アプリやパスワードのDAT化をしました。
アバター
takumi 2018/8/28 20:24 ◆Ce3Q40uXWJjn
これだと、複数の情報を一つに保存できます。

例えば、生年月日と、年齢と、ハイスコアと、・・・をTXTで保存すると別々になりますが、DATだと、
dim a[3]
a[0]=生年月日
a[1]=年齢
a[2]=ハイスコア

save "abc",a
と、一つにできます。
アバター
はる 2018/8/28 20:30 ◆75Vh4SY8TdKS
takumiさんのプログラムに、

save "abc",a

というのがありますが、
実際に保存するのには"DAT:"をつける必要があります。

SAVE"DAT:ファイル名",A

とします。
アバター
takumi 2018/8/28 21:48 ◆Ce3Q40uXWJjn
そうでした。すみません。
アバター
ZEX 2018/8/28 22:33 ◆RrwFtq39WJM3
アバター
はる 2018/8/29 6:37 ◆75Vh4SY8TdKS
>そうでした。すみません。

人は誰だって間違えることはあるので、
謝る必要はないと思います。
アバター
ツララ 2018/8/30 12:38 ◆ArUdBYOYME1V
いやいや、間違えたら謝るのは処世術ですし
誤りを指摘してもらった時にするべきは、お礼のが優先度が高いってだけでしょう。
必要の有る無しはケースバイケースですね。

人は誰だって間違える事はあるってことを共通認識にしたいのなら
するべきは訂正オンリーじゃなくて励ましをプラスかと。
なぜなら彼もまた特別な存在だからです(○ェルタースオリジナル)

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -