Archiverse Internet Archive
投稿のみ 投稿と返信
前のページ(最近)
1103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123214
次のページ(過去)
返信[18]
親投稿
MIKI ifconfig
プチコン自体が処理落ちする例 t0=maincnt m0=millisec ? "0"*4e5 ? maincnt-t0 '4 と表示 ? millisec-m0 '10742 と表示 これを実行すると実際に10秒かかりますが、プチコンのメインスレッドは 4 回しか回ってません。 本来は 10*60 = 600 回ほど回るはず。
1そうだね
プレイ済み
返信[15]
親投稿
MIKI ifconfig
画面ピカピカはだめピカ!
1そうだね
プレイ済み
返信[4]
親投稿
MIKI ifconfig
配列は def 内で代入すればそのまま呼び出し元の配列にも代入されるのよね(参照渡しという)。この場合だったら def rndn n[] var i for i = 0 to len(n) - 1 n[i] = rndf() next sort n end var n[10] rndn n あと、push とか文字列の連結 (s$=s$+t$) は、長さの 2 乗で時間かかるからあまりおすすめしません。
0そうだね
プレイ済み
返信[2]
親投稿
MIKI ifconfig
そか、自分自身との内積 = 絶対値^2 か
0そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
座標を x, y として dx = x - 160 dy = y - 120 r = sqr(dx * dx + dy * dy) if r > 100 then ? "out" ですな。 最後の二行は r2 = dx * dx + dy * dy if r2 > 100000 then "out" でもいいよ(こっちのが速い)
0そうだね
プレイ済み
返信[2]
親投稿
MIKI ifconfig
有名なのは deadbeaf どんだけ牛肉好きなんだよ
1そうだね
プレイ済み
返信[15]
親投稿
MIKI ifconfig
あらら 「直線の方程式から直接座標を求める」 のうち間違いでした。
1そうだね
プレイ済み
返信[14]
親投稿
MIKI ifconfig
gline2 は加算するアルゴリズムではない(直線の方程式から直線求める)ので誤差の心配は不要です。 処理速度については draw 系だと gline の処理速度が効いてくるけど paint 系だから操作する上での遅延が無ければ問題ないでしょう。 wikipedia の最適化の項はいきなり整数で処理するアルゴリズムになってて、ギャップが大きいですね。 基本的には「被除数を除数で割ったら Q あまり R になる」という除算を、 「非除数をから除数を引き続けると、引けなくなる(負になる)のが Q 回ある」という計算に置き換えています。 (引けなくなったら y 座標を一増やし、余り(error)を deltax 増やすみたいな) error の初期値を deltax / 2 としてるのが座標を 0.5 オフセットするのに相当します。 これを 0 とするとプチコンみたいな gline になります。
2そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
おお!?!? これは素晴らしい!!
0そうだね
プレイ済み
返信[3]
親投稿
MIKI ifconfig
そうですね。 スマブさんの審査もあるので、許可がある場合は分かりやすく書いておくのが推奨じゃなかったでしたっけ?? (ソース失念)
3そうだね
プレイ済み
返信[3]
親投稿
MIKI ifconfig
・上下の幅は音の大きさ ・なみなみの山の数が音の高さ を表します。
3そうだね
プレイ済み
返信[10]
親投稿
MIKI ifconfig
そうじゃなくて、単純に vsync 周期 != 1/60s って話。 それより millisec って整数型かな??? 一周して負になる?? だと上のコードの t t0 は t% t0% にしないとダメ。 (いわゆる 49 日問題。このコードの場合 24.9 日で発症する)
0そうだね
プレイ済み
返信[10]
親投稿
MIKI ifconfig
コードはこんな感じです。 純正 GLINE はピクセルの左上がピクセルを代表する座標になります(たぶん) それをピクセルの中心座標に移すことで、対称性のいい綺麗な線が引けるようになります。
1そうだね
プレイ済み
返信[9]
親投稿
MIKI ifconfig
GLINE がアレなので手を入れてみました。 三角形も綺麗になるはず。 なんか既視感あるヨ・・・ TH_GED2 KEY=534KX34F
1そうだね
プレイ済み
返信[3]
親投稿
MIKI ifconfig
動的に要素数を変えられるのは一次元配列だけの特権。 二次元以上で使いたいなら var xsize=4, ysize=2, yx[ysize * xsize] 'var yx[ysize, xsize] に相当 という感じで一次元配列を二次元に読み替えて使うのが常套手段です。 a = yx[y * xsize + x] 'a = yx[y, x] に相当 yx[y * xsize + x] = a 'yx[y, x] = a に相当 ysize を増やす/減らすには yx に (ysize増分)*xsize 個の要素を追加/削除すればよい。 (xsize を増減するのはちょっと手間)
2そうだね
プレイ済み
返信[7]
親投稿
MIKI ifconfig
簡単にしたいなら、 locate_and_print x,y,文字列 という命令があれば便利ですよね。だからプログラム先頭にこう書いとく。 def locate_and_print x,y,msg locate x, y: print msg end ところがこれだと名前が長すぎて全く便利な気がしないので def mvp x,y,msg locate x,y: pritn msg end これで locate 4,4: print "るるどん2000" は mvp 4,4, "るるどん2000" と書けてらくちん。
0そうだね
プレイ済み
返信[8]
親投稿
MIKI ifconfig
あ、ゴメン↑これじゃ意味なかった var x = 0 var t0 = millisec while 1 vsync var t = millisec if t - t0 >= 1000 then t0 = t0 + 1000 'ここがポイント x = x + 1 ? x endif wend
4そうだね
プレイ済み
返信[7]
親投稿
MIKI ifconfig
vsync はぴったり 1/60秒じゃないってこともあり、せっかくなので millisec 使って var x = 0 var t0 = millisec while 1 vsync var t = millisec if t - t0 >= 1000 then t0 = t x = x + 1 ? x endif wend
3そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
国に対しては法をクリアしてれば問題なし その上で、 (a) 公開するにはスマブの利用規約守ってれば問題なし (b) ミバに投稿するならミバの利用規約守ってれば問題なし これは最低限の条件なので、実際はモラル的なことも考慮すべきです。
7そうだね
プレイ済み
返信[1]
親投稿
MIKI ifconfig
かっこいいジャンケンですね!!
0そうだね
プレイ済み