]> jfr.im git - irc/gameservirc.git/blame - gameserv-2.0/testdriver/main.cpp
Moved all SSQLS macros into their corresponding .cpp files so including the header...
[irc/gameservirc.git] / gameserv-2.0 / testdriver / main.cpp
CommitLineData
f21affc9 1#include <iostream>\r
2using namespace std;\r
3#include <GameServ/GameLayer/GameObjects/PlayerGO.h>\r
4using GameServ::GameLayer::GameObjects::PlayerGO;\r
5#include <GameServ/GameLayer/PlayerGL.h>\r
6using GameServ::GameLayer::PlayerGL;\r
fd2ef47d 7#include <GameServ/GameLayer/ForestGL.h>\r
8using GameServ::GameLayer::ForestGL;\r
9920617b 9#include <GameServ/GameLayer/FightGL.h>\r
10using GameServ::GameLayer::FightGL;\r
f21affc9 11\r
1134c368 12#include <GameServ/GameLayer/GameObjects/ItemGO.h>\r
13using GameServ::GameLayer::GameObjects::ItemGO;\r
14#include <GameServ/GameLayer/GameObjects/WeaponGO.h>\r
15using GameServ::GameLayer::GameObjects::WeaponGO;\r
16#include <GameServ/GameLayer/GameObjects/ArmorGO.h>\r
17using GameServ::GameLayer::GameObjects::ArmorGO;\r
18#include <GameServ/GameLayer/GameObjects/PotionGO.h>\r
19using GameServ::GameLayer::GameObjects::PotionGO;\r
fd2ef47d 20#include <GameServ/GameLayer/GameObjects/MonsterGO.h>\r
21using GameServ::GameLayer::GameObjects::MonsterGO;\r
1134c368 22\r
23\r
77a55fd1 24#include <GameServ/GameServException.h>\r
25using GameServ::Exceptions::GameServException;\r
26\r
3d5a42ee 27#include <GameServ/Types.h>\r
28using GameServ::Types::Range;\r
1134c368 29using GameServ::Types::ItemTypes;\r
30using GameServ::Types::Modifiers;\r
31\r
998a0b4c 32#include <GameServ/GameLayer/Helpers/InventoryManager.h>\r
33using namespace GameServ::GameLayer::Helpers;\r
34\r
1134c368 35#include <boost/algorithm/string.hpp>\r
36#include <boost/format.hpp>\r
37using boost::str;\r
38using boost::format;\r
3d5a42ee 39\r
fd2ef47d 40#include <boost/smart_ptr/shared_ptr.hpp>\r
41using boost::shared_ptr;\r
42\r
24f452e8 43// just to test\r
656c03e5 44#include <GameServ/DataLayer/MySQL/MySQLPlayerDAO.h>\r
45using GameServ::DataLayer::MySQL::MySQLPlayerDAO;\r
24f452e8 46#include <GameServ/DataLayer/MySQL/MySQLItemDAO.h>\r
47using GameServ::DataLayer::MySQL::MySQLItemDAO;\r
48\r
fd2ef47d 49string ItemInfo(shared_ptr<ItemGO> spItem);\r
50string MonsterInfo(shared_ptr<MonsterGO> spMonster);\r
9920617b 51string PlayerInfo(shared_ptr<PlayerGO> spPlayer);\r
52void DisplayMonster(shared_ptr<MonsterGO> spMonster);\r
53void DisplayPlayer(shared_ptr<PlayerGO> spPlayer);\r
fd2ef47d 54\r
f21affc9 55int main()\r
56{\r
77a55fd1 57 try\r
58 {\r
24f452e8 59 //PlayerGL pgl;\r
60 //shared_ptr<PlayerGO> spPlayer = pgl.GetById("Kain");\r
61 //\r
62 //\r
63 //\r
64 //cout << "Name: " << spPlayer->Name() << endl\r
65 // << "Level: " << spPlayer->LevelNumber() << endl\r
66 // << "Exp: " << spPlayer->Experience() << endl\r
67 // << "Strength: " << spPlayer->Strength() << endl\r
68 // << "Defense: " << spPlayer->Defense() << endl\r
69 // << "Gold: " << spPlayer->Gold() << endl\r
70 // << "Bank: " << spPlayer->Bank() << endl\r
71 // << "Items: " << endl;\r
72\r
73\r
74\r
75 //shared_ptr<InventoryManager> spInventory = InventoryManager::Instance();\r
76 //ItemList inventory = spInventory->GetInventory(spPlayer);\r
77 //ItemList::const_iterator iter;\r
78 //for (iter = inventory.begin(); iter != inventory.end(); iter++)\r
79 //{\r
80 // shared_ptr<ItemGO> spItem = (*iter);\r
81 // cout << ItemInfo(spItem) << endl;\r
82 //}\r
83\r
84 //ForestGL forestGL;\r
85 //FightGL fightGL;\r
86 //string cmd = "";\r
87 ////while (cmd != "quit")\r
88 //for (int x = 0; x < 10000; x++)\r
89 //{\r
90 // spPlayer->Health(spPlayer->MaxHealth());\r
91 // spPlayer->Alive(true);\r
92 // //DisplayPlayer(spPlayer);\r
93 // //getline(cin, cmd);\r
94 // cmd="search";\r
95 // if (cmd == "search")\r
96 // {\r
97 // //cout << "Searching the forest..." << endl;\r
98 // shared_ptr<MonsterGO> spMonster = forestGL.GetRandomMonsterForPlayer(spPlayer);\r
99 // \r
100 // while (spPlayer->Alive() && spMonster->Alive())\r
101 // {\r
102 // //DisplayMonster(spMonster);\r
103 // //cout << "Hit Enter to attack: " << endl;\r
104 // //getline(cin, cmd);\r
105 // unsigned int attack = fightGL.PlayerAttackMonster(spPlayer, spMonster);\r
106 // //cout << "You hit " << spMonster->Name() << " for " << attack << endl;\r
107 // if (!spMonster->Alive())\r
108 // {\r
109 // //cout << "You have killed " << spMonster->Name() << endl;\r
110 // //cout << "He shouts: " << spMonster->DeathCry() << endl;\r
111 // }\r
112 // else\r
113 // {\r
114 // unsigned int mAttack = fightGL.MonsterAttackPlayer(spMonster, spPlayer);\r
115 // /*cout << spMonster->Name() << " hits you with their "\r
116 // << spMonster->WeaponName() << " for " << mAttack\r
117 // << endl;*/\r
118 // if (!spPlayer->Alive())\r
119 // {\r
120 // /*cout << spMonster->Name() << " has killed you!" << endl;*/\r
121 // }\r
122 // }\r
123 // }\r
124 // }\r
125 //}\r
126\r
1134c368 127\r
24f452e8 128 MySQLItemDAO test;\r
cdc7e562 129 shared_ptr<ItemGO> spItem = test.GetById("3");\r
130 spItem->Name("Testin' again!!");\r
131 test.Insert(spItem);\r
1134c368 132 \r
656c03e5 133 MySQLPlayerDAO playerTest;\r
1134c368 134 //map <int, int> frequencies;\r
135 //int x;\r
136 //for (x = 0; x < 10000; x++)\r
137 //{\r
138 // Range testrange(-100, 100);\r
139 // int randnum = testrange.Random();\r
140 // frequencies[randnum]++;\r
141 //}\r
142 //map<int, int>::const_iterator iter;\r
143 //for (iter = frequencies.begin(); iter != frequencies.end(); iter++)\r
144 //{\r
145 // cout << iter->first << ": ";\r
146 // cout << (iter->second / (double)(x + 1)) * 100 << '%' << endl;\r
147 //}\r
77a55fd1 148 }\r
149 catch (GameServException &e)\r
150 {\r
151 cout << e.VerboseError() << endl;\r
77a55fd1 152\r
90afb050 153 }\r
9920617b 154 cout << "Done. Hit enter to quit." << endl;\r
90afb050 155 string temp;\r
fadef98f 156 getline(cin, temp);\r
f21affc9 157 return 0;\r
158}\r
fd2ef47d 159\r
160string ItemInfo(shared_ptr<ItemGO> spItem)\r
161{\r
162 return str(format("Name: %1% Type: %2%") % spItem->Name() % ItemTypes::GetName(spItem->Type()));\r
163}\r
164\r
165string MonsterInfo(shared_ptr<MonsterGO> spMonster)\r
166{\r
9920617b 167 string info = str(format("Name: %1% Weapon: %2%\nStrength: %3% Defense %4% ") %\r
168 spMonster->Name() % spMonster->WeaponName() % spMonster->Strength() %\r
169 spMonster->Defense());\r
170 info += str(format("Health: %1%/%2%") % spMonster->Health() % spMonster->MaxHealth());\r
fd2ef47d 171 return info;\r
172}\r
9920617b 173\r
174string PlayerInfo(shared_ptr<PlayerGO> spPlayer)\r
175{\r
176 string info = str(format("Name: %1% Level: %2%\nHealth: %3%/%4%") % \r
177 spPlayer->Name() % spPlayer->LevelNumber() % spPlayer->Health() %\r
178 spPlayer->MaxHealth());\r
179 return info;\r
180}\r
181\r
182void DisplayMonster(shared_ptr<MonsterGO> spMonster)\r
183{\r
184 cout << "Monster:\n" << MonsterInfo(spMonster) << endl;\r
185}\r
186\r
187void DisplayPlayer(shared_ptr<PlayerGO> spPlayer)\r
188{\r
189 cout << "Player:\n" << PlayerInfo(spPlayer) << endl;\r
190}