這次先準備實現人物的屬性系統;
先在Value.h的頭文件中加入了人物的幾個屬性。
在頭文件中加入可以方便全局調用。
Value.h:
#pragma once
#ifndef __VALUE_H_
#define __VALUE_H_
#include<stdio.h>
#define MAXeqfullnum 2000//最大裝備數量
typedef struct characterValue {
float kdamage = 0;//傷害係數
float kdefense = 0;//防禦係數
float kfinaldamage = 0;//係數
float damage = 0;//傷害
float defense = 0;//防禦
int jump = 0;//跳躍力
};
#endif
Value.cpp:
#include"value.h"
characterValue cv;
此時創建了名爲cv的人物屬性結構體。
main.cpp:
#include<stdio.h>
#include"value.h"
#define MAXEQNUM 5///////////////////////////最大可裝備數量,裝備槽數
extern struct characterValue cv;
typedef struct equipment {
int part = 0;
float kdamage = 0;
float kdefense = 0;
float kfinaldamage = 0;//係數
float damage = 0;
float defense = 0;
float durability = 0;//耐久
char name[30];//裝備名稱
int code;//裝備編號
}eq;
eq eq1[MAXEQNUM];
void getCharacterAttribute() {
int i;
for (i = 0;i< MAXEQNUM;i++) {
cv.damage += eq1[i].damage;
cv.defense += eq1[i].defense;
cv.kdamage += eq1[i].kdamage;
cv.kdefense += eq1[i].kdefense;
cv.kfinaldamage += eq1[i].kfinaldamage;
eqat[eq1[i].code-101001](1);//裝備的其他附加屬性,是一個函數指針數組
}
}/////////////////////////////////////////////角色屬性
main中定義了裝備的結構體,包含了裝備屬性的各種信息;
getCharacterAttribute()可以獲得當前角色5個部位的裝備內的屬性加成;
並加成到角色屬性上。