home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 March / VPR9703A.ISO / FFILLY / FTILE400 / REPORT.TFY < prev    next >
Text File  |  1996-12-19  |  6KB  |  217 lines

  1. /* 成績表Toffyファイル */
  2.  
  3. sorttitle(stepsum,clearsum){
  4.  
  5.     int i,j,d1,d2,size;
  6.     str string,nostring,stagestring,stepstring,clearstring;
  7.  
  8.     SetFont(36, "MS ゴシック",128,0,0,0,500);
  9.     TextColor(255,0,0);
  10.     TextWrite("ふらっとタイル 成績表ソート",sortpic,20,15);
  11.  
  12.     SetLineSize(2);
  13.     DrawRect(sortpic,30,90,511,291,0,1);
  14.     SetLineSize(1);
  15.     SetPaintColor(0x000000);
  16.  
  17.     //ソート
  18.     for(j=0;j<58;j=j+1){
  19.         for(i=0;i<59;i=i+1){
  20.             if(sortarray[i]<sortarray[i+1]){
  21.                 d1=sortarray[i];            d2=stagearray[i];
  22.                 sortarray[i]=sortarray[i+1];        stagearray[i]=stagearray[i+1];
  23.                 sortarray[i+1]=d1;            stagearray[i+1]=d2;
  24.             }
  25.         }
  26.     }
  27.  
  28.     for(j=0;j<6;j=j+1){
  29.         for(i=0;i<10;i=i+1){
  30.  
  31.             DrawLine(sortpic,30,90+20*i,511,90+20*i);
  32.             DrawLine(sortpic,110+80*j,90,110+80*j,291);
  33.             BackMode(1);
  34.             SetFont(16, "MS ゴシック",128,0,0,0,400);
  35.             TextColor(0,0,0);
  36.             nostring=StrPrint("%2d",stagearray[i+10*j]);
  37.  
  38.             stagestring=StrPrint("stage_%ld",stagearray[i+10*j]);
  39.  
  40.             string=StrPrint("%ld",sortarray[i+10*j]);
  41.             size=StrLen(string);
  42.  
  43.             TextWrite(nostring,sortpic,33+80*j,92+20*i);
  44.             SetFont(20, "MS ゴシック",0,0,0,0,400);
  45.             TextColor(0,0,255);
  46.             
  47.             if(size==1)    TextWrite(string,sortpic,92+80*j,90+20*i);
  48.             if(size==2)    TextWrite(string,sortpic,83+80*j,90+20*i);
  49.             if(size==3)    TextWrite(string,sortpic,74+80*j,90+20*i);
  50.             if(size==4)    TextWrite(string,sortpic,65+80*j,90+20*i);
  51.  
  52.             MovePic(yellowpic,0,0,4,14,sortpic,102+80*j,93+20*i);
  53.         }
  54.     }
  55.  
  56.     clearstring=StrPrint("クリアステージ数:%2ld",clearsum);
  57.     stepstring=StrPrint("ステップ数合計:%5ld",stepsum);
  58.     SetFont(20, "MS ゴシック",128,0,0,0,900);
  59.     TextColor(0,255,0);
  60.     TextWrite(clearstring,sortpic,10,60);
  61.     TextWrite(stepstring,sortpic,300,60);
  62. }
  63.  
  64. reporttitle(){
  65.  
  66.     int i,j,k,size,stageno;
  67.     str string,nostring,stagestring,stepstring,clearstring;
  68.     stageno=0;
  69.  
  70.     stepsum=0;
  71.     clearsum=0;
  72.  
  73.     SetFont(36, "MS ゴシック",128,0,0,0,500);
  74.     TextColor(255,0,0);
  75.     TextWrite("ふらっとタイル  成績表",reportpic,55,15);
  76.  
  77.     SetLineSize(2);
  78.     DrawRect(reportpic,30,90,511,291,0,1);
  79.     SetLineSize(1);
  80.     SetPaintColor(0x000000);
  81.  
  82.     for(j=0;j<6;j=j+1){
  83.         for(i=0;i<10;i=i+1){
  84.             stageno=stageno+1;
  85.             stagearray[i+10*j]=stageno;
  86.             DrawLine(reportpic,30,90+20*i,511,90+20*i);
  87.             DrawLine(reportpic,110+80*j,90,110+80*j,291);
  88.             BackMode(1);
  89.             SetFont(16, "MS ゴシック",128,0,0,0,400);
  90.             TextColor(0,0,0);
  91.             nostring=StrPrint("%2d",stageno);
  92.  
  93.             stagestring=StrPrint("stage_%ld",stageno);
  94.             sortarray[i+10*j]=GetIniInt("report",stagestring,100,"flattile.ini");
  95.  
  96.             stepsum=stepsum+sortarray[i+10*j];
  97.             if(sortarray[i+10*j]>0)    clearsum=clearsum+1;
  98.             string=StrPrint("%ld",sortarray[i+10*j]);
  99.             size=StrLen(string);
  100.  
  101.             TextWrite(nostring,reportpic,33+80*j,92+20*i);
  102.             SetFont(20, "MS ゴシック",0,0,0,0,400);
  103.             TextColor(0,0,255);
  104.             if(size==1)    TextWrite(string,reportpic,92+80*j,90+20*i);
  105.             if(size==2)    TextWrite(string,reportpic,83+80*j,90+20*i);
  106.             if(size==3)    TextWrite(string,reportpic,74+80*j,90+20*i);
  107.             if(size==4)    TextWrite(string,reportpic,65+80*j,90+20*i);
  108.  
  109. //            MovePic(yellowpic,0,0,4,14,reportpic,102+80*j,93+20*i);
  110.         }
  111.     }
  112.  
  113.     clearstring=StrPrint("クリアステージ数:%2ld",clearsum);
  114.     stepstring=StrPrint("ステップ数合計:%5ld",stepsum);
  115.     SetFont(20, "MS ゴシック",128,0,0,0,900);
  116.     TextColor(0,255,0);
  117.     TextWrite(clearstring,reportpic,10,60);
  118.     TextWrite(stepstring,reportpic,300,60);
  119. }
  120.  
  121. filewrite(str filestring)
  122. {
  123.     int i,j,k;
  124.     int filewriteno;
  125.     str string,stagestring,newline;
  126.  
  127.     filewriteno=OpenF(filestring,0x1000);
  128.  
  129.     WriteF(filewriteno,0x0a,1);
  130.     StrWriteF(filewriteno,"         ふらっとタイル Ver 4.00+  成績表");
  131.     WriteF(filewriteno,0x0a,1);
  132.     WriteF(filewriteno,0x0a,1);
  133.  
  134.     string=StrPrint("      クリアステージ数:%2ld  ステップ数合計:%5ld",clearsum,stepsum);
  135.     StrWriteF(filewriteno,string);
  136.     WriteF(filewriteno,0x0a,1);
  137.     WriteF(filewriteno,0x0a,1);
  138.  
  139.     for(i=1;i<=10;i=i+1){
  140.         for(j=0;j<3;j=j+1){
  141.  
  142.             stagestring=StrPrint("stage_%ld",i+10*j);
  143.             k=GetIniInt("report",stagestring,100,"flattile.ini");
  144.             string=StrPrint("      STAGE %2ld:%4ld",i+10*j,k);
  145.             StrWriteF(filewriteno,string);
  146.  
  147.             if(j==2){
  148.                 WriteF(filewriteno,0x0a,1);
  149.             }
  150.  
  151.         }
  152.     }
  153.     WriteF(filewriteno,0x0a,1);
  154.  
  155.     CloseF(filewriteno);
  156. }
  157.  
  158. sort()
  159. {
  160.     mes(LBDOWN){
  161.         if((MesP2>450 && MesP3>300 && MesP2<510 && MesP3<320) && MesP1==(sortwinno)){
  162.             MovePic(bottunpic,59,76,59,19,sortpic,450,300);
  163.             CloseWin(sortwinno);
  164.             closewave();
  165.             MovePic(bottunpic,0,76,59,19,sortpic,450,300);
  166.             del_me;
  167.         }
  168.     }
  169. }
  170.  
  171. report(){
  172.  
  173.     str filestring,msgstring;
  174.  
  175.     openwave();
  176.  
  177.     mes(LBDOWN){
  178.  
  179.         //ソート
  180.         if((MesP2>270 && MesP3>300 && MesP2<330 && MesP3<320) && MesP1==(reportwinno)){
  181.             MovePic(bottunpic,59,266,59,19,reportpic,270,300);
  182.             openwave();
  183.  
  184.             CapTitle("ふらっとタイル Ver 5.00 成績表ソート");
  185.             sortwinno=OpenWin(sortpic,60,60);
  186.             sort();
  187.             MovePic(bottunpic,0,266,59,19,reportpic,270,300);
  188.         }
  189.  
  190.         //ファイル出力
  191.         if((MesP2>360 && MesP3>300 && MesP2<420 && MesP3<320) && MesP1==(reportwinno)){
  192.             MovePic(bottunpic,59,247,59,19,reportpic,360,300);
  193.             openwave();
  194.  
  195.             filestring=StrInput("rec","成績ファイル(*.rec)|*.rec||",1,0x0002,"flattile.rec",0);
  196.             if(filestring!="")
  197.             {
  198.                 filewrite(filestring);
  199.                 openwave();
  200.                 msgstring=StrPrint("%s にステップ数を書き込みました",filestring);
  201.                 MsgBox(msgstring,0x40);
  202.             }
  203.                 closewave();
  204.                 MovePic(bottunpic,0,247,59,19,reportpic,360,300);
  205.         }
  206.  
  207.         if((MesP2>450 && MesP3>300 && MesP2<510 && MesP3<320) && MesP1==(reportwinno)){
  208.             MovePic(bottunpic,59,76,59,19,reportpic,450,300);
  209.             CloseWin(reportwinno);
  210.             closewave();
  211.             MovePic(bottunpic,0,76,59,19,reportpic,450,300);
  212.             del_me;
  213.         }
  214.     }
  215. }
  216.  
  217.