All Category

Chapter.02 メソッドを継ぐ

2017-10-02



クラスの継承

前回はクラスとインスタンスの話をした。覚えているかな? クラスがメソッドという振る舞いの情報を持ち、インスタンスが状態の情報を持つというのが要点だ。

今回の話題は「継承」について。オブジェクト指向プログラミングでは非常に重要な概念となる。何故なら継承がコードの再利用をしやすくするからだ。

では、継承とは一体なんなのか。よく言われる説明では既存のクラスを元にして構造や振る舞いを共有した別のクラスを作るということだ。

ここでは、ちょっと違う表現もしてみよう。継承とは、あるクラスが持つ振る舞いの情報を別のクラスから参照することだとも言える。
(ややこしくなるから詳しい話は...

Chapter.01 Hello, ruby.

2017-10-02



クラスとインスタンス

最初に取り上げる話題は、そうクラスだ。一体こいつらは何なんだ?よく用いられるのが、クラスは設計図でありインスタンスは設計図を元に作られた実体だという説明だ。聞いたことがあるだろう。

実のところ、言語によってクラスの定義は様々だ。名著「コーディングを支える技術」によればクラスという言葉が使われ始めた初期においてはその単語の通り「分類(classes)」のことだった。しかしAlan KayによりSmalltalkやオブジェクト指向が生み出されて以降はクラスと言えば一般には以下のような役割を持つものだ。


変数とメソッドのまとまりを作る
実行可能な処理を定義する
コ...

麻雀から学ぶもの

2017-02-12



 アナログゲーマーのみんな、スパ帝の『ゲーム2.0』はもう読んだかな? 自分は先ほど読み終えた。これはスパ帝国の中で最も読む価値を持つ本かもしれない。

 さて、ゲーム2.0はゲームが未来のキャリアだとする言説だ。人間はゲームを通じて将来必要となるスキルを訓練し、そのスキルを鍛えるゲームを楽しいと感じるという。そして必要としているキャリア・技能からプレイヤーは7つの民族に分類される。(http://spa-game.com/?p=3430)

 ゲーマーにとっては少々都合の良すぎる言説かもしれない。ゲーマーはゲームへ夢中になる正当な理由をいつも探している。今回はこの考え方を引用しつつ、自...

ソルヴァーズをAIで攻略しよう

2016-02-19



『ソルヴァーズ』はプレイしたかな? 1人用TRPGと称されるこのゲームはヒーロー会社を経営し様々な事件を解決していくアナログゲームだ。つまり、ソリティアである。PCゲームのXCOMを小さく削り出して「選択と結果のランダム性」に独自の考えを入れたゲーム、と言うのが自分の理解だ。ゲームバランスの良さも見所だが、その価値の30%くらいは軽妙な内部テキストにある。読もう。

 今回の記事はこいつを簡単なAIを書いて攻略しようという試みである。目指すのはワンマンアーミーによるクリアだ。ポンコツAIはソルヴァーズをクリア出来るだろうか? 出来るとしたらどの程度の確率で? 今のクラスタが注目しているの...