チルノフの活動日誌なんばーわん

【挨拶】

ジューシーからあげナンバーワーン♪
てことでどーも中三のチルノフです。
移転前のサイトでは一瞬書いてたこともあったんですけどねー。このサイトではおはつです
ではー、どんどんいきましょうか!


【今日の活動】

今日の活動内容としては・・・

・EnemyBaseを何とかしてvectorで管理できないか、という遊び
・サンプルプログラムを組んでみたり

です!
まず、上の項ですが、EnemyBaseという大先輩憂煉さん作のベースがありましてー、それを何とか改良的なことを出来ないかと模索中なんですね。
ここら辺は分かる人でいいんですけど、クラスEnemyBaseのメンバとして
static EnemyBase* pEnemyList[MAX_ENEMY];
(#define MAX_ENEMY 4096)
というので全体的に敵のクラスの管理がなされているわけですがー、これをvectorで何とか管理できないか、というわけです。
vectorというのはまあ、なんでしょう、便利な動的配列でして、色々便利なんですね。
std::vector pEnemyList;
てなかんじなのかなーとか思うんですが、、、思索中です
動的なオブジェクトは普通のポインタだとブツブツブツブツ・・・
とまあ頑張ってます

んで二つ目ですが、今日は再帰アルゴリズムというものについてやりました
アルゴリズムってーのはプログラムの処理のタイプ、処理の仕方、みたいなもの(少なくとも自分はそう思ってる)なのですが
再帰的」アルゴリズムとは
int factorial(int n)
{
if(n > 0)return(n * factorial(n - 1));

else return(1);
}
こんなプログラムなんですね。注目すべきはfactorial関数の中で自分、factorial関数が呼び出されているところ。
if(n > 0)のあとの部分で
factorial(n - 1)
となってまたfactorial関数が呼び出され、また次はnが0より大きければまたfactorial(n - 1)が呼び出される
(このn - 1はさっきのn - 1の-1なので元をたどれば-2されてる)。
これでどんどんループし、nが0になったら1になる、という感じです
これは何を求めているかと言うと、階乗ってやつですね。n !で表すアレ。確率とかの話でやるアレです。
だからnが5だったら5*4*3*2*1となってくわけです。
と言うように、とても複雑なアルゴリズムなのですが、場合によっては効率よく関数を作れるので覚えておいてもいいでしょう

【終わりに】

本とかだともっとわかりやすい説明なのですが・・・なかなか難しい(´・ω・`)
初回ということでしたが、これから細々と書いてこうと思うので、チラ見でもしていただければ泣いて喜びます!
では!