When I read the description for our assignment, I wondered how to use randomness in generating text. The idea came from my everyday experience. I remember always struggling to choose what to order in fast-food restaurants because there were so many variants. So, the concept of my assignment became using generative text to depict myself in a fast-food restaurant ordering some food.
First, I found a picture of a fast-food restaurant on the internet to use as a background. Then, I also found a speech balloon picture on the internet.
function preload() { mypicture = loadImage('speechballoon.png') backgroundpicture = loadImage('background.png') strings = loadStrings("fastfood.csv"); }
The preload function was used to load these pictures. I used the code I generated for the first self-portrait assignment to make an icon of myself. Then, I used scale() and translate() functions to relocate the icon.
hamburgers, fish and chips, pizza, pasta, fried chicken french fries, onion rings, chicken nuggets, tacos, ice cream cola, ginger ale, sprite, apple juice, orange juice
I created a .csv file where the first line was the main dishes, the second line was the side dishes, and the last line was drinks.
//text generator textSize(30) text('I want', 190, 100) textSize(20) for (let i = 0; i < strings.length; i++) { // Split the current line into an array of items (.csv file) let items = strings[i].split(', '); // Select a random item from this array let randomItem = random(items); // Display the random item text(randomItem, 150, i*30+140); }
I made a code that chooses a random item from each line and generates text located in the speech balloon.
function mouseClicked() { redraw(); }
I used the redraw() function inside the mouseClicked() function to regenerate the entire code again, ensuring that the outcome of the three menus (main dish, side dish, drink) would change if the mouse was clicked.
For further improvements, I think I can use a different font and also maybe add more menus, or add a picture of the menu that was chosen randomly and display it with the text.