Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1 2 3 4 5 6
次のページ(過去)
返信[27]
親投稿
おおみの Omi-no-mino-398
MMLで「繰り返しの途中で抜ける」「キーシフト」があればうれしいです。 途中抜けは [AAA|BBB]3CCC と書けば AAA BBB AAA BBB AAA CCC と再生される感じ。 キーシフトは単純に全体が1半音上がる場合に [AAA|K+1]2 みたいにできればMMLが使いまわせて短くできますし、K-12にすればO0CでN0が指定できます(ノイズでしか使わないと思いますが)。 あとはNコマンドにも&が有効とか、繰り返しのデフォルト値が2で永久ループのときは0を指定になるとありがたいですね。
1そうだね
プレイ済み
返信[8]
親投稿
おおみの Omi-no-mino-398
>ロイヤルストレート ご指摘ありがとうございます。 Aを1として見るのは最大のカードが5(A,2,3,4,5)のときだけなので、最大が5でないならAを14として判定すればいいですね。 ジョーカーがある場合はそれ以外の4枚を調べて、そこに手持ちカード以外のすべての数字を当てはめて判定すればいいのでは。
0そうだね
プレイ済み
返信[1]
親投稿
おおみの Omi-no-mino-398
SORT命令を使うと数字の小さい順に並び替えてくれるので、そのあとに判定すれば簡単です。 SORT後に1枚目と5枚目の差が4、かつ同じ数字のカードがなければストレートです。
0そうだね
プレイ済み
返信[4]
親投稿
おおみの Omi-no-mino-398
DATAは大量のデータをまとめて変数に入れたり、MMLなどの定義に使います。 100個の変数にひとつずつ A[0]=1:A[1]=6:… なんてやると無駄に長くなるし見栄えも悪いし手直しも大変なので、 FOR I=0 TO 99 :READ A[I] :NEXT DATA 1,6,7,2,…,11(100個並べる) というふうに書きます。 DATAはどこに置いてもいいし、複数行にまたがってもOKです。 一度読み込んだDATAは二度と読み込まれないので、もしまた読み込みたいという場合はDATAの手前にラベルを置き、RESTOREでそのラベルを指定すればまた読み込ませることもできます。
1そうだね
プレイ済み
返信[3]
親投稿
おおみの Omi-no-mino-398
普通のGOTOで複数ラベルを書くとエラーになると思います。 ON~GOTOのことを言っているなら、これは変数の値に応じて飛び先を変えることができます。 ON A GOTO @0,@1,@2,@3 とすると、Aが0~3のときにそれぞれの番号のラベルへ飛びます。Aが範囲外のときは実行されずに次にある命令を実行します。 アニメーションを止めるのは SPSTOP です。また動かすなら SPSTART。
2そうだね
プレイ済み
返信[3]
親投稿
おおみの Omi-no-mino-398
■INC,DEC 使わないですね・・・BASIC=A=A+1、という固定観念があるので変えようと思わないというか。 ■OPTION STRICT 貧弱なBASIC出身故、変数名は短くするクセがあるため使わないです。 ■カラー指定 16進数は見た目がわかりやすい、10進数は文字数が少なくなる、というのがそれぞれのメリット。私はCOLOR命令以外では16進数で書きます。 ■1行にたくさんの~ 私は見やすさ重視で44文字以内に収まるように書いてますね。1行には多くても命令は3つくらい。DIALOGなどでどうしても長くなるときは・・・例外です! ■配列宣言 DIM=dimension、VAR=variable が語源のはずなので配列宣言はDIM、変数宣言はVARとしています。 ■その他 今は定義命令を_で始まる名前にしてます。昔は_がCALL命令の短縮として使われていたので。
2そうだね
プレイ済み
返信[20]
親投稿
おおみの Omi-no-mino-398
色素が抜けているのはnatto-さんのやり方(GOTO @AをGOTO @LOOPに変える)だとACLSとCOLOR 2のところを通らないからです。 BEEPで暴走する問題はV3.2.1で修正されているとあったので大丈夫かもしれませんが、以前のバージョンでは見事にぶっ飛びました・・・(6時間の作業結果が水泡に)。 セーブはこまめにしておいたほうがいいですね。
1そうだね
プレイ済み
返信[17]
親投稿
おおみの Omi-no-mino-398
エラーの意味は「そのような名前のラベルはない」です。 GOTO @A の@Aというラベルがありません。 6行目の ACLS の前に @A を入れましょう。 そしてこれは重要なことですが、無限ループさせるときは必ずVSYNC命令でウェイトを入れてください。 行2~5と行8~13で無限ループさせていますがVSYNCがありません。 あと無限ループ内にBEEPを入れてしまうとプチコンが暴走します。3DSの電源を切るしかなくなるので注意してください。
1そうだね
プレイ済み
返信[2]
親投稿
おおみの Omi-no-mino-398
BGやスプライトの定義番号一覧が画像付きで載っている点とまんがでわかりやすく解説してあるので、あったら便利ですよ。 でも記述ミスが多いので惑わされる部分も多々あります。 命令の使い方はプチコンのヘルプかWEBページのを見たほうがいいです。
3そうだね
プレイ済み
返信[4]
親投稿
おおみの Omi-no-mino-398
赤背景で見づらいので見落としてた・・・。 Y=X+YY、これ公式ガイドブックのバグですよね。 過去にも同じ質問を見たような。 あと4行目のX、Yの定義のあとに SPOFS 0,X,Y を入れて最初に表示されるべき場所にSPを表示しておいたほうがいいですね。
0そうだね
プレイ済み
返信[2]
親投稿
おおみの Omi-no-mino-398
移動単位が32なのに使っているSPRITEは16x16の予感。
0そうだね
プレイ済み
返信[2]
親投稿
おおみの Omi-no-mino-398
Type mismatch 意味:変数の型が違う 文字列変数に数値を代入しようとしているため、変数の型が違うということです。 DAIYA%=2000 DAIYA$="2000" のいずれかにするとエラらないでしょう。推奨は前者です。
1そうだね
プレイ済み
返信[1]
親投稿
おおみの Omi-no-mino-398
最初は数当てゲームを作るのが王道(?)ですかね。 PRINT、INPUT、IF~THEN、GOTOなどの基本命令と変数の概念を会得しましょう。
0そうだね
プレイ済み
返信[3]
親投稿
おおみの Omi-no-mino-398
GOSUBは同じような処理をさせるときにメインルーチンから呼び出して使います。 たとえばキー入力待ちの処理をメインのいろいろなところに配置してる場合、それをサブルーチンに移してGOSUBで呼ぶようにすれば処理の記述はひとつですみますし、修正もその一箇所だけで済むといった利点があります。 しかしプチコン3号ではユーザー定義関数/命令がとても強力なので、GOSUBの出番はあまりない気もします・・・。
0そうだね
プレイ済み
返信[1]
親投稿
おおみの Omi-no-mino-398
インデントはソースの視認性を上げる(見やすくする)ために入れるものなので、別に入れなくてもプログラムの実行には影響ありません。 ただ、ソースを人に見せる前提なら入れておいたほうが親切ですね。今流行り(?)のQSPは画面内に収める必要があるのでコロンや空白を極限まで削っていますが、ああいうのはわかりにくいですよね。
0そうだね
プレイ済み
返信[2]
親投稿
おおみの Omi-no-mino-398
2~3くらいでしょうか。マンガによる解説と資料集(SP/BGの一覧)はなかなかよいのですが、ミスや間違いが許容範囲を超えるくらいに多いのが・・・。 SP/BG早見表としてなら大いに役立ちますが、命令一覧は表記ミスが多くて混乱します! 命令に関してはプチコンのヘルプか公式ページで調べたほうがいいですよ。
2そうだね
プレイ済み
返信[1]
親投稿
おおみの Omi-no-mino-398
すべての文字を消すなら CLS 一部分だけ消す場合は その場所に空白を表示 とすればいいと思いますよ。
2そうだね
プレイ済み
返信[3]
親投稿
おおみの Omi-no-mino-398
1~10にする場合、RND(10)+1 としましょう。 RND(9)だと0~8(9種類)を発生させることになるのでひとつ足りません。
0そうだね
プレイ済み
返信[4]
親投稿
おおみの Omi-no-mino-398
あ、負の数のときはまた別の判定になりますね。 (3)+1を(3)+SGN(<整数部>)とすればいいのかな? 結構考えることが多い・・・。
1そうだね
プレイ済み
返信[2]
親投稿
おおみの Omi-no-mino-398
訂正: 切上げは小数点より右側全部を見て0以外なら(3)+1 だから(4)は小数点より右側を全部取得して判定ですね。
1そうだね
プレイ済み