見出し画像

C++でキャラクター図鑑を作りたい.02


前書き

こんにちは、みかんです。
前回に引き続きキャラクター図鑑プログラムを書いていきたいと思います。

キャラクターの情報をまとめる

前回は図鑑を構成する要素を構造体に書き出していきました。
ここでは構造体に入れるためのキャラクターの情報をまとめましょう。
※CharacterInfo.h

#include "DxLib.h"

//キャラクターの名前数
enum CHARA_NAME {
	フシギヨネ,
	フシギカモ,

	CHARACTER_NUM,
};


//タイプ=====================================================
//タイプ数
enum Type {
	なし,

	くさ,
	どく,

	TYPE_NUM,
};

//タイプの名称
const char TypeName[TYPE_NUM][16] = {
	"",

	"くさ",
	"どく",
};
//===========================================================

//特性=======================================================
//特性数
enum TRAITS {
	だいに,

	しんりょく,
	ようりょくそ,

	TRAITS_NUM,
};

//特性の名称
const char TraitsName[TRAITS_NUM][16] = {
	"",

	"しんりょく",
	"ようりょくそ",
};
//===========================================================

//道具=======================================================
//道具の数
enum TOOL {
	もっていない,

	せいめいのたま,

	TOOL_NUM,
};

//道具の名称
const char ToolName[TOOL_NUM][16] = {
	"",

	"せいめいのたま",
};

//道具の効果
const float ToolEffect[TOOL_NUM] = {
	1.0f,

	1.3f,
};
//===========================================================

//性格=======================================================
//性格の数
enum PERSONAL {
	まじめ,

	おくびょう,

	PERSONAL_NUM,
};

//性格の名称
const char PersonalName[PERSONAL_NUM][12] = {
	"まじめ",
	"おくびょう",
};

//===========================================================

//技=========================================================
//技の数
enum SKILL_INFO {
	じこかいふく,
	どくどく,
	やどるたね,
	じこぼうえい,

	SKILL_NUM,
};

//技の名称
const char SkillName[SKILL_NUM][16] = {
	"じこかいふく",
	"どくどく",
	"やどるたね",
	"じこぼうえい",
};

//===========================================================

図鑑として表示するときに配列から情報を持ってきたいので
enumを使って番号に対応した情報を取得できるようにしています。
(これらの情報は変わらないのでconstを使っているのですが使いどころはあっているのでしょうか?)

キャラクターの要素に情報を入れていく

構造体に書き出した要素の中にキャラクターの情報を入れていきましょう
※Character.cpp

#include "Character.h"

CHARACTER chara[] = {//キャラクターは増える予定があるので添字なし
	//フシギヨネ
	{
	 001,						//番号
	 "フシギヨネ",				//名前
	 50,						//レベル
	 Type::くさ,Type::どく,		//タイプ

	 45,						//表示用HP

	 45,49,49,65,65,45,			//種族値

	 TRAITS::しんりょく,		//実際の特性

	 TRAITS::しんりょく,		//使用可能な特性
	 TRAITS::だいに,
	 TRAITS::ようりょくそ,

	 TOOL::せいめいのたま,		//持ち物

	 PERSONAL::おくびょう,		//性格

	 SKILL_INFO::じこかいふく,	//実際の技
	 SKILL_INFO::どくどく,
	 SKILL_INFO::やどるたね,
	 SKILL_INFO::じこぼうえい,

	 6.9f,						//重さ
	},
	//フシギカモ
	{
	 002,						//番号
	 "フシギカモ",				//名前
	 50,						//レベル
	 Type::くさ,Type::どく,		//タイプ

	 45,						//表示用HP

	 60,62,63,80,80,60,			//種族値

	 TRAITS::しんりょく,		//実際の特性

	 TRAITS::しんりょく,		//使用可能な特性
	 TRAITS::だいに,
	 TRAITS::ようりょくそ,

	 TOOL::せいめいのたま,		//持ち物

	 PERSONAL::おくびょう,		//性格

	 SKILL_INFO::じこかいふく,	//実際の技
	 SKILL_INFO::どくどく,
	 SKILL_INFO::やどるたね,
	 SKILL_INFO::じこぼうえい,

	 13.0f,						//重さ
	},
};

とりあえず二体情報を入れてみました。
基本的にはCharacterInfo.hに記述したenumから情報を取っています。
名前やキャラクターごとに代わる数値は直接入力しています。

後書き

今回は図鑑の要素に情報を入れていきました。後はおそらく情報を表示するだけ...ですかね?
お疲れさまでした!読んでいただきありがとうございました。

この記事が気に入ったらサポートをしてみませんか?