Literary Device Random Generator Java

Following Code I created for Generating Random Literary Devices for Writing Practice, Free Code for Use and Learning

package main;

import java.util.ArrayList;
import java.util.random.RandomGenerator;
import java.util.random.RandomGeneratorFactory;
import java.util.stream.DoubleStream;

import main.util.LiteraryDevicesUtils;

public class Main {

	public static void main(String[] args) {
		System.out.println("Test");
		
		RandomGenerator randomGenerator = RandomGeneratorFactory.getDefault().create();
		DoubleStream doubleStream = randomGenerator.doubles(10);
		
		ArrayList<String> literaryDevices = LiteraryDevicesUtils.getLiteraryDevices();
		
		doubleStream.forEach((random) -> {
			int value = Double.valueOf(literaryDevices.size()*random).intValue();
			System.out.println("Random Literary Device: "+literaryDevices.get(value));
		});
	}
}

Depends on the following class

package main.util;

import java.util.ArrayList;
import java.util.Arrays;

public class LiteraryDevicesUtils {
	private static ArrayList<String> literaryDevices;
	
	public static ArrayList<String> getLiteraryDevices() {
		if (null != literaryDevices) {
			return literaryDevices;
		}
		
		String arrayOfLiteraryDevices[] = { 
			"Allusion", "Formal Diction", "Informal Diction", "Alliteration", "Imagery",
			"Symbolism", "Foreshadowing", "Flashback", "Allegory", "Tone", "Metaphor", "Simile"
		};
		
		
		literaryDevices = new ArrayList<>(Arrays.asList(arrayOfLiteraryDevices));
		
		return literaryDevices;
	}
}
Sample Output on Eclipse IDE

Test
Random Literary Device: Symbolism
Random Literary Device: Formal Diction
Random Literary Device: Formal Diction
Random Literary Device: Informal Diction
Random Literary Device: Formal Diction
Random Literary Device: Flashback
Random Literary Device: Flashback
Random Literary Device: Alliteration
Random Literary Device: Metaphor
Random Literary Device: Tone

Removing ln on println, removing the extra print out description, and setting number of generated numbers to 1000 we get

Simile Simile Formal Diction Simile Metaphor Formal Diction Allusion Alliteration Foreshadowing Foreshadowing Allusion Allusion Tone Tone Symbolism Foreshadowing Flashback Simile Flashback Foreshadowing Tone Simile Informal Diction Tone Alliteration Flashback Informal Diction Metaphor Metaphor Alliteration Symbolism Informal Diction Informal Diction Allusion Alliteration Metaphor Informal Diction Tone Allusion Allusion Imagery Formal Diction Symbolism Alliteration Imagery Allegory Informal Diction Allegory Metaphor Foreshadowing Metaphor Foreshadowing Tone Informal Diction Flashback Allegory Simile Symbolism Imagery Imagery Tone Allusion Foreshadowing Flashback Metaphor Flashback Informal Diction Allegory Allusion Formal Diction Allegory Informal Diction Metaphor Foreshadowing Allegory Allusion Metaphor Symbolism Symbolism Alliteration Flashback Tone Informal Diction Simile Foreshadowing Informal Diction Allusion Formal Diction Allusion Metaphor Formal Diction Alliteration Allusion Simile Foreshadowing Foreshadowing Allusion Formal Diction Imagery Informal Diction Foreshadowing Symbolism Flashback Informal Diction Simile Symbolism Flashback Flashback Tone Foreshadowing Foreshadowing Imagery Allusion Flashback Imagery Imagery Imagery Flashback Allusion Symbolism Metaphor Symbolism Allegory Informal Diction Simile Foreshadowing Alliteration Formal Diction Tone Simile Tone Foreshadowing Imagery Informal Diction Symbolism Symbolism Formal Diction Alliteration Allusion Simile Informal Diction Imagery Flashback Metaphor Foreshadowing Symbolism Flashback Metaphor Simile Allusion Allegory Symbolism Alliteration Formal Diction Alliteration Simile Allusion Informal Diction Alliteration Allusion Informal Diction Allusion Simile Metaphor Symbolism Metaphor Allegory Allusion Symbolism Informal Diction Tone Allegory Symbolism Alliteration Imagery Allegory Alliteration Flashback Allegory Allusion Allusion Alliteration Foreshadowing Flashback Tone Imagery Imagery Informal Diction Foreshadowing Informal Diction Allegory Allusion Informal Diction Tone Allegory Flashback Foreshadowing Allusion Alliteration Flashback Informal Diction Formal Diction Allusion Allegory Tone Flashback Formal Diction Metaphor Simile Metaphor Imagery Simile Simile Foreshadowing Allegory Simile Symbolism Allegory Imagery Formal Diction Alliteration Metaphor Tone Informal Diction Symbolism Formal Diction Metaphor Symbolism Informal Diction Tone Foreshadowing Symbolism Flashback Metaphor Metaphor Tone Alliteration Informal Diction Tone Metaphor Formal Diction Alliteration Imagery Informal Diction Symbolism Allegory Simile Simile Simile Formal Diction Metaphor Symbolism Flashback Simile Allusion Informal Diction Simile Foreshadowing Foreshadowing Formal Diction Foreshadowing Alliteration Symbolism Allusion Alliteration Allusion Simile Allegory Informal Diction Flashback Flashback Metaphor Tone Allusion Foreshadowing Flashback Foreshadowing Alliteration Flashback Tone Tone Metaphor Flashback Symbolism Informal Diction Allusion Allegory Alliteration Flashback Tone Tone Allegory Formal Diction Imagery Allusion Imagery Formal Diction Allusion Allegory Imagery Formal Diction Symbolism Tone Alliteration Symbolism Alliteration Imagery Flashback Imagery Informal Diction Simile Imagery Tone Informal Diction Alliteration Alliteration Formal Diction Informal Diction Foreshadowing Foreshadowing Informal Diction Allusion Foreshadowing Informal Diction Flashback Informal Diction Allegory Formal Diction Simile Tone Allegory Imagery Symbolism Alliteration Simile Simile Formal Diction Allegory Informal Diction Simile Foreshadowing Tone Foreshadowing Simile Allusion Allusion Formal Diction Allusion Formal Diction Allegory Allusion Imagery Allusion Metaphor Informal Diction Alliteration Foreshadowing Imagery Allegory Simile Symbolism Simile Foreshadowing Foreshadowing Foreshadowing Allegory Alliteration Metaphor Symbolism Metaphor Symbolism Imagery Allusion Allegory Informal Diction Metaphor Symbolism Formal Diction Allusion Flashback Metaphor Symbolism Flashback Informal Diction Allegory Flashback Symbolism Allusion Informal Diction Simile Allusion Informal Diction Imagery Simile Imagery Allegory Alliteration Alliteration Tone Flashback Informal Diction Foreshadowing Informal Diction Informal Diction Simile Formal Diction Symbolism Foreshadowing Formal Diction Symbolism Imagery Metaphor Allusion Formal Diction Alliteration Foreshadowing Formal Diction Tone Foreshadowing Symbolism Flashback Imagery Imagery Simile Metaphor Simile Tone Informal Diction Foreshadowing Flashback Flashback Foreshadowing Informal Diction Symbolism Allegory Informal Diction Imagery Imagery Imagery Imagery Informal Diction Alliteration Flashback Symbolism Flashback Allusion Formal Diction Symbolism Metaphor Allusion Foreshadowing Alliteration Allegory Alliteration Imagery Allusion Imagery Symbolism Alliteration Flashback Tone Allusion Foreshadowing Formal Diction Metaphor Formal Diction Alliteration Informal Diction Flashback Informal Diction Allegory Foreshadowing Allegory Symbolism Imagery Allusion Allegory Formal Diction Allusion Tone Foreshadowing Simile Allusion Allusion Tone Allegory Metaphor Imagery Alliteration Imagery Alliteration Imagery Formal Diction Informal Diction Alliteration Metaphor Symbolism Foreshadowing Metaphor Informal Diction Tone Simile Imagery Foreshadowing Alliteration Flashback Simile Symbolism Simile Informal Diction Symbolism Metaphor Tone Alliteration Allegory Formal Diction Allusion Imagery Tone Formal Diction Simile Formal Diction Imagery Allegory Symbolism Allegory Tone Symbolism Symbolism Simile Allusion Simile Foreshadowing Tone Flashback Metaphor Alliteration Symbolism Foreshadowing Flashback Flashback Informal Diction Alliteration Informal Diction Simile Allusion Metaphor Imagery Allusion Tone Allusion Imagery Simile Formal Diction Formal Diction Foreshadowing Simile Flashback Formal Diction Flashback Foreshadowing Allegory Allegory Alliteration Alliteration Foreshadowing Simile Imagery Imagery Tone Alliteration Flashback Simile Allegory Formal Diction Imagery Informal Diction Allegory Allegory Metaphor Flashback Foreshadowing Tone Allusion Metaphor Foreshadowing Flashback Symbolism Allegory Foreshadowing Allegory Alliteration Informal Diction Formal Diction Allusion Foreshadowing Tone Informal Diction Tone Metaphor Symbolism Informal Diction Foreshadowing Imagery Formal Diction Tone Alliteration Simile Formal Diction Informal Diction Metaphor Tone Informal Diction Allusion Tone Metaphor Simile Informal Diction Foreshadowing Alliteration Allusion Informal Diction Metaphor Tone Formal Diction Symbolism Formal Diction Tone Metaphor Informal Diction Simile Allusion Simile Symbolism Tone Simile Symbolism Symbolism Alliteration Metaphor Tone Informal Diction Simile Tone Informal Diction Metaphor Formal Diction Flashback Metaphor Foreshadowing Alliteration Simile Foreshadowing Formal Diction Tone Metaphor Imagery Allegory Allegory Formal Diction Tone Simile Simile Metaphor Symbolism Imagery Symbolism Allusion Metaphor Allusion Alliteration Tone Formal Diction Metaphor Foreshadowing Alliteration Foreshadowing Foreshadowing Imagery Simile Metaphor Metaphor Foreshadowing Alliteration Imagery Foreshadowing Simile Formal Diction Symbolism Tone Allusion Simile Simile Simile Symbolism Symbolism Formal Diction Foreshadowing Imagery Allegory Imagery Tone Metaphor Imagery Tone Flashback Flashback Metaphor Informal Diction Flashback Allegory Imagery Imagery Informal Diction Simile Symbolism Foreshadowing Allusion Formal Diction Tone Allegory Foreshadowing Metaphor Foreshadowing Foreshadowing Metaphor Allegory Alliteration Flashback Imagery Formal Diction Simile Formal Diction Allegory Flashback Foreshadowing Allusion Imagery Flashback Simile Allegory Metaphor Allegory Symbolism Foreshadowing Foreshadowing Alliteration Alliteration Tone Foreshadowing Flashback Tone Formal Diction Tone Formal Diction Foreshadowing Foreshadowing Flashback Informal Diction Metaphor Symbolism Metaphor Symbolism Allegory Foreshadowing Simile Formal Diction Allegory Foreshadowing Allegory Metaphor Flashback Informal Diction Allusion Alliteration Allusion Formal Diction Tone Formal Diction Foreshadowing Foreshadowing Metaphor Imagery Allegory Informal Diction Simile Foreshadowing Formal Diction Alliteration Symbolism Alliteration Tone Foreshadowing Allegory Informal Diction Allegory Foreshadowing Tone Imagery Allegory Formal Diction Allusion Alliteration Imagery Metaphor Formal Diction Flashback Imagery Allusion Imagery Alliteration Tone Formal Diction Formal Diction Tone Tone Foreshadowing Metaphor Allusion Foreshadowing Tone Flashback Formal Diction Imagery Flashback Alliteration Allusion Flashback Allegory Alliteration Simile Formal Diction Alliteration Allusion Imagery Foreshadowing Flashback Formal Diction Simile Formal Diction Tone Tone Metaphor Alliteration Foreshadowing Foreshadowing Informal Diction Flashback Foreshadowing Informal Diction Simile Foreshadowing Tone Flashback Formal Diction Metaphor Allusion Tone Alliteration Tone Symbolism Allusion Simile Formal Diction Allegory Foreshadowing Symbolism Alliteration Allusion Simile Allusion Symbolism Allusion Allusion Symbolism Allegory Symbolism Symbolism Imagery Simile Imagery Simile Imagery Tone Symbolism Symbolism Metaphor Formal Diction Symbolism Flashback Flashback Allusion Informal Diction Informal Diction Informal Diction Informal Diction Imagery Formal Diction Alliteration Allegory Informal Diction Formal Diction Alliteration Informal Diction Alliteration Alliteration Informal Diction Allegory Allusion Informal Diction Alliteration Allegory Alliteration Informal Diction Symbolism Imagery Metaphor Foreshadowing Tone Informal Diction Tone Tone Alliteration Allegory Flashback Imagery Foreshadowing Informal Diction Simile Allusion Metaphor Formal Diction Imagery Foreshadowing Allusion Allusion Formal Diction Imagery Symbolism Allegory Simile Allusion Simile Formal Diction Informal Diction Formal Diction Flashback Informal Diction Symbolism Foreshadowing Allegory Metaphor Allegory Metaphor Formal Diction Metaphor Metaphor Simile Allegory Flashback Flashback Alliteration Symbolism Allegory Allegory Flashback Simile Allusion Informal Diction Allegory Informal Diction Allusion Formal Diction Simile Metaphor Foreshadowing Informal Diction Imagery Symbolism Symbolism Foreshadowing Formal Diction Allegory Allusion Allusion Flashback Simile Imagery Informal Diction Informal Diction Allusion Allusion Metaphor Foreshadowing Foreshadowing Simile Alliteration Allusion Imagery Foreshadowing

A Non Null Investment in Literary Devices

Could easily become Zetta 10^21 Literary Devices over time

https://en.wikipedia.org/wiki/FLOPS

Comprehension of scale factors into Value

Forgot to add in some “Personification! Personification!”

Version 1.01

String arrayOfLiteraryDevices[] = { 
"Allusion", "Formal Diction", "Informal Diction", "Alliteration", "Imagery",
 "Symbolism", "Foreshadowing", "Flashback", "Allegory", "Tone", "Metaphor", "Simile",
 "Personification", "Juxtaposition", "Onomatopoeia", "Colloquialism", "Euphemism"
};

Free Monster Generator for Storytelling

package main.util;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.OptionalDouble;
import java.util.random.RandomGenerator;
import java.util.random.RandomGeneratorFactory;
import java.util.stream.DoubleStream;

public class VillainUtil {
	private static ArrayList<String> villains;
	
	public static ArrayList<String> getVillains() {
		if (null != villains) {
			return villains;
		}
		
		String arrayOfVillains[] = { 
			"Vampire", "Dragon", "Lich", "Ghost", "Kraken", "Giant"
		};
		
		
		villains = new ArrayList<>(Arrays.asList(arrayOfVillains));
		
		return villains;
	}
	
	public static String getRandomVillain() {
		if (null == villains) {
			getVillains();
		}
		
		RandomGenerator randomGenerator = RandomGeneratorFactory.getDefault().create();
		DoubleStream doubleStream = randomGenerator.doubles(1);
		
		OptionalDouble random = doubleStream.findFirst();
		
		int value = Double.valueOf(villains.size()*random.getAsDouble()).intValue();
		String villain = villains.get(value);
		return villain;		
	}
}

A reminder Villain Level Contrast does not benefit all equally

package main.util;

import java.util.ArrayList;
import java.util.Arrays;

public class DescriptiveWritingUtil {
	private static ArrayList<String> vividVerbs;
	private static ArrayList<String> preciseAdjectives;
	private static ArrayList<String> spectacularNouns;
	
	public static ArrayList<String> getVividVerbs() {
		if (null != vividVerbs) {
			return vividVerbs;
		}
		
		String arrayOfVividVerbs[] = { 
			"shouted", "dashed", "sprinted", "gnashed", "pulverized", "evoked", "conjured",
			"amplified", "magnified", "infused", "inspired", "encouraged"
		};
		
		
		vividVerbs = new ArrayList<>(Arrays.asList(arrayOfVividVerbs));
		
		return vividVerbs;
	}
	
	public static ArrayList<String> getPreciseAdjectives() {
		if (null != preciseAdjectives) {
			return preciseAdjectives;
		}
		
		String arrayOfPreciseAdjectives[] = {
			"colossal", "monumental", "magnificent", "gargantuan", "minuscule", "microscopic",
			"loud", "soft", "sour", "sweet", "rough", "smooth", "brilliant"
		};
		
		
		preciseAdjectives = new ArrayList<>(Arrays.asList(arrayOfPreciseAdjectives));
		
		return preciseAdjectives;
	}
	
	public static ArrayList<String> getSpectacularNouns() {
		if (null != spectacularNouns) {
			return spectacularNouns;
		}
		
		String arrayOfSpectacularNouns[] = {
			"ruby", "sapphire", "emerald", "amber", "amethyst", "gold", "silver", "titanium",
			"aluminum", "steel", "neon", "zeon", "oxygen", "nitrogen", "carbon"
		};
		
		
		spectacularNouns = new ArrayList<>(Arrays.asList(arrayOfSpectacularNouns));
		
		return spectacularNouns;
	}	
}
package main.util;

import java.util.ArrayList;
import java.util.Arrays;

public class SimileUtil {
	private static ArrayList<String> similes;
	
	public static ArrayList<String> getSimiles() {
		if (null != similes) {
			return similes;
		}
		
		String arrayOfSimiles[] = { 
			"as good as gold", "as cute as a button", "like light after the darkest storm",
			"like the wind of a tornado", "like thunder that makes the skin tingle"
		};
		
		
		similes = new ArrayList<>(Arrays.asList(arrayOfSimiles));
		
		return similes;
	}
}
package main.util;

import java.util.ArrayList;
import java.util.Arrays;

public class MetaphorUtil {
	private static ArrayList<String> metaphors;
	
	public static ArrayList<String> getSimiles() {
		if (null != metaphors) {
			return metaphors;
		}
		
		String arrayOfMetaphors[] = { 
			"the world is a stage", "there is an elephant in the room", "drowning in a sea of paperwork"
		};
		
		
		metaphors = new ArrayList<>(Arrays.asList(arrayOfMetaphors));
		
		return metaphors;
	}
}

Like thunder that makes the skin tingle

Language like a Paint Brush is Power.

Programming Languages enable greater Throughput of that Power.

New Metric Literary Devices Used per Minute?

Able to Measure Frequency effectively factors into Output?

Small Contributions valued highly is important because great contributions can be turned up from small contributions

Ripples are Powerful

package main.util;

import java.util.ArrayList;
import java.util.random.RandomGenerator;
import java.util.random.RandomGeneratorFactory;
import java.util.stream.DoubleStream;

public class RandomUtil {
	public static ArrayList<String> getRandomList(ArrayList<String> listOfStrings, int size) {
		RandomGenerator randomGenerator = RandomGeneratorFactory.getDefault().create();
		DoubleStream doubleStream = randomGenerator.doubles(size);
		
		ArrayList<String> randomList = new ArrayList<>();
		
		doubleStream.forEach((random) -> {
			int value = Double.valueOf(listOfStrings.size()*random).intValue();
			randomList.add(listOfStrings.get(value));
		});
		
		return randomList;
	}
}

v 1.02

		ArrayList<String> randomVillains = RandomUtil.getRandomList(VillainUtil.getVillains(), 20);
		
		System.out.println();
		
		randomVillains.forEach((villain) -> {
			System.out.print(villain+" ");
		});
[monumental, brilliant, soft] amethyst dashed
[gargantuan, soft, loud] sapphire magnified
[daunting, loud, smooth] amethyst gnashed
[soft, microscopic, minuscule] spectrum amplified
[minuscule, smooth, soft] emerald shouted
[brilliant, monumental, brilliant] aluminum shouted
[soft, rough, gargantuan] steel gnashed
[magnificent, microscopic, microscopic] gold gnashed
[loud, sweet, soft] carbon conjured
		for (int i=0; i<10; i++) {
			ArrayList<String> randomAdjectives = RandomUtil.getRandomList(DescriptiveWritingUtil.getPreciseAdjectives(), 3);
			ArrayList<String> randomNouns = RandomUtil.getRandomList(DescriptiveWritingUtil.getSpectacularNouns(), 1);
			ArrayList<String> randomVerbs = RandomUtil.getRandomList(DescriptiveWritingUtil.getVividVerbs(), 1);
			System.out.println(randomAdjectives.toString()+" "+randomNouns.get(0)+" "+randomVerbs.get(0));
		}
[colossal, magnificent, microscopic] spectrum shifted
[soft, colossal, gargantuan] gold inspired
[efficient, minuscule, gargantuan] energy infused
[soft, monumental, loud] wave shifted
[towering, efficient, soft] steel pulverized
[brilliant, loud, colossal] watts commanded
[kinetic, rough, colossal] emerald pulverized
[kinetic, gargantuan, microscopic] zeon provided
[gargantuan, sour, potential] sapphire provided
package main.util;

import java.util.ArrayList;
import java.util.Arrays;

public class DescriptiveWritingUtil {
	private static ArrayList<String> vividVerbs;
	private static ArrayList<String> preciseAdjectives;
	private static ArrayList<String> spectacularNouns;
	
	public static ArrayList<String> getVividVerbs() {
		if (null != vividVerbs) {
			return vividVerbs;
		}
		
		String arrayOfVividVerbs[] = { 
			"shouted", "dashed", "sprinted", "gnashed", "pulverized", "evoked", "conjured",
			"amplified", "magnified", "infused", "inspired", "encouraged", "provided", "shifted",
			"directed", "commanded", "whispered", "enlightened"
		};
		
		
		vividVerbs = new ArrayList<>(Arrays.asList(arrayOfVividVerbs));
		
		return vividVerbs;
	}
	
	public static ArrayList<String> getPreciseAdjectives() {
		if (null != preciseAdjectives) {
			return preciseAdjectives;
		}
		
		String arrayOfPreciseAdjectives[] = {
			"colossal", "monumental", "magnificent", "gargantuan", "minuscule", "microscopic",
			"loud", "soft", "sour", "sweet", "rough", "smooth", "brilliant", "daunting", "towering",
			"potential", "efficient", "kinetic"
		};
		
		
		preciseAdjectives = new ArrayList<>(Arrays.asList(arrayOfPreciseAdjectives));
		
		return preciseAdjectives;
	}
	
	public static ArrayList<String> getSpectacularNouns() {
		if (null != spectacularNouns) {
			return spectacularNouns;
		}
		
		String arrayOfSpectacularNouns[] = {
			"ruby", "sapphire", "emerald", "amber", "amethyst", "gold", "silver", "titanium",
			"aluminum", "steel", "neon", "zeon", "oxygen", "nitrogen", "carbon", "lightning",
			"wave", "photon", "spectrum", "energy", "watts", "joules", "kilogram", "meter",
			"kilometer"
		};
		
		
		spectacularNouns = new ArrayList<>(Arrays.asList(arrayOfSpectacularNouns));
		
		return spectacularNouns;
	}	
}
[sour, colossal, loud] nitrogen dashed
[potential, towering, sweet] joules provided
[kinetic, minuscule, sweet] sapphire encouraged
[gargantuan, monumental, potential] silver dashed
[microscopic, sweet, sour] aluminum inspired
[colossal, colossal, gargantuan] aluminum directed
[sour, soft, efficient] jet gnashed
[soft, sour, potential] moon directed
[loud, microscopic, towering] lightning enlightened
[microscopic, soft, smooth] silver commanded
[magnificent, kinetic, placid] kilogram conjured
[brilliant, rough, loud] joules encouraged
[delicate, minuscule, daunting] photon shifted
[monumental, loud, loud] country shouted
[daunting, colossal, glittering] zeon directed
[glittering, brilliant, sweet] suburb commanded
[smooth, efficient, daunting] joules conjured
[towering, sweet, delicate] kilogram encouraged
[calm, daunting, fluffy] neon shifted
[brilliant, gargantuan, magnificent] neutron star evoked
package main.util;

import java.util.ArrayList;
import java.util.Arrays;

public class DescriptiveWritingUtil {
	private static ArrayList<String> vividVerbs;
	private static ArrayList<String> preciseAdjectives;
	private static ArrayList<String> spectacularNouns;
	
	public static ArrayList<String> getVividVerbs() {
		if (null != vividVerbs) {
			return vividVerbs;
		}
		
		String arrayOfVividVerbs[] = { 
			"shouted", "dashed", "sprinted", "gnashed", "pulverized", "evoked", "conjured",
			"amplified", "magnified", "infused", "inspired", "encouraged", "provided", "shifted",
			"directed", "commanded", "whispered", "enlightened"
		};
		
		
		vividVerbs = new ArrayList<>(Arrays.asList(arrayOfVividVerbs));
		
		return vividVerbs;
	}
	
	public static ArrayList<String> getPreciseAdjectives() {
		if (null != preciseAdjectives) {
			return preciseAdjectives;
		}
		
		String arrayOfPreciseAdjectives[] = {
			"colossal", "monumental", "magnificent", "gargantuan", "minuscule", "microscopic",
			"loud", "soft", "sour", "sweet", "rough", "smooth", "brilliant", "daunting", "towering",
			"potential", "efficient", "kinetic", "glittering", "sweet", "fluffy", "delicate", "calm",
			"tranquil", "placid"
		};
		
		
		preciseAdjectives = new ArrayList<>(Arrays.asList(arrayOfPreciseAdjectives));
		
		return preciseAdjectives;
	}
	
	public static ArrayList<String> getSpectacularNouns() {
		if (null != spectacularNouns) {
			return spectacularNouns;
		}
		
		String arrayOfSpectacularNouns[] = {
			"ruby", "sapphire", "emerald", "amber", "amethyst", "gold", "silver", "titanium",
			"aluminum", "steel", "neon", "zeon", "oxygen", "nitrogen", "carbon", "lightning",
			"wave", "photon", "spectrum", "energy", "watts", "joules", "kilogram", "meter",
			"kilometer", "blackhole", "neutron", "star", "neutron star", "gas giant", "moon",
			"jet", "rocket", "tank", "ship", "supercar", "beach", "desert", "imagination",
			"mountain", "lake", "woods", "forest", "city", "country", "skyscraper", "suburb"
		};
		
		
		spectacularNouns = new ArrayList<>(Arrays.asList(arrayOfSpectacularNouns));
		
		return spectacularNouns;
	}	
}
[sweet, potential, sour] jet evoked
[tranquil, smooth, tranquil] kilogram whispered
[joyful, monumental, soft] watts shifted
[yellow, monumental, angry] castle enlightened
[diminished, delicate, beguiling] ice cream refined
[fluffy, monumental, memorable] photon commanded
[smooth, efficient, sad] ratio infused
[angry, toned, happy] country pulverized
[angry, saturated, toned] neon inspired
[soft, tinted, towering] gas giant evoked
[joyful, happy, gargantuan] neutron star provided
[angry, beguiling, efficient] nitrogen pulverized
[joyful, magnificent, sour] joules relayed
[shaded, green, towering] cream closed
[saturated, memorable, placid] lightning whispered
[delightful, diminished, smooth] woods shifted
[colossal, blue, towering] wind gnashed
[eroded, saturated, delightful] farm communicated
[orange, exalted, minuscule] kilogram gnashed
[diminished, potential, rough] cable amplified
[colossal, toned, daunting] skyscraper communicated
[yellow, towering, fluffy] blizzard evoked
[sour, gargantuan, fluffy] game relayed
[kinetic, joyful, towering] emotion sprinted
[efficient, potential, joyful] ship whispered
[minuscule, blissful, angry] lake inspired
[rough, toned, monumental] gear refined
[angry, soft, sweet] ice cream transported
[green, angry, rough] oxygen closed
[purple, sweet, tranquil] moon directed
package main.util;

import java.util.ArrayList;
import java.util.Arrays;

public class DescriptiveWritingUtil {
	private static ArrayList<String> vividVerbs;
	private static ArrayList<String> preciseAdjectives;
	private static ArrayList<String> spectacularNouns;
	
	public static ArrayList<String> getVividVerbs() {
		if (null != vividVerbs) {
			return vividVerbs;
		}
		
		String arrayOfVividVerbs[] = { 
			"shouted", "dashed", "sprinted", "gnashed", "pulverized", "evoked", "conjured",
			"amplified", "magnified", "infused", "inspired", "encouraged", "provided", "shifted",
			"directed", "commanded", "whispered", "enlightened", "opened", "closed", "delivered",
			"transported", "refined", "relayed", "communicated", "eroded"
		};
		
		
		vividVerbs = new ArrayList<>(Arrays.asList(arrayOfVividVerbs));
		
		return vividVerbs;
	}
	
	public static ArrayList<String> getPreciseAdjectives() {
		if (null != preciseAdjectives) {
			return preciseAdjectives;
		}
		
		String arrayOfPreciseAdjectives[] = {
			"colossal", "monumental", "magnificent", "gargantuan", "minuscule", "microscopic",
			"loud", "soft", "sour", "sweet", "rough", "smooth", "brilliant", "daunting", "towering",
			"potential", "efficient", "kinetic", "glittering", "sweet", "fluffy", "delicate", "calm",
			"tranquil", "placid", "blue", "orange", "red", "green", "yellow", "purple", "shaded",
			"tinted", "saturated", "toned", "angry", "sad", "happy", "joyful", "delightful", "blissful",
			"memorable", "diminished", "exalted", "beguiling", "critical", "important", "proper", "biased"
		};
		
		
		preciseAdjectives = new ArrayList<>(Arrays.asList(arrayOfPreciseAdjectives));
		
		return preciseAdjectives;
	}
	
	public static ArrayList<String> getSpectacularNouns() {
		if (null != spectacularNouns) {
			return spectacularNouns;
		}
		
		String arrayOfSpectacularNouns[] = {
			"ruby", "sapphire", "emerald", "amber", "amethyst", "gold", "silver", "titanium",
			"aluminum", "steel", "neon", "zeon", "oxygen", "nitrogen", "carbon", "lightning",
			"wave", "photon", "spectrum", "energy", "watts", "joules", "kilogram", "meter",
			"kilometer", "blackhole", "neutron", "star", "neutron star", "gas giant", "moon",
			"jet", "rocket", "tank", "ship", "supercar", "beach", "desert", "imagination",
			"mountain", "lake", "woods", "forest", "city", "country", "skyscraper", "suburb",
			"sugar", "cream", "ice cream", "water", "wind", "fire", "earth", "emotion", "gear",
			"ratio", "beam", "bridge", "pendulum", "scale", "cliff", "rope", "chain", "cable",
			"castle", "villa", "hut", "farm", "earthquake", "hurricane", "tornado", "blizzard",
			"power", "game", "puzzle", "problem", "thought", "joy", "ethics", "peace", "battle",
			"war", "fight"
		};
		
		
		spectacularNouns = new ArrayList<>(Arrays.asList(arrayOfSpectacularNouns));
		
		return spectacularNouns;
	}	
}
[tranquil, purple, memorable] cream communicated
[diminished, biased, diminished] gas giant conjured
[monumental, monumental, angry] nitrogen opened
[colossal, biased, brilliant] parrot whispered
[sad, shaded, orange] jaguar infused
[angry, purple, purple] snake enlightened
[delicate, minuscule, biased] meter pulverized
[delicate, beguiling, memorable] sugar enlightened
[brilliant, daunting, brilliant] ratio sprinted
[shaded, towering, important] hyena communicated
package main.util;

import java.util.ArrayList;
import java.util.Arrays;

public class DescriptiveWritingUtil {
	private static ArrayList<String> vividVerbs;
	private static ArrayList<String> preciseAdjectives;
	private static ArrayList<String> spectacularNouns;
	
	public static ArrayList<String> getVividVerbs() {
		if (null != vividVerbs) {
			return vividVerbs;
		}
		
		String arrayOfVividVerbs[] = { 
			"shouted", "dashed", "sprinted", "gnashed", "pulverized", "evoked", "conjured",
			"amplified", "magnified", "infused", "inspired", "encouraged", "provided", "shifted",
			"directed", "commanded", "whispered", "enlightened", "opened", "closed", "delivered",
			"transported", "refined", "relayed", "communicated", "eroded", "halted", "blocked",
			"accelerated"
		};
		
		
		vividVerbs = new ArrayList<>(Arrays.asList(arrayOfVividVerbs));
		
		return vividVerbs;
	}
	
	public static ArrayList<String> getPreciseAdjectives() {
		if (null != preciseAdjectives) {
			return preciseAdjectives;
		}
		
		String arrayOfPreciseAdjectives[] = {
			"colossal", "monumental", "magnificent", "gargantuan", "minuscule", "microscopic",
			"loud", "soft", "sour", "sweet", "rough", "smooth", "brilliant", "daunting", "towering",
			"potential", "efficient", "kinetic", "glittering", "sweet", "fluffy", "delicate", "calm",
			"tranquil", "placid", "blue", "orange", "red", "green", "yellow", "purple", "shaded",
			"tinted", "saturated", "toned", "angry", "sad", "happy", "joyful", "delightful", "blissful",
			"memorable", "diminished", "exalted", "beguiling", "critical", "important", "proper", "biased"
		};
		
		
		preciseAdjectives = new ArrayList<>(Arrays.asList(arrayOfPreciseAdjectives));
		
		return preciseAdjectives;
	}
	
	public static ArrayList<String> getSpectacularNouns() {
		if (null != spectacularNouns) {
			return spectacularNouns;
		}
		
		String arrayOfSpectacularNouns[] = {
			"ruby", "sapphire", "emerald", "amber", "amethyst", "gold", "silver", "titanium",
			"aluminum", "steel", "neon", "zeon", "oxygen", "nitrogen", "carbon", "lightning",
			"wave", "photon", "spectrum", "energy", "watts", "joules", "kilogram", "meter",
			"kilometer", "blackhole", "neutron", "star", "neutron star", "gas giant", "moon",
			"jet", "rocket", "tank", "ship", "supercar", "beach", "desert", "imagination",
			"mountain", "lake", "woods", "forest", "city", "country", "skyscraper", "suburb",
			"sugar", "cream", "ice cream", "water", "wind", "fire", "earth", "emotion", "gear",
			"ratio", "beam", "bridge", "pendulum", "scale", "cliff", "rope", "chain", "cable",
			"castle", "villa", "hut", "farm", "earthquake", "hurricane", "tornado", "blizzard",
			"power", "game", "puzzle", "problem", "thought", "joy", "ethics", "peace", "battle",
			"war", "fight", "wolf", "tiger", "rhino", "hippopotamus", "scorpion", "spider",
			"snake", "lizard", "iguana", "puppy", "kitten", "bird", "parrot", "monkey", "marmoset",
			"dear", "elk", "jaguar", "hyena", "zebra", "angel", "demon", "monster", "hero",
			"velocity", "momentum", "nitro"
		};
		
		
		spectacularNouns = new ArrayList<>(Arrays.asList(arrayOfSpectacularNouns));
		
		return spectacularNouns;
	}	
}
Metaphor Flashback Imagery Tone Onomatopoeia Euphemism Onomatopoeia Allusion Simile Allegory 
Random Villain Skeleton

Vampire Troll Demon Skeleton Lich Skeleton Giant Demon Siren Dragon Vampire Giant Ghost Demon Lich Demon Giant Kraken Giant Banshee 
[orange, daunting, brilliant] lake delivered
[magnificent, exalted, proper] oxygen infused
[critical, microscopic, smooth] neutron star delivered
[glittering, green, gargantuan] war communicated
[smooth, proper, rough] problem blocked
[shaded, angry, yellow] chain gnashed
[purple, brilliant, microscopic] watts magnified
[fluffy, happy, critical] emerald infused
[colossal, saturated, blue] watts enlightened
[glittering, sad, diminished] lizard blocked
Random Hero - Fighter
package main.util;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.OptionalDouble;
import java.util.random.RandomGenerator;
import java.util.random.RandomGeneratorFactory;
import java.util.stream.DoubleStream;

public class HeroUtil {
	private static ArrayList<String> heroes;
	
	public static ArrayList<String> getHeroes() {
		if (null != heroes) {
			return heroes;
		}
		
		String arrayOfHeroes[] = { 
			"Fighter", "Knight", "Wizard", "Sorcerer", "Rogue", "Bard"
		};
		
		
		heroes = new ArrayList<>(Arrays.asList(arrayOfHeroes));
		
		return heroes;
	}
	
	public static String getRandomHero() {
		if (null == heroes) {
			getHeroes();
		}
		
		RandomGenerator randomGenerator = RandomGeneratorFactory.getDefault().create();
		DoubleStream doubleStream = randomGenerator.doubles(1);
		
		OptionalDouble random = doubleStream.findFirst();
		
		int value = Double.valueOf(heroes.size()*random.getAsDouble()).intValue();
		String hero = heroes.get(value);
		return hero;		
	}
}
package main.util;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.OptionalDouble;
import java.util.random.RandomGenerator;
import java.util.random.RandomGeneratorFactory;
import java.util.stream.DoubleStream;

public class VillainUtil {
	private static ArrayList<String> villains;
	
	public static ArrayList<String> getVillains() {
		if (null != villains) {
			return villains;
		}
		
		String arrayOfVillains[] = { 
			"Vampire", "Dragon", "Lich", "Ghost", "Kraken", "Giant",
			"Demon", "Banshee", "Siren", "Skeleton", "Troll",
			"Bandit"
		};
		
		
		villains = new ArrayList<>(Arrays.asList(arrayOfVillains));
		
		return villains;
	}
	
	public static String getRandomVillain() {
		if (null == villains) {
			getVillains();
		}
		
		RandomGenerator randomGenerator = RandomGeneratorFactory.getDefault().create();
		DoubleStream doubleStream = randomGenerator.doubles(1);
		
		OptionalDouble random = doubleStream.findFirst();
		
		int value = Double.valueOf(villains.size()*random.getAsDouble()).intValue();
		String villain = villains.get(value);
		return villain;		
	}
}
package main;

import java.util.ArrayList;
import java.util.random.RandomGenerator;
import java.util.random.RandomGeneratorFactory;
import java.util.stream.DoubleStream;

import main.util.DescriptiveWritingUtil;
import main.util.HeroUtil;
import main.util.LiteraryDevicesUtils;
import main.util.RandomUtil;
import main.util.VillainUtil;

public class Main {

	public static void main(String[] args) {		
		RandomGenerator randomGenerator = RandomGeneratorFactory.getDefault().create();
		DoubleStream doubleStream = randomGenerator.doubles(10);
		
		ArrayList<String> literaryDevices = LiteraryDevicesUtils.getLiteraryDevices();
		
		doubleStream.forEach((random) -> {
			int value = Double.valueOf(literaryDevices.size()*random).intValue();
			System.out.print(literaryDevices.get(value)+" ");
		});
		System.out.println();
		System.out.println("Random Villain "+VillainUtil.getRandomVillain());
		
		ArrayList<String> randomVillains = RandomUtil.getRandomList(VillainUtil.getVillains(), 20);
		
		System.out.println();
		
		randomVillains.forEach((villain) -> {
			System.out.print(villain+" ");
		});
		
		System.out.println();
		
		for (int i=0; i<10; i++) {
			ArrayList<String> randomAdjectives = RandomUtil.getRandomList(DescriptiveWritingUtil.getPreciseAdjectives(), 3);
			ArrayList<String> randomNouns = RandomUtil.getRandomList(DescriptiveWritingUtil.getSpectacularNouns(), 1);
			ArrayList<String> randomVerbs = RandomUtil.getRandomList(DescriptiveWritingUtil.getVividVerbs(), 1);
			System.out.println(randomAdjectives.toString()+" "+randomNouns.get(0)+" "+randomVerbs.get(0));
		}
		
		System.out.println("Random Hero - "+HeroUtil.getRandomHero());
	}
}

Published by techinfodebug

Flex and Java Developer, Christian, Art, Music, Video, and Vlogging

Leave a comment