initial commit
[COMP345---Clone.git] / ItemGenerator.cpp
blob4b2286ecc74483fd945e9aed628dace3b8734add
1 //!@file ItemGenerator.cpp
2 //! @brief Class which generates random items
4 #include "ItemGenerator.h"
5 #include "Helmet.h"
6 #include "Armor.h"
7 #include "Belt.h"
8 #include "Ring.h"
9 #include "Shield.h"
10 #include "Weapon.h"
11 #include "Boots.h"
12 #include <random>
15 ItemGenerator::ItemGenerator()
20 ItemGenerator::~ItemGenerator()
24 //! generate an item based on the given level
25 //! @param level: the level for the item to be set to.
26 Item ItemGenerator::generateItem(int level)
28 mt19937 randomNum;
29 randomNum.seed(random_device()());
30 // Set random numbers between 0 and 6
31 uniform_int_distribution<uint32_t> uint_dist10(0, 6);
32 Item item;
33 switch (uint_dist10(randomNum))
35 case 0:
36 item = Helmet(level);
37 break;
38 case 1:
39 item = Armor(level);
40 break;
41 case 2:
42 item = Belt(level);
43 break;
44 case 3:
45 item = Ring(level);
46 break;
47 case 4:
48 item = Shield(level);
49 break;
50 case 5:
51 item = Weapon(level);
52 break;
53 case 6:
54 item = Boots(level);
55 break;
56 default:
57 item = Helmet(level);
60 return item;