近況。
昨年末のブラカルの終了報告に伴い、あちらは放棄。
今は、ガンマスをメインに遊んでいる状態。
で、某掲示板で、エクセル使ってデータ管理やら、シミュレーションしている話を聞き、
あぁ、なるほどねーと思った。
で、機体選択は、コストやら、コスパやら考えてやるが、
さて、それぞれに誰を乗せるのが最適化?というのが試行錯誤になる。
ま、適当に当たりをつけて乗せていけばいい気もするが、
こいつがプログラム的に自動計算してくれると楽なのかな?と。
で、エクセルでやることを考えてみた。
いやね、あまりスマートなプログラミングを考えられないモンで。
機体を選んで、パイロットを選んで。後は総当り?的なことしか思いつかない。
強いパイロットを優先的に配置していけば、それで解が出そうな気もするけども、
近中遠で強さが色々複雑化してくると、難しそうだな、と。
総当りで調べた方がいいんじゃないかな、と。
実際問題、自分のデッキが、基本遠デッキなんだけど、
近や中の優秀機体も混じらせてるもんで、
優秀なパイロットを、どっちに乗せたもんか、悩むのよね。
シャアとか、中76を活かした方がいいのか、
中は71のグラハムに任せて、遠74を活かした方がいいのか、とか。
で、総当りを考えると、
順列の9P9だから、9!で、36万通り。
表計算でやるにはセルが足らなかったり、場合分けのセル配置が綺麗に行かないと、わけわかんなくなりそうやな、と。
で、プログラムで、ループさせた方がいいかな、と思った。
ExcelでもVBScriptとか組めば出来るんかもしれんけど、まだようわかってないし。
いいのが出来たら、配布するのも面白いかな、と考えたら、汎用性のあるものを使うのがいいか、と。
で、JavaScripにしてみた。
で、あれこれ、何日かかけてプログラミング中。
大分形にはなってきたけどね。
パイロットがきちんと9人いれば、36万通りでいけそうにも思ったが、
プログラム組んでいくうちに、9^9で、9の9乗になってしまった。3.8億通り。アホやね。
試しに動かしてみたら、激重。
しばらくブラウザがフリーズしたw
で、考えてみたら、9人のうち、1人か2人は、絶対にこれに乗せた方が強いはず、というのがいるだろうと。
じゃ、そいつの計算を省けば、9^7~8になって、480万~4300万通りに減る。
実際に、9人パターンになると激重。7人ぐらいまでは、それほどではなかった。
じゃ、そういうことの選択できる機能追加がいるな、と。
それをやろうとしたら、また色々とおかしなところが見つかって、また修正作業の繰り返し。
なかなか上手くいきません。
今日詰まったのも、
おかしいな、と気づいたのは、Max値の判定をしているのだが、
計算の履歴を見ると、Maxでない値で上書きされている。
0<34のため、34代入
???→32代入
最終結果、32 あれ?34はどこいったwと。
で、計算履歴をもっと色々見ていくと、
関数のループ処理組んでるんだけど、Max値を管理している、グローバル変数の値がおかしいみたいなんだよね。
代入処理通ってないのに、値が変化してるようだな、と。
ま、この計算履歴を追っかけるのも、ループ処理してるから、下手なログ吐かすと、
量が膨大になって、分けわかんなくなったり、フリーズするし、で、ちょうどいいところを探るのにも一苦労。
んで、色々調べてみたら、どうやら、参照渡しになっていたためのようだ。
ま、これに気づくのに数時間w
なかなか上手くいきません。
現在も、機体とパイロットを関連付けて、そのパイロットは他の機体のパイロット候補として計算処理しないようにしようと、
上記のたくらみを実行しようとしているのだが、上手くいかぬ。
結果ログを見ると、
ABCDの機体に、1234のパイロットがいて、 D-4は固定、としているのだが、
A-1、B-2、C-4、D-4と、4が2回出てくるw
Cのパイロット候補に4がならないようにしたいのだが…
ま、この解析はまた日を改めますか。
今日はココで寝る~
昨年末のブラカルの終了報告に伴い、あちらは放棄。
今は、ガンマスをメインに遊んでいる状態。
で、某掲示板で、エクセル使ってデータ管理やら、シミュレーションしている話を聞き、
あぁ、なるほどねーと思った。
で、機体選択は、コストやら、コスパやら考えてやるが、
さて、それぞれに誰を乗せるのが最適化?というのが試行錯誤になる。
ま、適当に当たりをつけて乗せていけばいい気もするが、
こいつがプログラム的に自動計算してくれると楽なのかな?と。
で、エクセルでやることを考えてみた。
いやね、あまりスマートなプログラミングを考えられないモンで。
機体を選んで、パイロットを選んで。後は総当り?的なことしか思いつかない。
強いパイロットを優先的に配置していけば、それで解が出そうな気もするけども、
近中遠で強さが色々複雑化してくると、難しそうだな、と。
総当りで調べた方がいいんじゃないかな、と。
実際問題、自分のデッキが、基本遠デッキなんだけど、
近や中の優秀機体も混じらせてるもんで、
優秀なパイロットを、どっちに乗せたもんか、悩むのよね。
シャアとか、中76を活かした方がいいのか、
中は71のグラハムに任せて、遠74を活かした方がいいのか、とか。
で、総当りを考えると、
順列の9P9だから、9!で、36万通り。
表計算でやるにはセルが足らなかったり、場合分けのセル配置が綺麗に行かないと、わけわかんなくなりそうやな、と。
で、プログラムで、ループさせた方がいいかな、と思った。
ExcelでもVBScriptとか組めば出来るんかもしれんけど、まだようわかってないし。
いいのが出来たら、配布するのも面白いかな、と考えたら、汎用性のあるものを使うのがいいか、と。
で、JavaScripにしてみた。
で、あれこれ、何日かかけてプログラミング中。
大分形にはなってきたけどね。
パイロットがきちんと9人いれば、36万通りでいけそうにも思ったが、
プログラム組んでいくうちに、9^9で、9の9乗になってしまった。3.8億通り。アホやね。
試しに動かしてみたら、激重。
しばらくブラウザがフリーズしたw
で、考えてみたら、9人のうち、1人か2人は、絶対にこれに乗せた方が強いはず、というのがいるだろうと。
じゃ、そいつの計算を省けば、9^7~8になって、480万~4300万通りに減る。
実際に、9人パターンになると激重。7人ぐらいまでは、それほどではなかった。
じゃ、そういうことの選択できる機能追加がいるな、と。
それをやろうとしたら、また色々とおかしなところが見つかって、また修正作業の繰り返し。
なかなか上手くいきません。
今日詰まったのも、
おかしいな、と気づいたのは、Max値の判定をしているのだが、
計算の履歴を見ると、Maxでない値で上書きされている。
0<34のため、34代入
???→32代入
最終結果、32 あれ?34はどこいったwと。
で、計算履歴をもっと色々見ていくと、
関数のループ処理組んでるんだけど、Max値を管理している、グローバル変数の値がおかしいみたいなんだよね。
代入処理通ってないのに、値が変化してるようだな、と。
ま、この計算履歴を追っかけるのも、ループ処理してるから、下手なログ吐かすと、
量が膨大になって、分けわかんなくなったり、フリーズするし、で、ちょうどいいところを探るのにも一苦労。
んで、色々調べてみたら、どうやら、参照渡しになっていたためのようだ。
ま、これに気づくのに数時間w
なかなか上手くいきません。
現在も、機体とパイロットを関連付けて、そのパイロットは他の機体のパイロット候補として計算処理しないようにしようと、
上記のたくらみを実行しようとしているのだが、上手くいかぬ。
結果ログを見ると、
ABCDの機体に、1234のパイロットがいて、 D-4は固定、としているのだが、
A-1、B-2、C-4、D-4と、4が2回出てくるw
Cのパイロット候補に4がならないようにしたいのだが…
ま、この解析はまた日を改めますか。
今日はココで寝る~