]>
jfr.im git - irc/gameservirc.git/blob - gameserv-2.0/testdriver/main.cpp
967e5e9bd2f133e5693f7b1be136fc3276f315f3
3 #include <GameServ/GameLayer/GameObjects/PlayerGO.h>
4 using GameServ::GameLayer::GameObjects::PlayerGO
;
5 #include <GameServ/GameLayer/PlayerGL.h>
6 using GameServ::GameLayer::PlayerGL
;
7 #include <GameServ/GameLayer/ForestGL.h>
8 using GameServ::GameLayer::ForestGL
;
9 #include <GameServ/GameLayer/FightGL.h>
10 using GameServ::GameLayer::FightGL
;
12 #include <GameServ/GameLayer/GameObjects/ItemGO.h>
13 using GameServ::GameLayer::GameObjects::ItemGO
;
14 #include <GameServ/GameLayer/GameObjects/WeaponGO.h>
15 using GameServ::GameLayer::GameObjects::WeaponGO
;
16 #include <GameServ/GameLayer/GameObjects/ArmorGO.h>
17 using GameServ::GameLayer::GameObjects::ArmorGO
;
18 #include <GameServ/GameLayer/GameObjects/PotionGO.h>
19 using GameServ::GameLayer::GameObjects::PotionGO
;
20 #include <GameServ/GameLayer/GameObjects/MonsterGO.h>
21 using GameServ::GameLayer::GameObjects::MonsterGO
;
24 #include <GameServ/GameServException.h>
25 using GameServ::Exceptions::GameServException
;
27 #include <GameServ/Types.h>
28 using GameServ::Types::Range
;
29 using GameServ::Types::ItemTypes
;
30 using GameServ::Types::Modifiers
;
32 #include <GameServ/GameLayer/Helpers/InventoryManager.h>
33 using namespace GameServ::GameLayer::Helpers
;
35 #include <boost/algorithm/string.hpp>
36 #include <boost/format.hpp>
40 #include <boost/smart_ptr/shared_ptr.hpp>
41 using boost::shared_ptr
;
44 #define MYSQLPP_SSQLS_NO_STATICS
45 #include <GameServ/DataLayer/MySQL/MySQLItemDAO.h>
46 using GameServ::DataLayer::MySQL::MySQLItemDAO
;
48 string
ItemInfo(shared_ptr
<ItemGO
> spItem
);
49 string
MonsterInfo(shared_ptr
<MonsterGO
> spMonster
);
50 string
PlayerInfo(shared_ptr
<PlayerGO
> spPlayer
);
51 void DisplayMonster(shared_ptr
<MonsterGO
> spMonster
);
52 void DisplayPlayer(shared_ptr
<PlayerGO
> spPlayer
);
59 //shared_ptr<PlayerGO> spPlayer = pgl.GetById("Kain");
63 //cout << "Name: " << spPlayer->Name() << endl
64 // << "Level: " << spPlayer->LevelNumber() << endl
65 // << "Exp: " << spPlayer->Experience() << endl
66 // << "Strength: " << spPlayer->Strength() << endl
67 // << "Defense: " << spPlayer->Defense() << endl
68 // << "Gold: " << spPlayer->Gold() << endl
69 // << "Bank: " << spPlayer->Bank() << endl
70 // << "Items: " << endl;
74 //shared_ptr<InventoryManager> spInventory = InventoryManager::Instance();
75 //ItemList inventory = spInventory->GetInventory(spPlayer);
76 //ItemList::const_iterator iter;
77 //for (iter = inventory.begin(); iter != inventory.end(); iter++)
79 // shared_ptr<ItemGO> spItem = (*iter);
80 // cout << ItemInfo(spItem) << endl;
86 ////while (cmd != "quit")
87 //for (int x = 0; x < 10000; x++)
89 // spPlayer->Health(spPlayer->MaxHealth());
90 // spPlayer->Alive(true);
91 // //DisplayPlayer(spPlayer);
92 // //getline(cin, cmd);
94 // if (cmd == "search")
96 // //cout << "Searching the forest..." << endl;
97 // shared_ptr<MonsterGO> spMonster = forestGL.GetRandomMonsterForPlayer(spPlayer);
99 // while (spPlayer->Alive() && spMonster->Alive())
101 // //DisplayMonster(spMonster);
102 // //cout << "Hit Enter to attack: " << endl;
103 // //getline(cin, cmd);
104 // unsigned int attack = fightGL.PlayerAttackMonster(spPlayer, spMonster);
105 // //cout << "You hit " << spMonster->Name() << " for " << attack << endl;
106 // if (!spMonster->Alive())
108 // //cout << "You have killed " << spMonster->Name() << endl;
109 // //cout << "He shouts: " << spMonster->DeathCry() << endl;
113 // unsigned int mAttack = fightGL.MonsterAttackPlayer(spMonster, spPlayer);
114 // /*cout << spMonster->Name() << " hits you with their "
115 // << spMonster->WeaponName() << " for " << mAttack
117 // if (!spPlayer->Alive())
119 // /*cout << spMonster->Name() << " has killed you!" << endl;*/
128 shared_ptr
<ItemGO
> spItem
= test
.GetById("test");
130 //map <int, int> frequencies;
132 //for (x = 0; x < 10000; x++)
134 // Range testrange(-100, 100);
135 // int randnum = testrange.Random();
136 // frequencies[randnum]++;
138 //map<int, int>::const_iterator iter;
139 //for (iter = frequencies.begin(); iter != frequencies.end(); iter++)
141 // cout << iter->first << ": ";
142 // cout << (iter->second / (double)(x + 1)) * 100 << '%' << endl;
145 catch (GameServException
&e
)
147 cout
<< e
.VerboseError() << endl
;
150 cout
<< "Done. Hit enter to quit." << endl
;
156 string
ItemInfo(shared_ptr
<ItemGO
> spItem
)
158 return str(format("Name: %1% Type: %2%") % spItem
->Name() % ItemTypes::GetName(spItem
->Type()));
161 string
MonsterInfo(shared_ptr
<MonsterGO
> spMonster
)
163 string info
= str(format("Name: %1% Weapon: %2%\nStrength: %3% Defense %4% ") %
164 spMonster
->Name() % spMonster
->WeaponName() % spMonster
->Strength() %
165 spMonster
->Defense());
166 info
+= str(format("Health: %1%/%2%") % spMonster
->Health() % spMonster
->MaxHealth());
170 string
PlayerInfo(shared_ptr
<PlayerGO
> spPlayer
)
172 string info
= str(format("Name: %1% Level: %2%\nHealth: %3%/%4%") %
173 spPlayer
->Name() % spPlayer
->LevelNumber() % spPlayer
->Health() %
174 spPlayer
->MaxHealth());
178 void DisplayMonster(shared_ptr
<MonsterGO
> spMonster
)
180 cout
<< "Monster:\n" << MonsterInfo(spMonster
) << endl
;
183 void DisplayPlayer(shared_ptr
<PlayerGO
> spPlayer
)
185 cout
<< "Player:\n" << PlayerInfo(spPlayer
) << endl
;