zoukankan      html  css  js  c++  java
  • AU AU AU

    话说,某位老师对 OIer 们打游戏表示灰常滴反感,某位抑郁的 AU 爱好者 OIer ,一时抑郁,就诞生了如下产物......

    山寨版的 pas AU。

    program au;

    uses dos;
    const kk:array[0..7]of string=('  ^  ','  v  ','  <  ','  >  ','  /`  ','  ./  ','  `\  ','  \.  ');

    var hh,mm,ss,sec100:word;
        r,s,k:integer;
        time,time0:int64;
        sss:boolean;
        p,pp:integer;
        i,j:integer;
        ans,ans0:string;
        mark:array[1..5]of integer;
    Label 1;
    begin
    1:randomize;
      fillchar(mark,sizeof(mark),0);
      writeln('rank(bpm):');
      readln(r);
      writeln('style(0-->crazy;1-->normal):');
      readln(s);
      writeln('4-->4K;8-->8K');
      readln(k);
      r:=260-r;
      r:=r div 50;
      sss:=(s=0);
      writeln('read 5 for start');
      repeat
        read(s);
      until s=5;
      p:=0;
      repeat
        inc(p);
        ans:='';
        ans0:='';
        if p>1 then begin
        for i:=1 to 6 do
          begin
            pp:=random(k);
            write(kk[pp]);
            case pp of
              0:ans0:=ans0+'8';
              1:ans0:=ans0+'2';
              2:ans0:=ans0+'4';
              3:ans0:=ans0+'6';
              4:ans0:=ans0+'9';
              5:ans0:=ans0+'1';
              6:ans0:=ans0+'7';
              7:ans0:=ans0+'3';
            end;
          end;
        writeln; end;
        gettime(hh,mm,ss,sec100);
        time0:=mm*60+ss;
        ans:='';
        readln(ans);
        gettime(hh,mm,ss,sec100);
        time:=mm*60+ss;
        if ans<>'' then
        if ans<>ans0 then begin writeln('Miss');inc(mark[5]);end
        else
          if time-time0<=r then begin writeln('Perfect');inc(mark[1]);end
          else if time-time0<=r+1 then begin writeln('Great');inc(mark[2]);end
            else if time-time0<=r+2 then begin writeln('Cool');inc(mark[3]);end
             else if time-time0<=r+3 then begin writeln('Bad');inc(mark[4]);end
               else begin writeln('Miss');inc(mark[5]);end;
        time:=0;
        time0:=0;
      until p>=11;
      if sss then
      begin
        for j:=7 to 11 do
        begin
        ans:='';
        ans0:='';
        for i:=1 to j do
          begin
            pp:=random(k);
            write(kk[pp]);
            case pp of
              0:ans0:=ans0+'8';
              1:ans0:=ans0+'2';
              2:ans0:=ans0+'4';
              3:ans0:=ans0+'6';
              4:ans0:=ans0+'9';
              5:ans0:=ans0+'1';
              6:ans0:=ans0+'7';
              7:ans0:=ans0+'3';
            end;
          end;
        writeln;
        gettime(hh,mm,ss,sec100);
        time0:=mm*60+ss;
        ans:='';
        readln(ans);
        gettime(hh,mm,ss,sec100);
        time:=mm*60+ss;
        if ans<>'' then
        if ans<>ans0 then begin writeln('Miss');inc(mark[5]);end
        else
          if time-time0<=r then begin writeln('Perfect');inc(mark[1]);end
          else if time-time0<=r+1 then begin writeln('Great');inc(mark[2]);end
            else if time-time0<=r+2 then begin writeln('Cool');inc(mark[3]);end
             else if time-time0<=r+3 then begin writeln('Bad');inc(mark[4]);end
               else begin writeln('Miss');inc(mark[5]);end;
        time:=0;
        time0:=0;
        end;
        writeln('Crazy time');
        for j:=1 to 10 do
        begin
        ans:='';
        ans0:='';
        for i:=1 to 11 do
          begin
            pp:=random(k);
            write(kk[pp]);
            case pp of
              0:ans0:=ans0+'8';
              1:ans0:=ans0+'2';
              2:ans0:=ans0+'4';
              3:ans0:=ans0+'6';
              4:ans0:=ans0+'9';
              5:ans0:=ans0+'1';
              6:ans0:=ans0+'7';
              7:ans0:=ans0+'3';
            end;
          end;
        writeln;
        gettime(hh,mm,ss,sec100);
        time0:=mm*60+ss;
        ans:='';
        readln(ans);
        gettime(hh,mm,ss,sec100);
        time:=mm*60+ss;
        if ans<>'' then
        if ans<>ans0 then begin writeln('Miss');inc(mark[5]);end
        else
          if time-time0<=r then begin writeln('Perfect');inc(mark[1]);end
          else if time-time0<=r+1 then begin writeln('Great');inc(mark[2]);end
            else if time-time0<=r+2 then begin writeln('Cool');inc(mark[3]);end
             else if time-time0<=r+3 then begin writeln('Bad');inc(mark[4]);end
               else begin writeln('Miss');inc(mark[5]);end;
        time:=0;
        time0:=0;
        end;
        writeln('End!');
        writeln('Perfect:',mark[1]);
        writeln('Great:',mark[2]);
        writeln('Cool:',mark[3]);
        writeln('Bad:',mark[4]);
        writeln('Miss:',mark[5]);
      end;
      if not sss then
      begin
        for j:=1 to 35 do
        begin
        ans:='';
        ans0:='';
        for i:=1 to random(3)+6 do
          begin
            pp:=random(k);
            write(kk[pp]);
            case pp of
              0:ans0:=ans0+'8';
              1:ans0:=ans0+'2';
              2:ans0:=ans0+'4';
              3:ans0:=ans0+'6';
              4:ans0:=ans0+'9';
              5:ans0:=ans0+'1';
              6:ans0:=ans0+'7';
              7:ans0:=ans0+'3';
            end;
          end;
        writeln;
        gettime(hh,mm,ss,sec100);
        time0:=mm*60+ss;
        ans:='';
        readln(ans);
        gettime(hh,mm,ss,sec100);
        time:=mm*60+ss;
        if ans<>'' then
        if ans<>ans0 then begin writeln('Miss');inc(mark[5]);end
        else
          if time-time0<=r then begin writeln('Perfect');inc(mark[1]);end
          else if time-time0<=r+1 then begin writeln('Great');inc(mark[2]);end
            else if time-time0<=r+2 then begin writeln('Cool');inc(mark[3]);end
             else if time-time0<=r+3 then begin writeln('Bad');inc(mark[4]);end
               else begin writeln('Miss');inc(mark[5]);end;
        time:=0;
        time0:=0;
        end;
        writeln('End!');
        writeln('Perfect:',mark[1]);
        writeln('Great:',mark[2]);
        writeln('Cool:',mark[3]);
        writeln('Bad:',mark[4]);
        writeln('Miss:',mark[5]);
      end;
      writeln('5 for exit.  0 for replay.');
      repeat
        read(p);
      until (p=5) or (p=0);
      if p=0 then goto 1
      else halt;
    end.

    这个东东,支持 4K、8K(4方向、8方向),支持同步舞蹈和 Crazy-11,速度不满意可以自己修改参数,还支持修改 BPM 。(再加个音乐就完美了 T_T)

    好吧,就素这样,各位寂寞的 OIer 可以试试看。

    PS:AU  学名 劲舞团。。。。。。

  • 相关阅读:
    2020.10.23 19级training 补题报告
    2020.10.17 天梯赛练习 补题报告
    2020.10.16 19级training 补题报告
    2020.10.9 19级training 补题报告
    2020.10.10 天梯赛练习 补题报告
    2020.10.3 天梯赛练习 补题报告
    2020.10.2 19级training 补题报告
    第十届山东省ACM省赛复现补题报告
    VVDI Key Tool Plus Adds VW Passat 2015 Key via OBD
    Xhorse VVDI Prog Software V5.0.3 Adds Many MCUs
  • 原文地址:https://www.cnblogs.com/SueMiller/p/2120536.html
Copyright © 2011-2022 走看看