--- /dev/null
+#ifndef __GS__FIGHTGL_H__\r
+#define __GS__FIGHTGL_H__\r
+\r
+#include <GameServ/GameLayer/GameObjects/PlayerGO.h>\r
+#include <GameServ/GameLayer/GameObjects/MonsterGO.h>\r
+using GameServ::GameLayer::GameObjects::PlayerGO;\r
+using GameServ::GameLayer::GameObjects::MonsterGO;\r
+\r
+#include <GameServ/DataLayer/IPlayerDAO.h>\r
+using GameServ::DataLayer::DataAccessObjects::IPlayerDAO;\r
+\r
+\r
+#include <boost/smart_ptr/shared_ptr.hpp>\r
+using boost::shared_ptr;\r
+\r
+#include <string>\r
+using std::string;\r
+\r
+namespace GameServ { namespace GameLayer {\r
+\r
+class FightGL\r
+{\r
+public:\r
+ FightGL();\r
+ ~FightGL();\r
+ \r
+ unsigned int PlayerAttackMonster(shared_ptr<PlayerGO> spPlayer, shared_ptr<MonsterGO> spMonster);\r
+ unsigned int MonsterAttackPlayer(shared_ptr<MonsterGO> spMonster, shared_ptr<PlayerGO> spPlayer);\r
+\r
+ unsigned int PlayerAttackPlayer(shared_ptr<PlayerGO> spPlayerAttacker, shared_ptr<PlayerGO> spPlayerDefender);\r
+ \r
+\r
+private:\r
+\r
+ unsigned int CalculateAttack(unsigned int strength, unsigned int defense);\r
+ void Initialize();\r
+ shared_ptr<IPlayerDAO> mspPlayerDAO;\r
+};\r
+\r
+}}\r
+\r
+#endif
\ No newline at end of file