xxxxxxxxxx
42
// jshint esversion:8
// A2Z F24
// Daniel Shiffman
// https://github.com/Programming-from-A-to-Z/A2Z-F24
// Thank you to: https://github.com/dariusk/metaphor-a-minute/blob/master/metaphor.js
// Sign up for Wordnik here: https://www.wordnik.com/
// Developer documentation: http://developer.wordnik.com/
let url1 = "https://api.wordnik.com/v4/word.json/";
let word = "rainbow";
let url2 = "/relatedWords?useCanonical=false&limitPerRelationshipType=10&api_key=48dd829661f515d5abc0d03197a00582e888cc7da2484d5c7"
let link;
function setup() {
noCanvas();
link = select('#word');
link.mousePressed(replaceWord);
// For web editor only
let button = createButton('replace');
button.mousePressed(replaceWord);
}
async function replaceWord() {
try {
let response = await fetch(url1 + word + url2)
let data = await response.json();
let index1 = floor(random(0, data.length));
let index2 = floor(random(0, data[index1].words.length));
word = data[index1].words[index2];
link.html(word);
} catch (error) {
console.log("No related words!");
// console.error(error);
word = 'rainbow';
link.html(word);
}
}