12 Days of Christmas

by Taylor Lopez

HTML

<script src="https://cdn.rawgit.com/iAmMortos/JSConsole/master/console.min.js"></script>

JavaScript

function main() {
	enableConsole(600, 400);
  
  for (var day = 1; day <= 12; day++) {
  	var ord = getOrd(day);
    console.log("On the " + day + ord + " day of Christmas, my true love gave to me:");
    printDays(day);
    console.log();
  }
}

function printDays(day) {
	switch(day) {
  	case 12: console.log("12 Drummers Drumming");
    case 11: console.log("11 Pipers Piping");
    case 10: console.log("10 Lords a' Leaping");
    case  9: console.log(" 9 Ladies Dancing");
    case  8: console.log(" 8 Maids a' Milking");
    case  7: console.log(" 7 Swans a' Swimming");
    case  6: console.log(" 6 Geese a' Laying");
    case  5: console.log(" FIIIIVE. GOLDEN RIIIIIIIINGS.\n ..........");
    case  4: console.log(" 4 Calling Birds");
    case  3: console.log(" 3 French Hens");
    case  2: console.log(" 2 Turtle Doves");
    case  1: console.log((day !== 1 ? " and" : "") + " a Partridge in a Pear Tree!");
    break;
    default: console.log("What. Have. You. Done...");
  }
}

function getOrd(num) {
	if (num % 100 >= 11 && num % 100 <= 13) return "th";
  switch(num % 10) {
  	case 1: return "st";
    case 2: return "nd";
    case 3: return "rd";
    default: return "th";
  }
}

$(document).ready(main);