--- src/robotfindskitten.c.orig 2012-11-27 07:41:21.000000000 +0000 +++ src/robotfindskitten.c 2013-02-07 14:44:42.000000000 +0000 @@ -119,6 +119,9 @@ #define KITTEN 1 #define BOGUS 2 +/* Finish him! */ +#define FATALITIES (sizeof fatalities / sizeof (char*)) + typedef struct { int x; int y; @@ -139,6 +142,17 @@ char **messages; } game_state; +static char* fatalities[] = +{ + "Kitten jumps out of nowhere, pulls out a switchblade, and stabs you.", + "Bruce Willis swears at you, pulls out a Zippo(TM), and lights you on fire.", + "Your Robot armor is no match against your opponent's +2 Kitten.", + "Terrorists have planted a dirty bomb inside kitten! Run for your life!", + "You have come to the end of this Choose Your Own Adventure.", + "Mario Balotelli has ripped the still-beating heart out of this zen simulation.", + "Your generation has no attention span anymore, so you get bored and leave." +}; + /* global state */ static game_state state; @@ -547,6 +561,8 @@ "Robot must touch items to determine if they are kitten or not. The game\n"\ "ends when robotfindskitten. Alternatively, you may end the game by hitting\n" "the q key or a good old-fashioned Ctrl-C.\n\n"\ +"This version contains MegaHyperDeath(TM) technology. Every time you find\n"\ +"something that is not kitten, you have a 1 in 10 chance of dying.\n\n"\ "See the documentation for more information.\n\n"\ "Press any key to start.\n" ); @@ -710,8 +726,17 @@ /* nothing happened */ break; case BKITTEN: - play_animation ( fromright ); - finish ( 0 ); + if ((rand() % 10) == 0) { /*RFK is boring, let's add explosions!*/ + move ( 0, 0 ); + addstr ( fatalities[rand() % FATALITIES] ); + move ( 1, 0 ); + addstr("You are dead. Sorry it didn't work out. Please insert $0.25 to continue."); + refresh(); + finish ( 0 ); + } else { + play_animation ( fromright ); + finish ( 0 ); + } break; case BBOGUS: message ( state.messages[bnum] );