Annotation of researchv10no/games/bcd.c, revision 1.1

1.1     ! root        1: #include <stdio.h>
        !             2: 
        !             3: int chtab[] = {
        !             4: 00000, /*   */
        !             5: 03004, /* ! */
        !             6: 02404, /* " */
        !             7: 02040, /* sharp */
        !             8: 02042, /* $ */
        !             9: 02104, /* % */
        !            10: 00001, /* & */
        !            11: 03002, /* ' */
        !            12: 02201, /* ( */
        !            13: 02202, /* ) */
        !            14: 02102, /* * */
        !            15: 00005, /* + */
        !            16: 02044, /* , */
        !            17: 00002, /* - */
        !            18: 02041, /* . */
        !            19: 00014, /* / */
        !            20: 00004, /* 0 */
        !            21: 00010, /* 1 */
        !            22: 00020, /* 2 */
        !            23: 00040, /* 3 */
        !            24: 00100, /* 4 */
        !            25: 00200, /* 5 */
        !            26: 00400, /* 6 */
        !            27: 01000, /* 7 */
        !            28: 02000, /* 8 */
        !            29: 04000, /* 9 */
        !            30: 02200, /* : */
        !            31: 02402, /* ; */
        !            32: 02401, /* < */
        !            33: 02204, /* = */
        !            34: 02400, /* > */
        !            35: 03000, /* ? */
        !            36: 02100, /* at */
        !            37:  011,
        !            38:  021,
        !            39:  041,
        !            40: 0101,
        !            41: 0201,
        !            42: 0401,
        !            43: 01001,
        !            44: 02001,
        !            45: 04001,
        !            46: 012,
        !            47: 022,
        !            48: 042,
        !            49: 0102,
        !            50: 0202,
        !            51: 0402,
        !            52: 01002,
        !            53: 02002,
        !            54: 04002,
        !            55: 024,
        !            56: 044,
        !            57: 0104,
        !            58: 0204,
        !            59: 0404,
        !            60: 01004,
        !            61: 02004,
        !            62: 04004,
        !            63: 02020, /* [ */
        !            64: 03001, /* \ */
        !            65: 02101, /* ] */
        !            66: 00006, /* ^ */
        !            67: 02024 /* _ */
        !            68: };
        !            69:        char s[128];
        !            70: 
        !            71: char *sp = s;
        !            72: 
        !            73: main(argc, argv)
        !            74: char *argv[];
        !            75: {
        !            76:        char *spp;
        !            77:        int i;
        !            78:        int j;
        !            79:        int c;
        !            80:        int l;
        !            81: 
        !            82:        if (argc<2) {
        !            83:                puts("$ ");
        !            84:                while ((c = getchar()) != EOF && c != '\n')
        !            85:                        *sp++ = c;
        !            86:                *sp = 0;
        !            87:                sp = &s[0];
        !            88:        } else
        !            89:                sp = *++argv;
        !            90:        puts("\n\n\n\n");
        !            91:        puts(" ________________________________");
        !            92:        puts("________________\n");
        !            93:        spp = sp;
        !            94:        while(*spp++);
        !            95:        spp--;
        !            96:        l = spp - sp;
        !            97:        putchar('/');
        !            98:        puts(sp);
        !            99:        i = 49 - l;
        !           100:        while(--i>0) putchar(' ');
        !           101:        puts("|\n");
        !           102:        j = 0;
        !           103:        spp = sp;
        !           104:        while (j++<12) {
        !           105:                putchar('|');
        !           106:                i = 0;
        !           107:                spp = sp;
        !           108:                while (i<48) {
        !           109:                        c = *spp++ - 040;
        !           110:                        i++;
        !           111:                        if (c>='a'-040) c = c - 040;
        !           112:                        if (i>l) c = 0;
        !           113:                        if (c<0 || c>137) c = 0;
        !           114:                        if ((chtab[c]>>(j-1))&1) 
        !           115:                                puts("[\b]");
        !           116:                        else
        !           117:                                putchar(j>3?'0'+j-3:' ');
        !           118:                }
        !           119:                puts("|\n");
        !           120:        }
        !           121:        putchar('|');
        !           122:        puts("____________");
        !           123:        puts("____________________________________");
        !           124:        puts("|\n");
        !           125:        puts("\n\n\n\n");
        !           126: }
        !           127: 
        !           128: puts(ss) char *ss; {
        !           129:        char t;
        !           130:        while(t = *ss++) {
        !           131:                if(t >= 'a' && t <= 'z')
        !           132:                        t += 'A'-'a';
        !           133:                putchar(t);
        !           134:        }
        !           135: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.