xxxxxxxxxx
55
//Markov Model
let lines;
let words = [];
let wordChain = {};
let currentWord;
let newPoem = "";
function preload() {
lines = loadStrings("combo.txt");
}
function setup() {
createCanvas(1, 1);
background(255, 0, 0);
// print(lines);
for(let i = 0; i < lines.length; i +=1) {
let wordsInLine = splitTokens(lines[i]);
for (let j = 0; j < wordsInLine.length; j+=1) {
wordsInLine[j] = wordsInLine[j].toLowerCase();
wordsInLine[j] = wordsInLine[j].replace(/[-_:;.,!?\(\)]/g, "");
}
words = words.concat(wordsInLine);
}
// words = shuffle(words);
// interate through all of the words, and store the word that
// follows each word
for (let i = 0; i < words.length-1; i +=1) {
let word = words[i];
let nextWord = words[i+1];
if (wordChain[word] === undefined) {
wordChain[word] = [nextWord];
} else {
wordChain[word].push(nextWord) ;
}
}
currentWord = words[0];
for (let i = 0; i < words.length; i +=1) {
newPoem = newPoem + currentWord + " ";
let nextPossibleWords = wordChain[currentWord];
let nextWord = nextPossibleWords[int(random(0, nextPossibleWords.length))];
currentWord = nextWord;
}
// let newPoem = join(words, " ");
let p = createP(newPoem);
}
function draw() {
}