よろづのことに使いけり

雑多なことを書きます.ブログアイコン→Image by Schwoaze from Pixabay

オブジェクト指向ってこういうこと?

昨日の続きといえば続きです. c言語の話.

yorodu.hatenablog.com

 

プログラムをまねながら書いていて思ったのですが,ゲームに出てくるモノってみんな同じ形をしているんですよ.

 

f:id:lafaga:20200301224158j:plain

 

f:id:lafaga:20200301224416j:plain

 

この2つはボンバーマンのプログラムに出てくる爆弾とモンスターですが,座標とモノが持つべき要素を構造体で定義しています.

 

また,両方に対して機能的には同じである座標を取得する関数と指定した座標にモノを置く関数が書かれています.

 

このようなことは普段からゲームを制作されている方には至極当然のことだろうと思いますが,私にとってはこのようにして誰が見ても分かる一覧性が高いプログラムであるなと感じました.

 

タイトルにも書きましたが,各々のモノについての要素と座標を与えたり,判定をする等の関数のセット.しかもそのセットは他のモノに干渉されない.これがオブジェクト指向ということでしょうか.

 

c言語では構造体とその関数,マクロを一纏めに括ることはできませんが(だからオブジェクト指向ではない),c++とかになるとclassというので一つにすることができ,このようにモノつまりオブジェクト単体での振る舞いを考えてプログラムを設計していると今の所は理解しています.(ほんとか?)

 

オブジェクト指向の理解のためになる本,サイトがあれば教えていただきたいです.