文字列型の式ならいいみたいですね。
var s$[1]: s$[0]="abc": ? s$[0][0]
? left$("abc",2)[0]
def f(s) return s: end
? f("abc")[0]
0そうだね プレイ済み
あれ?? ダウンロードできない・・・
キー間違ってませんか???
0そうだね プレイ済み
はわわ~
亜種調べてみますね
情報ありがとうございます。
オリキャラもかわいい!!
これも色付くのかな???
0そうだね プレイ済み
ピクロスソルバープチコンに移植しました。
が・・・遅い!!
想像を絶する遅さです。
ポケモンピクロスの 10x10が 300秒
15x15 は 6 時間たっても終わらない
バグって解が見つからないにしても、終わるのは終わるはず・・・
PCのC版が 15x15を0.5sで解くとしても
(3時間かかるのはポケモンピクロスの問題ではありません)
6時間なら4万倍の遅さ!? クロック比で 10倍、インタープリタで 4000 倍??
それはいくらなんでも遅すぎだろう・・・
0そうだね プレイ済み
ま、まずはラインエディタからでいい??
ken の ed(1) みたいなやつ・・・
2そうだね プレイ済み
リントくん、レンカちゃん知りませんでした・・・
なんという天国(と書いてヘヴンと読む)・・・
ありがとうございます!!!
0そうだね プレイ済み
>読みやすさの部分は既に慣れで克服している
>そもそもバグが出にくい設計や手法を使う
まあそんな感じでになります。自分なりに動作保証された常套句を作り上げることです。こうしたいときはこの書き方(HOW TO 集)みたいな。そういうのを愚直に使えばバグは出にく、自分にとって読みやすくもなります。
奇をてらったり clever なやり方を多用すると、後々大変になります。稲妻のような理解力があればそれでいいのかもですが、私は凡人なので。
数学て公式暗記するだけではダメで、たくさん練習問題を解いて腕力を鍛えないと実力は付きません。
プログラミングも同様に腕力に基づく実力がモノを言います。
皆さん趣味でプチコンいじってるのでしょうから、別に実力などつける必要はなどないのだけれど、今回はそういう方向の回答を求めてるとのことなので。
凄いコードを読むのも参考になりますけどね
ビットカウントぐぐって
3そうだね プレイ済み
れいさん
>引数が膨大になる。防ぐにはグローバル変数を使うか配列を構造体風に使うか
そこが悩みどころ。まあグローバル変数に日和ることが多いかな。
後者は可読性が著しく犠牲になるので・・・
>どちらもDEFの利点がなくなる
減少するが、なくなるわけではありませんね。e.g.ローカル変数。
>ライブラリも、変数名・関数名のコリジョン確認するの面倒
そこで必要になるのが記憶力です。
私など、先週書いたのと同じ関数をまた書いて、たまたま関数名が同じだったのでコンパイルエラーとかしょっちゅうです。
VBS だとエラー出ずに置換されるから恐ろしい
3そうだね プレイ済み
スーさん
> 処理を追うときに、飛んで戻って、って繰り返すのが結構手間
これタグジャンプっていう機能なんですが、
ほんとこれさえあれば何万行×何千のソースファイルでも(よく書けている場合は)怖くないのだけれど・・・
事あるごとに要望として出してるんだけど実装されない。
3そうだね プレイ済み
けんしろウッさんお手数をおかけしました。
たばすこさんのコメントに共感入れとけばよかったですね。
julia() に与える c は、3DSの下画面にマンデルブロ集合をプロットしといて、タッチした点の複素数を与えるってのがわかりやすいと思います。
その場合ジュリア集合は、タッチした場所を彷彿とさせるような模様になるのよ。(「マンデルブロ集合がジュリア集合のカタログだ」ってのはそういう意味なのでした)
2そうだね プレイ済み
何この謎展開!?
プチモちゃんかわいい!!
ナルトは波なのか~~
そう聞くと、高校物理で習ったド・ブロイ波に見えるなあ。
ボーアの水素原子モデルを解くと、水素原子の電子は、
半径 = 5.292*10^-11[m] あたりを
速度 = 2189[km/s] くらいの速度で回ってる
という計算になるのね。この場合はナルトのでっぱりは一つだけど。
この速度は光速の 1/137 程度。結構速い。
0そうだね プレイ済み
アルゴリズムは、そこに書いてあるコードを読めばわかるけど、
変数が何を表すのかはコードだけからは読み取りにくいです。
ので、変数の説明があるとメンテしやすくなります。
グローバル変数を使わない def であれば、標準の関数・命令と同様、どこに持っていっても正しく動くことを保証できる。
(そういう def しか使わない def も同様)
たくさんたくさんたくさんプログラムを書いて、似たような def をいろいろ書いていると、だんだんとそれらが洗練されてきます。
そういうのを自分のライブラリとして引き出しに入れとくとなにかと便利。
ただし、記憶力がないといつまでたっても洗練されません。
他人の def など読む必要は特になくて、自分で使いやすい def を書いていけばいいのです。
2そうだね プレイ済み
たばすこさん
ジュリア集合もマンデルブロ集合も
z(k+1) = z(k)^2 + c
で計算するのですが、
・マンデルブロ
z(0) = 0
c = 画素に対応した複素数 {-2-2i から 2+2i の範囲 }
実装例: n = mandel(c_re, c_im)
・ジュリア
z(0) = 画素に対応した複素数
c = 絶対値 < 2 となる複素数(cがマンデルブロ集合内であれば、ジュリア集合は連続、そうでなければ不連続になる)
実装例: n = julia(z0_re, z0_im, c_re, c_im)
という感じになります。
マンデルブロ集合を描画して、その一点を指定して、その点を c として、z0={-2-2i から 2+2i の範囲}について juila(z0_re, z0_im, c_re, c_im) をプロットすればいいです
2そうだね プレイ済み
改版お疲れ様です!!
あとで試してみます!!
みんなダウンロードしてるんだろうけど、反応薄いな・・・
シャイなのか!?
0そうだね プレイ済み
> 全セル計算してから表示
先に書いたように、現世代と次世代を分離すれば、
全セル計算終わった時点で次世代配列は完成しているので、
それを一気に表示すればいいのです。
スーさんのライフゲームもたぶん現世代と次世代を分けていると思います(ソース見てませんすみません)
2そうだね プレイ済み
同じ種が重ならないのであれば、ビットごとに種を割り当てる方法があるのだけれど、同じ種が重なるのかあ・・・
であれば現状の、種ごとに配列持つ実装方法がいいでしょうね。
>植物や死骸の上を動物さんが走ったり、寝転んだりするのでちょっと困っています。
ソースよく読んでないので見当違いだったらごめんね。
こういうシミュレーションでは「現世代」の配列と「次世代」の配列を分けるのが常套手段です。
現世代の配置を元に計算するのですが、死亡や移動などの結果は次世代配列にセットします。
全セルの計算が終わったら、次世代配列を現世代配列に copy します。
(配列の代入の方が速いのですが、「参照」の概念が出てくるので、まずは copy オススメ)
1そうだね プレイ済み