下载《仙剑》金曲
源程序名:PAL-MIDIC
编译环境:TURBO C或BORLAND C++;有波表卡,效果将更好。
#include <stdioh>
#include <stdlibh>
#include <conioh>
char TargetFileName[32]="MUSIC-00MID";/*目标文件名*/
void main(void)
{
FILE *SourceFile,*TargetFile;/*文件指针*/
long Start,End,Len;
int i,j,k,file;
file=0;
clrscr();
gotoxy(18,10);
printf("《仙剑奇侠传》音乐文件生成器 作者:樊一鹏");
/*打开源文件*/
if((SourceFile=fopen("MIDI.MKF","rb"))==NULL)
/*打开源文件失败*/
gotoxy(21,13);
printf("错误:当前目录下找不到MIDIMKF文件!\n");
exit(1);
}
/*主循环*/
for(i=1;i<=87;i++)
/*读指针定位*/
fseek(SourceFile,i*4,SEEK-SET);
fread(&Start,1,4,SourceFile);
fread(&End,1,4,SourceFile);
fseek(SourceFile,Start,SEEK-SET);
/*计算音乐文件长度*/
Len=End-Start;
/*音乐文件是否存在*/
if(Len>0)
{
/*音乐文件存在,开始处理*/
++file;
TargetFileName[6]=(file/10)+'0';
TargetFileName[7]=(file%10)+'0';
/*打开目标文件*/
TargetFile=fopen(TargetFileName,"wb");
/*生成目标文件*/
gotoxy(23,13);
printf("正在生成第[%d]首音乐:%s",file,TargetFileName);
for(j=0;j<Len;j++)
{
k=fgetc(SourceFile);
fputc(k,TargetFile);
}
/*关闭目标文件*/
fclose(TargetFile);
}
}
/*关闭源文件*/
fclose(SourceFile);
gotoxy(29,15);
printf("音乐文件全部生成完毕!\n");
}
以上程序可在TURBO C或BORLAND C++集成环境下输入、编译(compile)、链接(link)形成可执行文件PAL-MIDI.EXE,把它拷入《仙剑》所在子目录下运行,就会用MIDI格式生成八十六个音乐文件,从MUSIC-01.MID到MUSIC-86.MID。如果用户的机器上没有C语言或不懂得编译过程,可寄10元钱到本报编辑部拷贝源代码和执行文件。