続・プロのコード

L'eclat des jours(2004-04-15)

自分がジャンケンプログラム書くとしたらどうするか考えてみた。
(ダメだし・意見・アドバイス・感想・賛美・賞賛・批判・否定・軽蔑・侮辱・なんでも歓迎)

インタフェース

  • Te getStatus()
  • Player createTe()
  • Judgement judge()
  • 追記 Field fight()

実装

  • Gu/Choki/Par (implement Te)
  • User/Computer (implement Player)
  • TwoPlayerJudgement/MenyPlayerJudgement (implement Judgement)
  • 追記 JankenField (implement Field)

こんな感じにするかなあ*1

結果のほう(Result)をクラスにすることは思いつかなそう、オブ脳になってないんだろうな。。。プロジェクトで時間とって、こういうのを考える勉強会でも開きたいもんだなあ。

追記 なんとなくRobocode見てたらFieldもあったほうが便利かな。妄想空想たのしひ。

*1:なんかジャンケンプログラム、他にどこかで見たことがある気がしたのでいろいろ見てみたら、結城さんのデザパタ本のStrategyの説明のところででてました。ここでは「次の一手」を考えるアルゴリズムをStrategyで切り替える、ってことをやってました。

Robocode

ジャンケンプログラム考えてたら*1、久しぶりに動かしたくなってきました。PC新しくしてから入れてないから入れようかな。自分でつくったRoboは激弱だったな、そういや。

Robocode未体験の方は一度触ってみることをお勧めしたり。ちょっと面白いです。優勝者のコードとか落として動かすとヤバイ(すごい)動きをしたりするのも見ごたえがあります。

*1:Teとかplayerとか考えてたら。robotのwheelとかgunとかを思い出しまして。

今日も後輩とペアプロ

よくわからないプログラムがあったら、コードは全く見ずに人に聞くべきです。
プログラムが多そうな雰囲気だったら、順を追ってソースを見るのでなく雰囲気で適当にあたりをつけるべきです。
それっぽい変数名、メソッド名があったら、とりあえずそれを使ってみて、結果が問題なさそうならOKです。

・・・俺、こんなこと教えてないと思う。(/_;)

ふざけられら!!!!もちょと調べれ!!

CodeRally

id:swatさんのコメントで知る。うあ。去年の10月ごろか。巡回してるはずの日記等にいろいろ情報あるみたい。いまさら、って感じっぽいけど動かしてみた。

うう、画面がでかい。これじゃあ業務中やるのは限りなく辛い*1。とりあえずリンクだけメモっておこう。
CodeRallyまにゅある

*1:業務中やるな、って感じですね。