xxxxxxxxxx
77
// A2Z Fall 2024
// Daniel Shiffman
// https://github.com/Programming-from-A-to-Z/A2Z-F24
let sentenceInput, wordInput;
let results;
function setup() {
noCanvas();
// A text area
sentenceInput = select('#sentence');
// A button
let analyzeButton = select('#analyze')
analyzeButton.mousePressed(analyze);
wordInput = select('#word');
// A button
let rhymeButton = select('#rhymes')
rhymeButton.mousePressed(rhyme);
let clearButton = select('#clearButton');
clearButton.mousePressed(clearAll);
}
function analyze() {
let p = createP('');
p.class('text');
let ol = createElement('ol');
ol.parent(p);
// What has the user entered?
let txt = sentenceInput.value();
// Here are some features you can get (there are more!)
let li1 = createElement('li', 'Stresses: ' + RiTa.stresses(txt));
let li2 = createElement('li', 'Phonemes: ' + RiTa.phones(txt));
let li3 = createElement('li', 'Parts of speech: ' + RiTa.pos(txt).join(' '));
let li4 = createElement('li', 'Syllables: ' + RiTa.syllables(txt));
// Put the in the list
li1.parent(ol);
li2.parent(ol);
li3.parent(ol);
li4.parent(ol);
}
function rhyme() {
let p = createP('');
p.class('text');
let ol = createElement('ol');
ol.parent(p);
// Get rhymes from the lexicon
let rhymes = RiTa.rhymes(wordInput.value());
// Show them in a list
for (let i = 0; i < rhymes.length; i++) {
let li = createElement('li', rhymes[i]);
li.parent(ol);
}
}
// Go through and remove all the divs
function clearAll() {
let par = selectAll('.text');
for (let i = 0; i < par.length; i++) {
par[i].remove();
}
}