nhofb吧 关注:4贴子:139
  • 3回复贴,共1

DIS战斗规模扩大的源程序

只看楼主收藏回复

原帖:http://tieba.baidu.com/p/2050592656
@Freeport1
求修改意见


IP属地:广东1楼2013-05-19 08:19回复
    uses crt,dos,sysutils;
    const density='density = ';
    mbs='max_battle_size = ';
    nn='nickname = ';
    var worktext:text;
    temp:string;
    fil:tsearchrec;
    denx,mbsx:longint;
    procedure work(filename:string);
    var outf,int:text;
    st,a,b,idn,dirname:string;
    c,den,battlesize:longint;
    begin
    dirname:=copy(filename,1,pos('.',filename)-1);
    for c:=1 to length(dirname) do
    if dirname[c] in ['a'..'z'] then dirname[c]:=chr(ord(dirname[c])-32);
    if pos('FP7',dirname)<>0 then dirname:='FP7';
    writeln(worktext,'<File status="Found" name="',filename,'">',dirname);
    assign(int,filename);
    reset(int);
    MkDir(dirname);
    ChDir(dirname);
    assign(outf,filename);
    rewrite(outf);
    while not eof(int) do
    begin
    readln(int,st);
    if pos(density,st)<>0 then
    begin
    readln(int,a);
    readln(int,b);
    if pos(mbs,b)<>0 then
    begin
    delete(st,1,10);
    writeln(worktext,'<Zone status="Found" name="',idn,'">');
    val(st,den,c);
    write(worktext,'<Change value="density">',den,'->');
    den:=den*denx;
    writeln(worktext,den,'</Change>');
    delete(b,1,18);
    val(b,battlesize,c);
    write(worktext,' <Change value="max_battle_size">',battlesize,'->');
    battlesize:=battlesize*mbsx;
    writeln(worktext,battlesize,'</Change>');
    writeln(outf,'density = ',den);
    writeln(outf,a);
    writeln(outf,'max_battle_size = ',battlesize);
    a:=temp;
    b:=temp;
    st:=temp;
    writeln(worktext,'</Zone>');
    end
    else
    begin
    writeln(outf,st);
    writeln(outf,a);
    writeln(outf,b);
    st:=temp;
    a:=temp;
    b:=temp;
    end;
    end
    else
    begin
    if pos(nn,st)<>0 then
    begin
    idn:=st;
    delete(idn,1,11);
    end;
    writeln(outf,st);
    st:=temp;
    end;
    end;
    close(outf);
    ChDir('..');
    close(int);
    Erase(int);
    writeln(worktext,'</File>');
    end;
    begin
    write('Please input times of density:');readln(denx);
    write('Please input times of max_battle_size:');readln(mbsx);
    writeln('Okay, now start work...');
    assign(worktext,'WorkLog.xml');
    rewrite(worktext);
    writeln(worktext,'<?xml version="1.0" encoding="utf-8" ?>');
    writeln(worktext,'<Work>');
    findfirst('.\*.ini',faAnyFile,fil);
    while fileexists(fil.name) do
    begin
    work(fil.name);
    findnext(fil);
    end;
    writeln(worktext,'</Work>');
    writeln('All done.You can find log in "WrokLog.xml".Enjoy yourself!');
    readkey;
    end.


    IP属地:广东2楼2013-05-19 08:20
    回复
      @Freeport1
      你倒是给我个意见嘛- -……………………


      IP属地:广东3楼2013-05-19 20:32
      回复