諦めるなら答えるのも諦めようかしら…
ってなっちゃうのでせっかくなんだからやってみようず。
(さっきのARY%と0が逆っていうのは誤情報。すまん。)
2そうだね プレイ済み
まずはマップエディタで作ったマップを読み込んで、[SCSAVE]のほうで保存し直しましょう。
とりあえず、仕組みは知らんけど作ったマップを表示したい!ならこっちがすごくおススメ。
あとは次の文で
ACLS
DIM ARY%[0]
FOR L=0 TO 3
LOAD FORMAT$("DAT:MAP_名前_%D",L),ARY%,0
BGLOAD L,0,0,64,64,ARY%
NEXT
2そうだね プレイ済み
「1/4画面RPG」と勝手に読み間違えて「そんな小さくてストーリー作れないだろっ」とツッコもうと思ったら違った。
5そうだね プレイ済み
まとめて入力…
最近、他の人が聞いてた覚えがあるけど、DIM ARY[4]=[1,2,4,8]的な一括代入はできないんだよね
んなわけで1要素ずつ
DIM ARY[4]
ARY[0]=1(続く)
まあ、DATA文が便利なんだけどね
2そうだね プレイ済み
画像配列はそのままでパレット配列だけ変えてみると便利さが分かるんだよね
DIM PAL[2]
PAL[0]=#BLACK
PAL[1]=RGB(255,0,0)
こうすると「絵の形」はそのままなんだけど、「さっきの例で緑の点だったところが赤い点に変わってる」
そんなわけで「画像の中の特定の色を別の色に変えたい」みたいな使い方が捗る。
ただし、残念なことに「パレット形式の画像を生成する命令はプチコンにない」ので、「お絵かきで描いて、画像配列とパレット配列に分離したい」っていうのが非常に面倒なのよね。
1そうだね プレイ済み
で、画像配列をこうすると
(※例のためこうするが、1ドットずつ生成する必要は必ずしもない)
DIM IMG[2]
IMG[0]=0
IMG[1]=1
これでさっきのパレット配列と一緒にGLOADで読み込むと「0番目は0番の色、1番目は1番の色」ってなって、黒と緑の点が描画されるんね
1そうだね プレイ済み
「色の値」が入っただけの普通の数値配列。
「色型」って言うのはなくてただの「整数型」
プチコンの「色の値」を知ってるかどうかがミソ。
DIM PAL[2]
PAL[0]=#BLACK
PAL[1]=RGB(0,128,0)
黒と緑の配列を用意する例ね。
どんな方法で値を作ってもいいわけね。
2そうだね プレイ済み
「違った時」には「ELSE」というのが便利です。
IF 式 THEN 仕事A ELSE 仕事B
『式』はさっきと同じですが、「『式』が0じゃないとき『仕事A』、0なら『仕事B』をする」ということになります。
IF 変数==正しい数 THEN PRINT "OK" ELSE PRINT "NG"
違うときはNGと表示するようになりました。
0そうだね プレイ済み
今度はIF~THEN文「もし○○のときだけこれをやって」というときに使います。
IF 式 THEN 仕事
式が0にならないときだけ「仕事」をやってくれます。
==は「左と右が同じ時だけ1になる」ので「左と右が同じ時だけ『仕事』をする」
式のところにさっきの「==」を入れますね。仕事には「OK」を表示させましょうか。
IF 変数==正しい数 THEN PRINT "OK"
0そうだね プレイ済み
ここまでは「パスワードを受け付ける方法」だもんね。
今度は「パスワードを確認する方法」
IF~THEN文と==を使います。
まずは==、「同じですか?」という演算子です。左と右が同じ時だけ1になるます。違ったら答えは0になります。
100==100 これは同じなので 1
100==123 これは違うので 0
0そうだね プレイ済み
(自分の作品内で使ってると思ったら、公開バージョンには入って無かったようです)
0そうだね プレイ済み
すみません、上がってるバージョンが古くて入っていないっぽい。
早めに上げます。
0そうだね プレイ済み
そんなこともあるからDEFを使ってNEW_ARRAY()を作ったよー
と、言いたいところだけど、単体では公開してないんだった…
1そうだね プレイ済み
あ、ほんとだ。
押してないときの処理を忘れてたorz...
ボタン押下時のみ実行する箇所でしか使えないんだった
1そうだね プレイ済み
「濁点文字の1つ前」は「濁点無しの文字」っていう規則性を使って「濁点を外した文字」を求めてるんだけど、「ヴ」だけは例外なのでIF文で追いやってつじつまを合わせてるんだよね。
「が」の1つ前は「か」
「ザ」の1つ前は「サ」
「ヴ」の1つ前は「ン」
なので、「ヴ」を「ウ」の1つ後にある「ェ」に読み替えることで、強引に処理を成立されてるわけね。
1そうだね プレイ済み
「ヴ」は濁点分離したいときだけ「ェ」に置き換える必要がある。
濁点分離しないときはそのIF文が反応しないように工夫する必要があるぞい。
0そうだね プレイ済み