//Run in Processing (Download for free at www.Processing.org) int fontSize = 14;//15 int countryCenter = 50; //width/20; int fillValue = 100; PFont font; PFont font2; int offset = 30; int spacer1; boolean greyTime = false; PImage bg; class Country { String name; int yCenter; String myNumber; int myFill; boolean redMe = false; boolean greyMe = false; Country(String name_, int yCenter_, String myNumber_) { myNumber = myNumber_; name = name_; yCenter = yCenter_; } void display() { if(redMe==false) { fill(fillValue); } else { fill(220,0,0); } //font = createFont("Courier", fontSize); textFont(font); text(this.name,countryCenter,yCenter); } void blowUp() { fill(220,0,0,200); //font = createFont("Courier", 40); textFont(font2); text(this.myNumber,countryCenter-35,yCenter-13); } } class Word { String name; int yCenter; int xCenter; int myFill; boolean redMe = false; String myNumber; Word(String name_, int yCenter_, int xCenter_, int myFill_, String myNumber_) { myNumber = myNumber_; name = name_; yCenter = yCenter_; xCenter = xCenter_; myFill = myFill_; } void display() { if(redMe==true) { fill(220,0,0); } else if(redMe==false && greyTime == true){ fill(205); } else { fill(myFill); } //font = createFont("Courier", fontSize); textFont(font); text(this.name,xCenter,yCenter); } void blowUp() { fill(220,0,0,200); //font = createFont("Courier", 40); textFont(font2); text(this.myNumber,xCenter-4,yCenter-13); } } String [] countries = { "China","30303", "France","25665","India","25332","Japan","18468","Italy","18245","Spain","15876","England","12618","Greece","10425", "Mexico","9449", "Germany","7658", "Ireland","7245" }; ///DESCRIPTIONS String [] desk1 = { "mandarin", "3190", "travel", "2853", "drama", "2647", "new", "2514", "literature", "2154", "year", "1992", "life", "1980", "childrens", "1722", "social", "1690", "music", "1624", "great", "1495", "cooking", "1484", "customs", "1464", "books", "1459", "journey", "1455", "graphic", "1454", "biography", "1442", "dialects", "1434", "novels", "1422", "adventure", "1387", "story", "1351", "world", "1327", "materials", "1286", "medicine", "1226", "american", "1218", "bilingual", "1175", "folklore", "1150", "cookery", "1127", "comic", "1121", "strips", "1119", "through", "1112" }; String [] desk2 = { "cooking", "3440", "life", "3023", "cookery", "2762", "music", "2401", "guidebooks", "1993", "child", "1759", "julia", "1754", "food", "1730", "songs", "1669", "travel", "1617", "women", "1556", "war", "1499", "art", "1374", "paris", "1336", "foreign", "1321", "drama", "1310", "tour", "1254", "social", "1222", "badgers", "1152", "volume", "1117", "study", "994", "customs", "990", "textbooks", "981", "century", "972", "teaching", "961", "world", "935", "books", "921", "revolution", "884", "recipes", "878", "mastering", "873" }; String [] desk3 = {"travel", "6567", "north", "4902", "america", "4750", "drama", "3820", "music", "3198", "character", "3109", "adventure", "3076", "fictitious", "3068", "biography", "2835", "cooking", "2613", "love", "2551", "kingdom", "2527", "skull", "2479", "crystal", "2478", "indic", "2359", "one", "2312", "everything", "2269", "elizabeth", "2266", "gilbert", "2266", "across", "2258", "eat", "2251", "pray", "2251", "northwest", "2082", "writers", "1847", "american", "1840", "cookery", "1700", "relations", "1590", "time", "1472", "life", "1352", "diary", "1330" }; String [] desk4 = {"cooking", "1602", "gardens", "1562", "art", "1533", "war", "1490", "world", "1459", "american", "1444", "cookery", "1251", "music", "1230", "literature", "1224", "life", "1215", "books", "1171", "patterns", "1127", "americans", "1124", "tokyo", "1116", "comic", "1050", "strips", "1008", "design", "972", "social", "912", "popular", "898", "technique", "830", "graphic", "823", "novels", "813", "travel", "796", "teenage", "774", "century", "764", "architecture", "743", "boys", "732", "yakitate", "728", "customs", "717", "childrens", "688" }; String [] desk5 = {"travel", "6940", "cooking", "4342", "cookery", "3561", "love", "2995", "one", "2564", "eat", "2357", "everything", "2320", "biography", "2270", "across", "2251", "elizabeth", "2251", "gilbert", "2251", "pray", "2251", "recipes", "2158", "guidebooks", "1982", "writers", "1840", "life", "1415", "tuscany", "1205", "home", "976", "style", "956", "easy", "953", "rick", "879", "books", "849", "steves", "839", "europe", "761", "music", "759", "free", "743", "slow", "740", "food", "719", "cities", "693", "social", "656" }; //SPAIN String [] desk6 = {"travel", "1973", "foreign", "1826", "teaching", "1594", "study", "1531", "textbooks", "1504", "materials", "1434", "bilingual", "1407", "vocabulary", "1342", "childrens", "1247", "guidebooks", "1193", "american", "1140", "dictionaries", "1136", "grammar", "1067", "books", "950", "picture", "850", "cookery", "821", "learn", "813", "latin", "799", "music", "798", "conversation", "761", "cooking", "756", "volume", "706", "songs", "677", "phrase", "662", "learning", "652", "war", "581", "ultimate", "544", "intermediate", "540", "rick", "532", "steves", "532"}; String [] desk7 = {"music", "3433", "columbia", "3014", "great", "2956", "britain", "2768", "guidebooks", "2762", "pacific", "2589", "northwest", "2450", "drama", "2236", "rock", "2152", "washington", "2077", "new", "2037", "oregon", "1796", "century", "1602", "social", "1531", "guide", "1230", "comedy", "1180", "coast", "1149", "life", "1005", "up", "980", "stand", "942", "travel", "894", "king", "889", "best", "821", "popular", "809", "biography", "744", "customs", "744", "plants", "729", "state", "696", "american", "645", "men", "587"}; String [] desk8 = {"mythology", "4745", "literature", "2875", "ancient", "2354", "civilization", "2100", "myths", "1586", "travel", "1520", "comedy", "1410", "get", "1268", "classical", "1055", "gods", "832", "guidebooks", "724", "music", "655", "life", "600", "drama", "599", "islands", "589", "modern", "588", "book", "570", "myth", "536", "cooking", "534", "world", "434", "stories", "433", "cookery", "375", "rock", "365", "art", "323", "cartoons", "305", "novels", "303", "mediterranean", "300", "graphic", "293", "heroes", "288", "social", "285"}; String [] desk9 = {"guidebooks", "2863", "new", "1720", "cooking", "1521", "life", "1213", "travel", "1146", "pacific", "1133", "social", "1050", "cookery", "972", "customs", "902", "city", "749", "american", "701", "guide", "653", "recipes", "637", "literature", "614", "america", "577", "coast", "577", "arizona", "480", "art", "476", "songs", "461", "drama", "438", "puerto", "395", "century", "391", "music", "371", "vallarta", "371", "folk", "359", "james", "347", "free", "339", "folklore", "337", "time", "331", "stories", "330"}; String [] desk10 = {"war", "1746", "mystery", "1201", "world", "1186", "drama", "1123", "travel", "1121", "relations", "839", "good", "835", "interpersonal", "783", "triangles", "783", "guidebooks", "673", "nazi", "543", "books", "456", "great", "439", "europe", "425", "phrase", "416", "conversation", "414", "britain", "410", "television", "405", "rick", "381", "steves", "381", "detective", "375", "foyles", "367", "scandinavia", "360", "social", "357", "century", "308", "literature", "289", "operations", "281", "campaigns", "280", "national", "280", "life", "278"}; String [] desk11 = {"travel", "1331", "folk", "1268", "music", "1180", "mystery", "1065", "songs", "797", "country", "704", "stories", "701", "guidebooks", "654", "britain", "567", "historical", "566", "scotland", "517", "pastoral", "514", "folklore", "491", "great", "465", "tales", "448", "europe", "435", "ancient", "426", "literature", "409", "rick", "408", "steves", "408", "story", "358", "northern", "352", "medieval", "342", "girl", "338", "women", "325", "drama", "307", "fairy", "302", "television", "301", "series", "295", "life", "294"}; String[][] descMatrix = { desk1,desk2,desk3,desk4,desk5,desk6,desk7,desk8,desk9,desk10,desk11 }; //float[] areas = new float[countries.length]; Country[] countryArray = new Country[countries.length/2]; Word[] wordArray = new Word[countries.length*15]; void setup() { bg = loadImage("oldPaper.jpg"); //font = createFont("UniversLTStd", fontSize); //font2 = createFont("UniversLTStd", 40); font = createFont("Courier", fontSize);//CourierNewPSMT font2 = createFont("Courier", 40); size(1260,700);//1200 spacer1 = (width/12)+0; println(spacer1); int spacerY = height/12; //bg.resize(width,height); background(255);//bg for(int ff = 0; ff