1 /* code.cpp
2  * Copyright © 2015, Brian Derr <brian@derrclan.com>
3  */
4 
5 #include "code.h"
6 
7 
Code(int length)8 Code::Code(int length) : Code(length, std::random_device{}()) {}
9 
Code(int length,unsigned int seed)10 Code::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)14 Code::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()22 int Code::GetRandomNumber() {
23   return dist_(engine_);
24 }
25 
26 // Create a new code that is length_ long.
Create()27 void 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