import { JSRandomEngine } from "./JSRandomEngine"; import { LCG } from "./LCG"; import { RandomEngine, SeedableRandomEngine } from "./RandomEngine"; export class SeedGenerator { static fromText( source:string, randomEngine:SeedableRandomEngine = null ) { if ( ! randomEngine ) { randomEngine = new LCG(); } randomEngine.setSeed( 18593 ); let seed = 0; for ( let i = 0; i < source.length; i++ ) { let characterValue = source.charCodeAt( i ); seed += characterValue * 767417 + 13 + randomEngine.next() * characterValue; if ( seed > 32000 ) { seed = seed % 32000; } } console.log( "SEED FROM TEXT:", source, seed ) return seed; } }