はじめに
伝統的な手法では配列が主役を演じ、その値は脇役として扱われてきました。主客逆転させて脇役にスポットを当てると、オブジェクト指向の世界が開けてきます。その効用は、冗長な条件判定の排除による例外の発生防止だけではありません。コードの見通しを良くすることは、バグを発見するための強力な処方箋となります。
今回は、先に紹介したパズルゲームを参考にしながら、新たにライフゲームの作成を行います。担当は第4回に引き続き伊藤です。前回の復習を兼ねて、初心に還って解説しますのでよろしくお願いします。
対象読者
こんな症状を抱えているなら……。
- 配列を扱うたび、例外 ArrayIndexOutOfBoundsException に悩まされる
ライフゲームは万能マシン
ライフゲームは、英国の数学者 John Horton Conway(1937-)が1970年に創案したとされています。ライフゲームは、万能チューリングマシンであり、マス目が無限に広がるなら、無制限の記憶容量を持つ仮想マシンに匹敵する性能が期待できます。
話し相手もいない孤独な環境では、寂しさに耐えられず生きていけません。逆に、いつも誰かに囲まれている環境では、窮屈さに耐えられず生きていけません。そんな付かず離れずの程よい加減の環境が生物の生存には欠かせないことを、このライフゲームは物語っているかのようです。