added random seed and seed cmd option

This commit is contained in:
rexy712
2019-01-11 20:48:47 -08:00
parent a69b5c0d93
commit e2d0e33e53
6 changed files with 81 additions and 6 deletions

View File

@@ -27,10 +27,12 @@
#include <cwchar> //wcwidth
#include <cstdio> //wprintf, putwchar
#include <cstdlib> //rand
template<int I>
constexpr basic_color_printer<I>::basic_color_printer(const cmd_args& args)noexcept:
color_printer_base<basic_color_printer<I>>(args){}
color_printer_base<basic_color_printer<I>>(args),
m_randomness(rand()%color_lookup_len){}
template<int I>
basic_color_printer<I>& basic_color_printer<I>::_print(const wchar_t s)noexcept{
if(s == L'\n'){
@@ -42,7 +44,7 @@ basic_color_printer<I>& basic_color_printer<I>::_print(const wchar_t s)noexcept{
else
inc_col(1);
}
long new_index = static_cast<int>(this->m_freq*m_col + this->m_spread*m_line) % color_lookup_len;
long new_index = static_cast<int>(this->m_freq*m_col + this->m_spread*m_line + m_randomness) % color_lookup_len;
if(new_index < 0)
new_index += color_lookup_len;
if(new_index != m_index){