| 
 
注册时间2005-2-19最后登录1970-1-1 
 | 
 
|  适合nc3000!
 其它的我不知键盘io和文件读取函数,大家告诉我
 sxzc上下左右,f4开始,f1复位,f2选,下右:AB
 垂直滚动是我编的,其它的要感谢lee哥!!
 我不会压缩字模,于是写了这个来压缩,但效果不好,lee哥和高手教我
 复制代码int fp;char mem[4096];char pic[8];char text[200];char bit[8]={128,64,32,16,8,4,2,1};void xuan(){char n[10][20];char name[2][20];char dirname[50];char filename[50];int i,j;i=0;sprintf(n[0],"%s","/");for(;;){memset(dirname,0,50);for(j=0;j<=i;j++)strcat(dirname,n[j]);ChDir(dirname);if(!FileList(filename)){i--;if(i<0)exit(0);}else{sprintf(text,"%s/%s",dirname,filename);if(ChDir(text)){i++;sprintf(n[i],"%s",filename);}else{sprintf(name[0],"%s",filename);return;}}}}int getPoint(int x,int y){int i;long addr;addr=_GRAPH+y*20+x/8;i=x%8;if(*(addr)&bit[i])return 1;else return 0;}void main(){int i,j,m,n;SetScreen(1);Locate(2,8);printf("FC转文曲星\n      字模压缩器");getchar();MakeDir("/LavaData");xuan();fp=fopen(text,"r");ClearScreen();Refresh();for(i=0;i<1024;i++){if(CheckKey(27))exit(0);Box(1,8,50,16,1,0);Box(1,75,1+158*i/1023,79,1,1);fread(pic,1,8,fp);WriteBlock(8,8,8,8,65,pic);for(n=0;n<8;n++){for(m=0;m<7;m++){if(GetPoint(m+8,n+8)&&GetPoint(m+9,n+8)){Point(m/2+24,n+8,1);if(i<512)Point(31-m/2,n+8,1);}}}for(m=0;m<8;m++){if(GetPoint(m+24,8)||GetPoint(m+24,9))Point(m+40,8,1);if(GetPoint(m+24,11)||GetPoint(m+24,12))Point(m+40,9,1);if(GetPoint(m+24,14)||GetPoint(m+24,15))Point(m+40,10,1);}GetBlock(40,8,8,4,64,mem+i*4);}fclose(fp);fp=fopen("/LavaData/字模.dat","w+");fwrite(mem,1,4096,fp);fclose(fp);exit(0);}
 | 
 |