ポケモンのゲームを作っていて、少しわからないところがあるのでまた質問させていただきに来ました。
構造体の中に、自作の関数って組み込むことはできるのでしょうか?
今ポケモンの技のリストを作っています。
ゲームをやったことがある方はご存知かと思いますが、技の中には何%の確率でステータス以上を
起こす技があります。
たとえば、
技名 :かみなり 属性 :でんき タイプ:とくしゅ 効果 :まひ 確率 :30%があったとして、この”30%の確率でまひを起こす”
というのが、どのようにすればいいのか分からないのです。
ダメもとでこのようなコードを書きました。
int effect(int status, int probability)
{
========================================
各種ステータス以上を引き起こす判定。
========================================
}
typedef struct{
int number; //識別番号
char name[32]; //技の名前
int kind; //技の種類(物理/特殊)
int power; //技の威力
int type; //技のタイプ
int effect(int status, int probability); //この技の持つステータス異常を引き起こす判定関数
}poke_skill;
バトルプログラムで技を使用した時に、effect関数を呼び出して判定する、
という感じにしたかったのですが、当然のことながらエラーが出るので
この考え方はできないようなのです。
もう1つアイデアがあるのですが、先攻後攻を決める際に少し問題が出てしまうので、
実現することが少し厳しくなりそうです。
どのように実装すればいいのでしょうか?
あまり良いアイデアというかアルゴリズムが思い浮かばないので、皆さんのお力を貸してください。