トピック
ペンコ penkogoma

プチコン豆知識、募集

みなさんのちょっとしたプチコン豆知識、ありませんか? どんなショボイ知識でもOKです(笑 では、私からも少々。 29行目にPRINTすると、勝手に改行されて困る。そんなときは、最後に「;」をつければOK! 例:LOCATE 0,29:PRINT "@"; 最近、初めてこれを知った(´∀`;;
21そうだね
プレイ済み
返信[1]
親投稿
HIBIKI 130216
EDIT画面でL押すとファンクションキーが変化してスピーディーにSAVE&LOAD出来る。ちなみに扱われるのはその時開いているSLOT
1そうだね
プレイ済み
返信[2]
親投稿
moh6an moh6an
ドハマり案件: GSAVEで出力される配列はXとYが逆
1そうだね
プレイ済み
返信[3]
親投稿
ほしけん Hosiken
VAR("変数名") という、文字列から変数の中身を取得できる隠し命令がある
4そうだね
プレイ済み
返信[4]
親投稿
MIKI ifconfig
inc x は x=x+1 より遅い x[i]=x[i]+1 は inc x[i] より遅い x=c[i] は x=cos(i) より遅い x=e1*e2 は x=e1/e2 より遅い @1: if expr1 goto @1 は repeat until expr2 より遅い 配列、乗算、inc、goto を指して「激遅四天王」と呼びます。
4そうだね
プレイ済み
返信[5]
親投稿
スー thanks_0u0
今までに聞いたものとかです( ´ ▽ ` )ノ ・スマイルツールから[DEFAULT]プロジェクトのプログラムを起動して、PROJECT()をすると"###"っていう文字列が返ってきます。 ・文字列変数と数値を比較すると3が返ってきます。 ・文字列をファイルに保存すると、CHR$(13)がCHR$(10)に置き換えられます。 ・文字列変数は、A$[0]で0文字目、のように配列の形で1文字ずつ取得できます。 ・EXECでプログラムを起動、終了して元のプログラムに戻って来たとき、カレントプロジェクトは戻ってきません。 ・COPYでDATAを読んだときも、RESTORE+READと同じように読み出し位置が変わります。 ・VER("変数名")[0]で配列も取得できます。 ・ファンクションキーの文字列を取得できる、KEY(番号)、という命令が存在します。
1そうだね
プレイ済み
返信[6]
親投稿
おかっぺ Japanese_WASABI
昔の記憶なので、間違っていたらすみません。 プチコンのグローバル変数はスロット毎に管理されている。このため、ライブラリは変数を保持することができる。
1そうだね
プレイ済み
返信[7]
親投稿
MIKI ifconfig
・nan と inf を作る方法 pow(2,1024) は inf を返す。 inf - inf は nan を返す。 ・str$(nan), str$(inf) は "nan", "inf" を返す。 ・val("nan"), val("inf") は 0, 0 を返す。 ・nan==nan は 0 を返す。nan!=nan は 1 を返す(世界基準)
1そうだね
プレイ済み
返信[8]
親投稿
けい kei0baisoku
公開NGになった時のメニューの表示が無駄にカッコイイ
5そうだね
プレイ済み
返信[9]
親投稿
おかっぺ Japanese_WASABI
プチコンコミュの人口は少ない。人口が少ないと皆がお互いを理解して仲良くなる可能性が高い。人口が多いとお互いを理解する時間が減って仲良くなりにくい。 これ以上はスレ違いかもですね(汗
5そうだね
プレイ済み
返信[10]
親投稿
ΖΕΧ ZEX256
REMは'で代用できる PRINTは?で代用できるのはBASICの標準的な知識 '16進数はこう書くけど ? &H10 16 'プチコンでは2進数も使える ? &B10 2 '16進文字列を10進数値に変換(何故か説明に書かれてない) ? VAL("&H10") 16 '2進数文字列も10進数値に変換できたりする ? VAL("&B10") 2
4そうだね
プレイ済み
返信[11]
親投稿
moh6an moh6an
・エディットモードで少しでも編集すると Lキー押下時のファンクションキーのファイル名の左に 「*」が表示される ・シフトキーを押下するとコピペがカット&ペーストに変化 ・シフトキー+DELキーでカーソルから行末まで削除 ・シフトキー+Yキーでカーソルから行頭まで削除、行頭で行うと行自体削除 ・・・2進数の論理演算に詳しい方 四則演算代替でのテクニック(a*2→a<<1とか)がありましたら 教えていただきたいのですがm(__)m
1そうだね
プレイ済み
返信[12]
親投稿
ほしけん Hosiken
上で書いた隠しのVAR関数について… PRINT VAR("1:A") と書くと、別PRGスロットの変数の値を見ることができる。 上記の場合は、PRGスロット1のAという変数の値を取得。 ※今、できそうと思って試しにやったらできちゃいました。 世界初の発見かもしれません。
7そうだね
プレイ済み
返信[13]
親投稿
moh6an moh6an
・「:」文字を使うと2つ以上の文を同じ行に記述できる A=1:B=1:C=1
1そうだね
プレイ済み
返信[14]
親投稿
マギー M191246
・inf値を出す別解 EXP(800) ・SGN(nan)は1となります。 (個人的には0になりそうな気がしますけど)
1そうだね
プレイ済み
返信[15]
親投稿
natto- natto-3030
公開NGになるとキーの書いてあった場所が文字化けする
1そうだね
プレイ済み
返信[16]
親投稿
れい rei-nntnd
公開NGな画面どんなのだろう。見たい。 エディタで最後の一文字が消せない。
1そうだね
プレイ済み
返信[17]
親投稿
けい kei0baisoku
わざとやろうとする人が出てくるかもと少し心配になったので探してきましたよ。 本題は違うのに公開NGの表示で話題になったトピックがコチラになります。 https://miiverse.nintendo.net/posts/AYIHAAAEAAAFVHwfLDivDg
2そうだね
プレイ済み
返信[18]
親投稿
れい rei-nntnd
ありがとー ピンクなのか
1そうだね
プレイ済み
返信[19]
親投稿
********** itd12d
IF BT AND 1 THEN Y=Y-1 IF BT AND 2 THEN Y=Y+1 IF BT AND 4 THEN X=X-1 IF BT AND 8 THEN X=X+1 ↓改良 Y=Y-(BT==1)+(BT==2) X=X-(BT==4)+(BT==8) 前者88文字、後者28文字で後者が断然お得
2そうだね
プレイ済み
返信[20]
親投稿
The Mangleさんのボタンのやつ 改良前はななめ行けるのに 改良後はななめ行けなくなってる Y=Y+!(1AND BT)-!(2AND BT) X=X+!(4AND BT)-!(8AND BT) こうだね
1そうだね
プレイ済み
返信[21]
親投稿
ΖΕΧ ZEX256
↑でもそれだと斜めに移動できなくなってる改悪 X=X+!(4AND B)-!(8AND B) Y=Y+!(1AND B)-!(2AND B)
2そうだね
プレイ済み
返信[22]
親投稿
ななめ移動しないならThe Mangleさんの案で ななめ移動するなら私の案、と使い分けるといいかな
2そうだね
プレイ済み
返信[23]
親投稿
reji Satoshi.1103
命令のヘルプを見ているときにキーボードのCOPYを押してペーストしてやると見本の文がペーストされる。
1そうだね
プレイ済み
返信[24]
親投稿
R143 sakamoto-takeru
立体音響もどきを作った時発見。 BEEP ,,,I このように確実に入力しなくていい引数は飛ばせる。
1そうだね
プレイ済み
返信[25]
親投稿
おちゃめ ochame_nako
infを出す最短は1E308*2ですね。 指数表記はリスト短縮で非常に有用で-3E5でオレンジ、-7E5でピンク、-8E4で肌色などが選択可能です。 黄色は-#Lで選択できます。 使用例 GCLS-#L リスト短縮に関する事柄ならばいくらでも書けますが、使う人はほとんど居ないと思うのでこれくらいにしておきます。
2そうだね
プレイ済み
返信[26]
親投稿
ΖAiR-01 yutaro0515
:を使わなくても数字のあとなら命令が書ける
1そうだね
プレイ済み
返信[27]
親投稿
DATA PI(),TRUE,FALSEがエラーになりません。 使い道が無いと思いますが。
4そうだね
プレイ済み
返信[28]
親投稿
MIKI ifconfig
コータさん 3*5 や #b も可能みたいですね。 これいつからでしょうか? 定数式をコンパイル時に計算するようになった時からかな??? cos(0) はエラーになった。 cos は const な関数なんだから定数展開してくれてもよさそうだけどなあ。
3そうだね
プレイ済み
返信[29]
親投稿
マギー M191246
【使えない豆知識】 INPUT入力で、先頭文字が´(アポストロフィー、コメントで使う文字)のとき 後ろの文字も含めて入力値が無視される。 (エンターを押しただけのときと同じになる)
2そうだね
プレイ済み
返信[30]
親投稿
みき★さん 3.2.0版で全ての項が定数の簡単な式は、実行前に計算を済ませるようになったそうです。文字列や関数は対象外です。その影響でDATA文でも使えるようになったそうです。私が要望したときは、CHR$()などを想定しており、あてが外れましたが、定数式を使えるのは、とても重宝しています。(ただし、暗算能力がますます低下する、副作用が心配です。)
1そうだね
プレイ済み
返信[31]
親投稿
MIKI ifconfig
コータさん 最初から \xhhhh みたいなエスケープシーケンスを採用すべきでしたね。 豆 nan を整数にすると 0 になる。 inf を整数にすると overflow エラー 整数 div 浮動小数点数 がなぜか単精度浮動小数点数に!! talk 命令は 256 文字くらいしか喋らせられない。
1そうだね
プレイ済み
返信[32]
親投稿
みき★さん エスケープシーケンスもいいですが、 BASICのB(Beginner's)にやさしくないような気がします。 MMLの音の長さは、2*(2のn乗)と3*(2のn乗)[n:0~6]以外はちょっと短い。
1そうだね
プレイ済み
返信[33]
親投稿
おちゃめ ochame_nako
プレイ中に頻繁にセーブする時にダイアログが出るのが嫌な場合は別のプログラムスロットに一時セーブをすれば最初の1回と最後の1回しか出なくなります。(最後にその内容を普通にセーブするのを忘れずに!) 1回もダイアログが出ないようにしたければファンクションキーに書き込めばOKです。 1つのファンクションキーには最大256文字書き込むことが可能でKEY 1 OUT A$もしくはA$=KEY(1)で読み出せます。 ただし、ファンクションキーで入力可能な文字は最大128文字となります。(256文字中のラスト128文字) 数値を文字列化する場合は私の自作関数PSTR$が便利です。 https://miiverse.nintendo.net/posts/AYIHAAAEAABEVRTp-ZVMIg
1そうだね
プレイ済み
返信[34]
親投稿
おちゃめ ochame_nako
配列変数ではない文字列変数A$においてA$[N]でN+1番目の文字を読み出しが可能なのでMID$を使わなくても任意の1文字を取り出す処理が超簡単になります。 A$="ABC"のときA$[1]="DE"と記述すればA$="ADEC"となりSUBST$も不要になります。(置き換える文字数は0文字でも2文字以上でも良く0文字にすればその文字のみ削除できる) これは変数に限った話ではなく"ABC"[N]のような書き方も可能でこれを使えばテーブル処理も超簡単になります。 テーブル処理の実際の活用例はスライドパッドで快適な8方向移動を可能にするDSTICK関数を参照してください。 https://miiverse.nintendo.net/posts/AYIHAAAEAADHVHhveJfmfA
1そうだね
プレイ済み
返信[35]
親投稿
おちゃめ ochame_nako
整数同士の演算の解は基本的に整数型になりますが整数型で表せる範囲外は自動的に実数型になります。 しかし、例外もあるため注意してください。 例 65536*32767→整数型   65536*32768→実数型   (※A%の値は65536の時)   A%*32768→整数型(演算結果-2147483648)   65536/2→整数型   A%/2→実数型    VAL関数は100桁以上の時は0を返します 例 VAL("1"*100)の値は0
1そうだね
プレイ済み
返信[36]
親投稿
マギー M191246
【使えない豆知識(ダイアログ第5書式編)】 DIALOGの第5書式(ヘルプで 『ファイル名入力専用』となっているもの)の キャプション文字列の中では 1.他の書式でプチコンのテキスト用フォントが表示されるコードの文字が、そのフォントで表示されなくて、多くは、『?』と表示される。 また、残りは、DIALOG独自のフォントで表示される。(&H2500代の罫線など) 2.『#』,『%』とそれに続く一文字が、 表示されない。(スキップされる。)
1そうだね
プレイ済み
返信[37]
親投稿
KU kerorinU
だいたいの関数は function-name orgs out vars のかたちも受け付ける
1そうだね
プレイ済み
返信[38]
親投稿
マギー M191246
INPUTのところで肝心な豆知識を 入れておくのを忘れてました。 (『肝心な豆知識』って…) INPUTのとき、エンターだけを入力すると、 その命令直前までの値が保持される。 (変化しない。)
1そうだね
プレイ済み
返信[39]
親投稿
ほしけん Hosiken
音関連 ・BEEP の同時発音は16音 ・@144~150のPSG音よりも、自分で矩形波作ってをWAVSETしたほうが音質がいい (@144~150は微妙にノイズが入っている) ・@151のノイズ音は、mkIIと異なり音程変更がほとんど効かない。音程変更したい場合はランダムな値を入れた配列を WAVSETA してノイズ音を作るといける ・WAVSET(A) した音色は BEEP 224~255 でも鳴らせる ・BEEP 255~383 にMMLで使う音色と同じ音が入っている ・プチコンmkIIのMMLは、音量バランスが異なる以外はほぼ3号と互換性がある
1そうだね
プレイ済み
返信[40]
親投稿
ほしけん Hosiken
DEFで引数や戻り値に配列が使えます。 DIM HAIRETSU[0],HIKISUU[8] HIKISUU[5]=12 HAIRETSU=KANSU(HIKISUU) PRINT HAIRETSU[3] DEF KANSU(H)  DIM RET[8]  RET[3]=H[3]  RETURN RET END
1そうだね
プレイ済み