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

  • 相关阅读:
    Atitit.异步编程技术原理与实践attilax总结
    AjaxToolKit之Rating控件的使用(http://www.soaspx.com/dotnet/ajax/ajaxtech/ajaxtech_20091021_1219.html)
    JavaScript初学指南
    javascript泛型集合类(转)
    HTTP 错误 404.2 Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
    IIS连接oralce数据库时 提示“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”
    配置错误定义了重复的“system.web.extensions/scripting/scriptResourceHandler” 解决办法
    self.location.href的具体用法(转)
    CSS Overflow属性详解(转)
    .net中使用showModalDialog打开模式窗口,在后台代码中使用Response.Write()会弹出新页面
  • 原文地址:https://www.cnblogs.com/SueMiller/p/2120536.html
Copyright © 2011-2022 走看看