あれ?これココにあったのに、おかしい、たしかにココにあるはずなのに...
もし、あなたの周りの物があやふやすぎるとおもったらそこは架空の世界かもしれない。
だれかが優位にたとうとして未来予測をしようとした世界にちょっと迷い込んだのかも。
何かしらについてわかった気になって、それを書いたりすると
フラグのようなものがたって、反作用のようにそうでない事に気がついたりする。
物事を考える時に表から考えるのと裏から考えるのでは違うからなのかもしれない。
そんなフラグを立てるべく実装力ついたんじゃないかと書いてみたりする。
もう2年前の年末、wondev woman用のボットプログラムを書いていた。(wonderではなくwondev)
Bronzeリーグのかけだしの位置にいる。
今見ると、かなり粗がみえる。プログラムを読むまえにパット見で…まっさらから作り直す。
これを実装すれば強くなるというのがわかってきているようで、無駄な実装をすることも少なくなっている。
なんとなく良い実装を3個ぐらいできれば一つ上のリーグにあがれる感じ。
Silverのボスはかなり手強く、なかなか勝たしてはくれない。
だんだんあやふやな未来の実装に着手する。
すると地形改変などでちょっとしたバグがあったりするのだけど、未来のレアパターンなのでなかなか気がつかない。
以前別のプログラムでもGoldに上がる際に実際最後の決めては未来実装の正確さだったことがあったので
同じように見直してみるとなかなか取れないというかサッパリわからない謎のバグに遭遇した。
最終的にはゲームシステムのバグではないかと思ったのだけど、実は英語の説明に書いてあった。
「相手が見えないときはx,yに-1,-1が送られます」といった内容。
ということなので見えない時は考えないとしてみるとGoldリーグに到達。
ここから先は言語の速度の壁がありそうなので、いったん終了。
https://www.codingame.com/replay/380321451
今度はgame of dronesをやってみる。
見てびっくりしたのが思考ルーチンがまるで見えず。これでSilverリーグにいるのが不思議な状態。
よく見ると最初にランダムにドローンを配置しているだけ。
https://www.codingame.com/replay/380531203
少し見直してSilverの2位まで来たのだけどボスに勝てそうな気がしない。
そこでトップクラスの対戦をみて驚く。何をしているのかまったくわからなかった。
陣取りゲームのはずなのに中空の制圧戦をしている。(相手のドローンを破壊とかはできないのに)
https://www.codingame.com/replay/369505547
ここで半日悩んでいて、これは決定させないサッカーのプレッシャーみたいなことを実装させないといけないらしい。
場合分けが難しそう。タプルと配列の力だけでは実装が複雑になってきたので一度全部クラスから作り直す。
その先は未だにしっくりした実装が思いつかない。