00001
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include <stdio.h>
00027
00028
00029 void show_it(unsigned value) {
00030 printf("\n0x%-2x: %c\n",value,(value&4?'_':'.'));
00031 printf(" %c%c%c\n",(value&8?'|':'.'),
00032 (value&1?'_':'.'),
00033 (value&2?'|':'.'));
00034 printf(" %c%c%c\n",(value&16?'|':'.'),
00035 (value&32?'_':'.'),
00036 (value&64?'|':'.'));
00037 }
00038
00039
00040 int main() {
00041 int value=0;
00042 int norefresh=0;
00043 while(1) {
00044 norefresh=0;
00045 switch(getchar()) {
00046 case '2':
00047 case '3':
00048 value^=4;
00049 break;
00050 case 'q':
00051 value^=8;
00052 break;
00053 case 'e':
00054 value^=2;
00055 break;
00056 case 'w':
00057 case 's':
00058 value^=1;
00059 break;
00060 case 'a':
00061 value^=16;
00062 break;
00063 case 'y':
00064 case 'x':
00065 case 'c':
00066 value^=32;
00067 break;
00068 case 'd':
00069 value^=64;
00070 break;
00071 case ' ':
00072 if(value)
00073 value=0;
00074 else
00075 value=0x7f;
00076 break;
00077 case 27:
00078 return 0;
00079 default:
00080 norefresh=1;
00081 }
00082 if(!norefresh)
00083 show_it(value);
00084 }
00085 }