summaryrefslogtreecommitdiffstats
path: root/games/ddate.c
diff options
context:
space:
mode:
Diffstat (limited to 'games/ddate.c')
-rw-r--r--games/ddate.c171
1 files changed, 0 insertions, 171 deletions
diff --git a/games/ddate.c b/games/ddate.c
deleted file mode 100644
index 33ce386f8..000000000
--- a/games/ddate.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/* ddate.c .. converts boring normal dates to fun Discordian Date -><-
- written the 65th day of The Aftermath in the Year of Our Lady of
- Discord 3157 by Druel the Chaotic aka Jeremy Johnson aka
- mpython@gnu.ai.mit.edu
-
- and I'm not responsible if this program messes anything up (except your
- mind, I'm responsible for that)
-
- Modifications for Unix by Lee Harvey Oswald Smith, K.S.C.
- Five tons of flax.
-*/
-
-#include <time.h>
-#include <string.h>
-#include <stdio.h>
-
-struct disc_time
-{int season; /* 0-4 */
- int day; /* 0-72 */
- int yday; /* 0-365 */
- int year; /* 3066- */
-};
-
-char *ending(int);
-void print(struct disc_time,char **);
-struct disc_time convert(int,int);
-struct disc_time makeday(int,int,int);
-
-main (int argc,char **argv)
-{long t;
- struct tm *eris;
- int bob,raw;
- struct disc_time hastur;
- if (argc==4)
- { int moe,larry,curly;
- moe=atoi(argv[1]);
- larry=atoi(argv[2]);
- curly=atoi(argv[3]);
- hastur=makeday(moe,larry,curly);
- }
- else if (argc!=1)
- { fprintf(stderr,"Syntax: DiscDate [month day year]");
- exit(1);
- }
- else
- {
- t= time(NULL);
- eris=localtime(&t);
- bob=eris->tm_yday; /* days since Jan 1. */
- raw=eris->tm_year; /* years since 1980 */
- hastur=convert(bob,raw);
- }
- print(hastur,argv);
-}
-
-struct disc_time makeday(int imonth,int iday,int iyear) /*i for input */
-{ struct disc_time funkychickens;
-
- int cal[12] =
- {
- 31,28,31,30,31,30,31,31,30,31,30,31
- };
- int dayspast=0;
-
- imonth--;
- funkychickens.year= iyear+1166;
- while(imonth>0)
- {
- dayspast+=cal[--imonth];
- }
- funkychickens.day=dayspast+iday-1;
- funkychickens.season=0;
- if((funkychickens.year%4)==2)
- {
- if (funkychickens.day==59)
- funkychickens.day=-1;
- }
- funkychickens.yday=funkychickens.day;
-/* note: EQUAL SIGN...hopefully that fixes it */
- while(funkychickens.day>=73)
- {
- funkychickens.season++;
- funkychickens.day-=73;
- }
- return funkychickens;
-}
-
-char *ending(int num)
-{
- int temp;
- char *funkychickens;
-
- funkychickens=(char *)malloc(sizeof(char)*3);
-
- temp=num%10; /* get 0-9 */
- switch (temp)
- { case 1:
- strcpy(funkychickens,"st");
- break;
- case 2:
- strcpy(funkychickens,"nd");
- break;
- case 3:
- strcpy(funkychickens,"rd");
- break;
- default:
- strcpy(funkychickens,"th");
- }
- return funkychickens;
-}
-
-struct disc_time convert(int nday, int nyear)
-{ struct disc_time funkychickens;
-
- funkychickens.year = nyear+3066;
- funkychickens.day=nday;
- funkychickens.season=0;
- if ((funkychickens.year%4)==2)
- {if (funkychickens.day==59)
- funkychickens.day=-1;
- else if (funkychickens.day >59)
- funkychickens.day-=1;
- }
- funkychickens.yday=funkychickens.day;
- while (funkychickens.day>=73)
- { funkychickens.season++;
- funkychickens.day-=73;
- }
- return funkychickens;
-
- }
-
-void print(struct disc_time tick, char **args)
-{ char *days[5] = { "Sweetmorn",
- "Boomtime",
- "Pungenday",
- "Prickle-Prickle",
- "Setting Orange"
- };
- char *seasons[5] = { "Chaos",
- "Discord",
- "Confusion",
- "Bureaucracy",
- "The Aftermath"
- };
- char *holidays[5][2] = { "Mungday", "Chaoflux",
- "Mojoday", "Discoflux",
- "Syaday", "Confuflux",
- "Zaraday", "Bureflux",
- "Maladay", "Afflux"
- };
- if (args[1]==NULL)
- printf("Today is ");
- else
- printf("%s-%s-%s is ",args[1],args[2],args[3]);
- if (tick.day==-1) printf("St. Tib's Day!");
- else
- { tick.day++;
- printf("%s",days[tick.yday%5]);
- printf(", the %d", tick.day);
- printf("%s day of %s",ending(tick.day),seasons[tick.season]) ;
- }
- printf(" in the YOLD %d\n",tick.year);
- if ((tick.day==5)||(tick.day==50))
- { printf("Celebrate ");
- if (tick.day==5)
- printf("%s\n",holidays[tick.season][0]);
- else
- printf("%s\n",holidays[tick.season][1]);
- }
-}