1 /* code.cpp 2 * Copyright © 2015, Brian Derr <brian@derrclan.com> 3 */ 4 5 #include "code.h" 6 7 Code(int length)8Code::Code(int length) : Code(length, std::random_device{}()) {} 9 Code(int length,unsigned int seed)10Code::Code(int length, unsigned int seed) : 11 dist_(std::uniform_int_distribution<>(1, 6)), engine_(std::default_random_engine(seed)), 12 length_(length) {} 13 Code(std::vector<int> secret)14Code::Code(std::vector<int> secret) : code_(secret), length_(secret.size()) {} 15 16 // void Code::initialize(unsigned int seed) { 17 // engine_ = std::default_random_engine (seed); 18 // dist_ = std::uniform_int_distribution<> (1, 6); 19 // initialized_ = true; 20 // } 21 GetRandomNumber()22int Code::GetRandomNumber() { 23 return dist_(engine_); 24 } 25 26 // Create a new code that is length_ long. Create()27void Code::Create() { 28 if (code_.size() > 0) { 29 code_.clear(); 30 } 31 for (int i = 0; i < length_; ++i) { 32 code_.push_back(GetRandomNumber()); 33 } 34 } 35