Browse Source

Found "A" solution to the repetitive sentences.

The program sorta runs too quick for random number to generate a different value. (The computer doesn't change "state" quickly enough so "same inputs" are use practically.)
I don't know if this is the best way to go about it but it works...
Also, the code is a mess as always.
master
Craig Oates 6 years ago
parent
commit
4df614daf8
  1. 4
      WetPancake/DataServices.fs
  2. 2
      WetPancake/ProductServices.fs
  3. 6
      WetPancake/SystemServices.fs
  4. 2
      WetPancakeCLI/ConsoleCommands.cs

4
WetPancake/DataServices.fs

@ -5,6 +5,7 @@
open DataStructuring
open DataProcessing
open DataCleaning
open System.Threading
let PickRandomWord words = PickRandomItem (Random().Next) words
@ -28,7 +29,8 @@
let startWords = fst(SeperateStartWords map)
let result =
seq {
for i in 0 .. noOfSentences do
for i in 1 .. noOfSentences do
Thread.Sleep(100) //<--- This is needed for new random number to generate.
yield GenerateMarkovSentence map (PickRandomWord startWords).Key
}
result |> ConcatToString

2
WetPancake/ProductServices.fs

@ -37,7 +37,7 @@ module Pancake =
GenerateMarkovText (PickRandomNumber 10) data
// MOVE THIS INTO AN OBJECT (OF SORTS)
let RequestRandomText2 =
let RequestRandomText2() =
let data2 =
LoadFile SelectRandomSampleFile
|> ApplyStandardSetup

6
WetPancake/SystemServices.fs

@ -2,8 +2,10 @@
open System
let PickRandomNumber max = Random().Next(0, max);
let PickRandomNumber max = Random().Next(1, max);
let PickRandomItem (rnd: int -> int) seq =
let index = rnd ((Seq.length seq) - 1)
//let index = rnd 0 ((Seq.length seq) - 1)
//seq |> Seq.item index
let index = Random().Next(Seq.length seq);
seq |> Seq.item index

2
WetPancakeCLI/ConsoleCommands.cs

@ -34,7 +34,7 @@ namespace WetPancakeCLI
{
// need to make new objects.
// the static class just hold onto the initial data generated.
var result = RequestRandomText2;
var result = RequestRandomText2();
return result;
}

Loading…
Cancel
Save