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  学名 劲舞团。。。。。。

  • 相关阅读:
    QQ群友在线/离线,如何测试?
    QQ好友在线/离线,怎么测试?
    用户体验测试一样很重要
    BUG,带给我的思考
    chrome DevTools
    HTTP、HTTPS
    Knockout双向绑定
    微信小程序
    git fetch 更新远程代码到本地仓库
    Git 同步远程仓库
  • 原文地址:https://www.cnblogs.com/SueMiller/p/2120536.html
Copyright © 2011-2022 走看看