プチコン3号 SmileBASIC コミュニティ返信[11]親投稿MIKI ifconfig2016/11/14 22:00へー勉強になるなあ 「著者」って面白いな ●著者 (●は草冠に「著」の字) とか書きたくなるし、あまさとさんの「エコー的な何か」(だっけ?)にも通じるものがある。 「回」も再帰的でいいよね。ピラミッドにも見えるし、一人称視点のダンジョンにも見える。 3そうだね プレイ済み2017/11/03 01:39:03に取得
プチコン3号 SmileBASIC コミュニティ返信[34]親投稿MIKI ifconfig2016/11/14 20:40累乗根、pow 使っていいなら xのn乗根 = x^(1/n) = pow(x, 1/n) なんだけど、そういう話ではなくて?? 一引数版の pow しか使わないなら a^b = exp^(log(a)*b) です。 累乗根て日常ではほぼ使わないけど、音階がそうです。 A=440Hz に対して高いA=880Hz、一オクターブで周波数は 2 倍になりますね。 一オクターブは半音が 12 ステップ分なので、半音上げるということは周波数を 2^(1/12) 倍することに等しい。 440Hz*2^(1/12)=466.164Hz がA#になります。さらに半音上げるには更に 2^(1/12)倍して 440Hz*2^(1/12)*2^(1/12)=493.883Hz=B です。 440Hz*exp(2,c/12)でAに対して半音c個分上げた音になる。c<=0でも可。 0そうだね プレイ済み2017/11/03 02:11:40に取得
プチコン3号 SmileBASIC コミュニティ返信[15]親投稿MIKI ifconfig2016/11/13 22:17私の先のコメントは別に速度に限定しているわけではありません。 QSPはコードゴルフの一種ですよね。 amiga のメガデモもコードゴルフと言える。 コードゴルフは人を感動させ得るアートの領域まで行くと思いますね。 入力から予想できる出力と、実際の出力との間に想像を絶するような乖離があれば、それも人の心を強く動かします。 IOCCC やマンデルブロ集合などはその好例でしょう。 たらい回し関数の音楽化などもそうですね。 https://miiverse.nintendo.net/posts/AYIHAAAEAABEVRTpSr38Cg ↑これの元ネタは http://d.hatena.ne.jp/aike/20111112 です。 2そうだね プレイ済み2017/11/03 01:41:25に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿MIKI ifconfig2016/11/13 18:30if 式1 && 式2 then 命令 は if 式1 then if 式2 then 命令 と厳密に同じ。 どちらも 式1 が偽(0)なら 式2 は評価されない。 例えば var x[2], i=2 のとき if i < 2 && x[i] == 334 then ~ は期待通りに動くけど if i < 2 and x[i] == 334 then ~ は subscript out of range でエラーになる 1そうだね プレイ済み2017/11/03 17:42:39に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿MIKI ifconfig2016/11/13 10:03やはり人を感動させるのは、限界を超えた作品ですよね。 そんなの無理って思ってるようなことが実現されていてこそ 「おおっ!! スゲー!!」 と感じる。 私などは -無理はしない -遅いのはプチコンが早くなれば済む話 がモットーなので、感動には程遠いです。 > 配列テーブルに保存しておく sin/cos とかね。 あらゆる言語で有効なこの常套手段をあっさりひっくり返してくれたプチコンには脱帽です。 0そうだね プレイ済み2017/11/03 01:41:25に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿MIKI ifconfig2016/11/12 23:08く~~~確かに難しい!! 一度修理に出して上半身液晶交換されて、上と下で全く発色違うのよね(上は青白液晶、下は尿液晶) こんな結果では満足できない!! もう一回やるから待っていろ!! 1そうだね プレイ済み2017/11/03 01:41:02に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿MIKI ifconfig2016/11/12 22:58今ならきっと #PI とかにしちゃうでしょうね。その方が整合性取れてる。 でもプチコン 3 号初期版には #定数 がなかったのよ。でもスマブはプチコンに円周率は必要だと思ったんでしょうね。 それでこんな中途半端な仕様になったんじゃないかな~ なお、円周率が用意されていない場合、 円周率 = atan(1) * 4 で計算できます。これマメな。 1そうだね プレイ済み2017/11/03 01:40:49に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿MIKI ifconfig2016/11/12 22:14全然微妙じゃない。ただの(痛くも痒くもない)バグだわね。 ソフト会社がバグを「仕様だ」と強弁するのは、バグと認めちゃうと 「バグだ!! 直せ!! さあ直せ!! 今すぐ直せ!! 金返せ!!」 とか言い出す輩の処理が面倒だからです。 このコミュの参加者なら 「プログラムにはバグが付き物」 ってのは骨身に沁みて分かっているはずだからね。 スマブはちまちまとバグ対応してくれる誠実な会社だから、そのうち直してくれるでしょう。 直ったときにはスクショのようなコードは動かなくなる。 0そうだね プレイ済み2017/11/03 01:41:12に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿MIKI ifconfig2016/11/12 21:59len は配列も受け付けますよ。 式の評価で、値だけでなく型も付随しているんだと思う。 VB で言えば variant 型みたいな。 演算子や関数は型を見て処理を分岐させる。 例えば乗算演算子 * は文字列も数値も受け付けますよね。 そのほうが実装は楽なような気がします。 実行時にいちいち型を判定しなければならないから、 コンパイル時に型を決定しておくよりも実行速度は犠牲になります。 1そうだね プレイ済み2017/11/03 01:40:26に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿MIKI ifconfig2016/11/11 22:30y>=0 の時 x << y == (xの整数部) * 2^(yの整数部) x >> y == (xの整数部) * 2^(-(yの整数部)) y<0 の時 0 4そうだね プレイ済み2017/11/03 01:40:53に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿MIKI ifconfig2016/11/11 20:51符号ビットてのは、符号ビット以外が絶対値を表し、符合ビットが正負を表す方法だから +-(2^30-1)までしか表せなくなっちゃうし、+0と-0と二つの0が混在しちゃう。 プチコンの整数(二進数)は十進数と同様に各ビットが2のべき乗の係数を表している。 十進数 1234=1*10^3 + 2*10^2 + 3*10^1 + 4*10^0 二進数 1010=1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 8+0+2+0 これだと負の数が表せないので、一番左の 2^3 を -(2^3) に変更する。すると 1010 = 1*(-(2^3)) + 0*2^2 + 1*2^1 + 0*2^0 = -8+0+2+0 実際は32ビットだから一番左は -(2^31) の係数ってことになる。 これによって -2^31 から +2^31-1 まで表せるようになるし、0 の表現も唯一。0そうだね プレイ済み2017/11/03 01:41:22に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿MIKI ifconfig2016/11/11 1:29ありがとうございます。 非圧縮だと64枚か~見開きでも 32 回ミバにアップしなければならない・・・圧縮して半分になっても 16 回。 現実的じゃないですね~~~ Miiverse起動がものすごく時間かかりますからね あれがもっとテキパキしてれば問題ないと思いますが2そうだね プレイ済み2017/11/03 01:41:23に取得
プチコン3号 SmileBASIC コミュニティ返信[28]親投稿MIKI ifconfig2016/11/11 1:18ところが、たまたまローカル変数に hiscore という変数があると、 var(l$) = val(r$) は、ローカル変数 hiscore への代入になってしまい、本来設定されるべきグローバル変数 hiscore は変化しないということになります。 vfvar() で使うローカル変数は vfv___ だけなので、ユーザが保存したい変数に vfv___ というものがなければ、このような衝突は回避できます。 0そうだね プレイ済み2017/11/03 02:11:40に取得
プチコン3号 SmileBASIC コミュニティ返信[27]親投稿MIKI ifconfig2016/11/11 1:17こういちさん vfiler 読んでるんですね? vfvar() は、コメントにある通り、本来グローバル変数を参照しなければならないのに、誤ってローカル変数を参照してしまうのを避けるためのものです。 保存したファイルに hiscore=300 と書いてあった場合、vfilerは = の前後を読み取り l$="hiscore", r$="300" みたいにします。 この状態で var(l$) = val(r$) という命令を実行すると、 hiscore=300 を実行したのと同じ結果が得られます。 0そうだね プレイ済み2017/11/03 02:11:40に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿MIKI ifconfig2016/11/11 0:47例えば 400x240 の絵を非圧縮bmp(約192kバイト)でQR化したら何枚になりますか?? あと、PC側で拡大表示することにしちゃえば、もっと解像度を細かくする(一枚あたりの情報量を上げる)ことはできたりしますか???1そうだね プレイ済み2017/11/03 01:41:23に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿MIKI ifconfig2016/11/10 23:40mkII からの移植ですかね?? 複数枚QRもできるのかな?? プチコンで描いた絵を劣化なしで PC に送れたらいいなあと思い、例のモノクロ画像による転送を作ってるとこですが、デコーダどうしようと悩んでました。QR だったらデコーダ作らなくても済みますね~~~ 0そうだね プレイ済み2017/11/03 01:41:23に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿MIKI ifconfig2016/11/9 22:27私はその「動いた!!」という達成感のためだけにプログラム書いています。 やりたいことをやるのが一番!!0そうだね プレイ済み2017/11/03 01:41:56に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿MIKI ifconfig2016/11/9 22:25問題ありません!! まあいわゆる車輪の再発明ってやつだけど、既存の命令や関数を自作してみるというのは凄く勉強になりますよ!! 7そうだね プレイ済み2017/11/03 01:41:50に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿MIKI ifconfig2016/11/6 22:25金色という色コードは存在しません。 銀色はあらゆる色を等しく反射し、 金色は青以外をよく反射します(だから青の補色の黄色が見える)。 (薄い金を透かして見ると青く見えますよ) いずれにせよ、金属の反射がなければ金色とは認識できず、ただの黄色に見えてしまいます。 他のものが映りこむ事によって金属の光沢が表現でき、そのときに青い光が減少することにより、金色の光沢に見えます。 4そうだね プレイ済み2017/11/03 01:43:33に取得
プチコン3号 SmileBASIC コミュニティ返信[19]親投稿MIKI ifconfig2016/11/6 2:05ドット絵じゃね? 1そうだね プレイ済み2017/11/03 17:43:32に取得