BSD 4_3 development
[unix-history] / usr / src / games / bcd.c
CommitLineData
93b69b0e
C
1
2static char sccsid[] = " bcd.c 4.1 82/10/24 ";
3
4int chtab[] = {
500000, /* */
603004, /* ! */
702404, /* " */
802040, /* sharp */
902042, /* $ */
1002104, /* % */
1100001, /* & */
1203002, /* ' */
1302201, /* ( */
1402202, /* ) */
1502102, /* * */
1600005, /* + */
1702044, /* , */
1800002, /* - */
1902041, /* . */
2000014, /* / */
2100004, /* 0 */
2200010, /* 1 */
2300020, /* 2 */
2400040, /* 3 */
2500100, /* 4 */
2600200, /* 5 */
2700400, /* 6 */
2801000, /* 7 */
2902000, /* 8 */
3004000, /* 9 */
3102200, /* : */
3202402, /* ; */
3302401, /* < */
3402204, /* = */
3502400, /* > */
3603000, /* ? */
3702100, /* at */
38 011,
39 021,
40 041,
410101,
420201,
430401,
4401001,
4502001,
4604001,
47012,
48022,
49042,
500102,
510202,
520402,
5301002,
5402002,
5502002,
56024,
57044,
580104,
590204,
600404,
6101004,
6202004,
6304004,
6402020, /* [ */
6503001, /* \ */
6602101, /* ] */
6700006, /* ^ */
6802024 /* _ */
69};
70 char s[128];
71 char *sp = {&s[0]};
72main(argc, argv)
73char *argv[];
74{
75 char *spp;
76 int i;
77 int j;
78 int c;
79 int l;
80
81 if (argc<2) {
82 puts("% ");
83 while ((c=getchar())!='\0'&c!='\n')
84 *sp++ = c;
85 *sp = 0;
86 sp = &s[0];
87 } else
88 sp = *++argv;
89 puts("\n\n\n\n");
90 puts(" ________________________________");
91 puts("________________\n");
92 spp = sp;
93 while(*spp++);
94 spp--;
95 l = spp - sp;
96 putchar('/');
97 puts(sp);
98 i = 49 - l;
99 while(--i>0) putchar(' ');
100 puts("|\n");
101 j = 0;
102 spp = sp;
103 while (j++<12) {
104 putchar('|');
105 i = 0;
106 spp = sp;
107 while (i<48) {
108 if(i>l) c = 0;
109 else c = *spp++ - 040;
110 i++;
111 if (c>='a'-040) c = c - 040;
112 if (c<0 | c>137) c = 0;
113 if ((chtab[c]>>(j-1))&1)
114 puts("[\b\ 1\ 1\ 1\ 1\ 1]");
115 else
116 putchar(j>3?'0'+j-3:' ');
117 }
118 puts("|\n");
119 }
120 putchar('|');
121 puts("____________");
122 puts("____________________________________");
123 puts("|\n");
124 puts("\n\n\n\n");
125}
126
127puts(ss) char *ss; {
128 int i;
129 char t;
130 i = 0;
131 while(t = *ss++) {
132 if(t >= 'a' && t <= 'z')
133 t += 'A'-'a';
134 putchar(t);
135 }
136}