home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1996 February / VPR9602A.ISO / ffilly / filly130 / mmtext.tfy < prev    next >
Text File  |  1995-10-29  |  7KB  |  252 lines

  1. //TOFFYシナリオのひな型
  2.  
  3. //作品情報(""内を書き換えて下さい)
  4. #info INAM "まるちめでぃあ★てきすと"
  5. #info ISBJ "文芸を手軽にタイトルに、、、"
  6. #info VIDO "640x480,256色"
  7. #info WRIT "ともゆん"
  8. #info ICOP "ともゆん"
  9.  
  10. int Win_No, Back_Pic,FontSize,BaseX,BaseY, BlackPic,IsInPage,CPic, MaxPage, Page[], Sect[], MaxSect,base_pic_x, base_pic_y,PicLeft,PicTop;
  11. str BaseFont, IniName, Title[];
  12. //シナリオ本体
  13. main(){
  14. //ここからシナリオを書き始めて下さい
  15.     int i, j;
  16.     int BackPic;
  17.     str TmpStr;
  18.  
  19.     IniName="mmtext.ini";   //////////////////////////////////////読み込みファイル名指定
  20.  
  21.     BlackPic=LoadPic("black.bmp");//フェードイン用背景を読み込みまーす
  22.     CPic=CreatePic(BlackPic);
  23.     MovePic(BlackPic,0,0,640,480,CPic,0,0);
  24.  
  25.     base_pic_x=PicWidth(BlackPic);
  26.     base_pic_y=PicHeight(BlackPic);
  27.     PicLeft=(WinInfo(0)-base_pic_x)/2-1;
  28. //    PicRight=(WinInfo(0)+base_pic_x)/2-1;
  29.     PicTop=(WinInfo(1)-base_pic_y)/2-1;
  30. //    PicBottom=(WinInfo(1)+base_pic_y)/2-1;
  31.  
  32.     CapTitle("");    //ウィンドウの上のキャプションバーを消します。
  33.  
  34.     OpenWin(CPic,
  35.          -1,    //スクリーンの左上隅からちょっとだけ左
  36.         -1,    //スクリーンの左上隅からちょっとだけ上 (ウィンドウの枠を消したいので)
  37.         WinInfo(0),    //スクリーンの横幅と同じ大きさのサイズ
  38.         WinInfo(1),    //縦の高さのサイズ
  39.         -PicLeft+1,    //ピクチャーの表示を画面の中央に、、、
  40.         -PicTop+1,    //同じく
  41.         0);        //バックグラウンドを黒に
  42.  
  43.  
  44.     BaseFont    =GetIniStr("system","basefont","MS 明朝",IniName);
  45.     FontSize=GetIniInt("system","fontsize",16,IniName);
  46.     BaseX=GetIniInt("system","startx", 38,IniName);
  47.     BaseY=GetIniInt("system","starty", 84,IniName);
  48.     j=0; Title[0]=" "; Sect[0]=1;
  49.     for(i=1;GetIniStr(StrPrint("Page%ld",i),"Text1","/E",IniName)!="/E";i=i+1){
  50.         if((TmpStr=GetIniStr(StrPrint("Page%ld",i),"Title","/E",IniName))!="/E"){
  51.             j=j+1;
  52.             Sect[j]=i;
  53.             Title[j]=TmpStr;
  54.         }
  55.         Page[i]=j;
  56.     }
  57.     MaxPage=i-1;
  58.     MaxSect=j;
  59.     IsInPage=0;//背景がページモードなら1
  60.  
  61.     Opening();
  62. //ここまでに書いてください
  63. }
  64.  
  65. Opening()
  66. {
  67.     int Pic_No;
  68.     Pic_No=LoadPic(GetIniStr("system","startpic","open.bmp",IniName));
  69. //    MovePic(BlackPic,0,0,640,480,CPic,0,0);
  70. //    MoveWin(Win_No,CPic);
  71.     MovePic(Pic_No,0,0,640,480,CPic,0,0,2,20);
  72.     
  73.  
  74. mes(LBDOWN){
  75.     if(MesP3>(392+PicTop)&&MesP3<(427+PicTop)){
  76.         if(MesP2>497+PicLeft&&MesP2<532+PicLeft){
  77.                 PlayWAVE("kachi.wav");
  78.             WritePage(1);
  79.             DelPic(Pic_No);
  80.             del_me;
  81.         }else{
  82.             if(MesP2>451+PicLeft&&MesP2<485+PicLeft){
  83.                 PlayWAVE("kachi.wav");
  84.                 Prof();
  85.                 DelPic(Pic_No);
  86.                 del_me;
  87.             }else{
  88.                 if(MesP2>544+PicLeft&&MesP2<579+PicLeft){
  89.                      BackMode(1);
  90.                     TextColor(255,255,255);
  91.                     SetFont( 80, "Times New Roman", 0, 0, 0, 0, 800,1 ,0,0,0,0,0,2,1);
  92.                     TextWrite("Fin.",BlackPic,260,180);
  93.                     MovePic(BlackPic,0,0,640,480,CPic,0,0,3,20);
  94.                     mes(TIME){step(30){,
  95.                         DelPic(Pic_No);
  96.                         CloseWinAll();
  97.                         del_all;
  98.                         del_me;
  99.                     }}
  100.                     del_me;
  101.                 }
  102.             }
  103.         }
  104.     }
  105.  
  106.   PlayWAVE("shuu.wav");
  107.  
  108.  
  109. }
  110.  
  111. Prof()
  112. {
  113.     int Pic_No;
  114.     Pic_No=LoadPic(GetIniStr("system","profpic","prof.bmp",IniName));
  115.     MovePic(Pic_No,0,0,640,480,CPic,0,0,2,20);
  116.     
  117.  
  118. mes(LBDOWN){
  119.     if(MesP3>414+PicTop&&MesP3<446+PicTop&&MesP2>590+PicLeft&&MesP2<622+PicLeft){
  120.                 PlayWAVE("kachi.wav");
  121.         Opening();
  122.         DelPic(Pic_No);
  123.         del_me;
  124.     }
  125.  
  126.   PlayWAVE("shuu.wav");
  127.  
  128. }
  129. }
  130.  
  131. WritePage(int PageNo)
  132. {
  133.     str sect,text;
  134.     int x,y,i,Tmp,p;
  135.  
  136.     if(IsInPage!=1){
  137.         Back_Pic=LoadPic(GetIniStr("system","backpic","back.bmp",IniName));
  138.     }    
  139.     Tmp=CreatePic(Back_Pic);
  140.     MovePic(Back_Pic,0,0,640,480,Tmp,0,0);
  141.  
  142.     sect=StrPrint("Page%ld",PageNo);
  143.     x=GetIniInt(sect, "startx", BaseX,IniName);
  144.     y=GetIniInt(sect, "starty", BaseY,IniName);
  145.      BackMode(1);
  146.     SetFont( 24, "MS ゴシック", 128, 0, 0, 0, 800 );
  147.     TextColor(0,0,0);
  148.     TextWrite(Title[Page[PageNo]],Tmp,61,21);
  149.     TextColor(0,0,255);
  150.     TextWrite(Title[Page[PageNo]],Tmp,60,20);
  151.     SetFont( 20, "MS 明朝", 128, 0, 0, 0, 400 );
  152.     TextColor(0,0,0);
  153.     TextWrite(StrPrint("P.%ld",PageNo),Tmp,511,24);
  154.     TextColor(255,0,0);
  155.     TextWrite(StrPrint("P.%ld",PageNo),Tmp,510,23);
  156.     TextColor(0,0,95);
  157.     SetFont(GetIniInt(sect,"fontsize",FontSize,IniName),GetIniInt(sect,"fontname",BaseFont,IniName),128, 0, 0, 0, 400);
  158.     if((text=GetIniStr(sect,"wave","/E",IniName))!="/E"){PlayWAVE(text);}
  159.     if((text=GetIniStr(sect,"midi","/E",IniName))!="/E"){PlayMIDI(text);}
  160.  
  161.     for(i=1;(text=GetIniStr(sect,StrPrint("Pic%ld",i),"/E",IniName))!="/E";i=i+1){
  162.         p=LoadPic(text);
  163.         MovePic(p,0,0,PicWidth(p),PicHeight(p),Tmp,GetIniInt(sect,StrPrint("Pic%ldx",i),27,IniName),GetIniInt(sect,StrPrint("Pic%ldy",i),73,IniName));
  164.         DelPic(p);
  165.     }
  166.     for(i=1;(text=GetIniStr(sect,StrPrint("Text%ld",i),"/E",IniName))!="/E";i=i+1){
  167.         if(StrFind(text,"/EM")==0){
  168.             TextColor(0,0,0);
  169.             SetFont( GetIniInt(sect,"fontsize",FontSize,IniName)+4, "MS ゴシック", 128, 0, 0, 0, 800 );
  170.             TextWrite(SubStr(text,3,StrLen(text)-3),Tmp,x+1,y-1);
  171.             TextColor(0,50,200);
  172.             //SetFont( GetIniInt(sect,"fontsize",FontSize,IniName)+4, "MS ゴシック", 128, 0, 0, 0, 800 );
  173.             TextWrite(SubStr(text,3,StrLen(text)-3),Tmp,x,y-2);
  174.             y=y+4;
  175.             TextColor(0,0,95);
  176.             SetFont(GetIniInt(sect,"fontsize",FontSize,IniName),GetIniInt(sect,"fontname",BaseFont,IniName),128, 0, 0, 0, 400);
  177.         }else{
  178.             TextWrite(text,Tmp,x,y);
  179.         }
  180.         y=y+FontSize+3;
  181.     }
  182.  
  183.  
  184.     if(IsInPage!=1){
  185.         MovePic(Tmp,0,0,640,480,CPic,0,0,2,20);
  186.         mes(TIME){step(200){,,,,,,DelPic(Tmp);del_me;}}
  187.         IsInPage=1;
  188.     }else{
  189.         MovePic(Tmp,0,0,640,480,CPic,0,0);
  190.         DelPic(Tmp);
  191.     }
  192.  
  193.  
  194.   mes(LBDOWN){
  195.     if(MesP2>590+PicLeft&&MesP2<622+PicLeft){
  196.         if(MesP3>84+PicTop&&MesP3<141+PicTop){
  197.             if(Page[PageNo]<=0){
  198.                 goto Endmes;
  199.             }
  200.             PlayWAVE("pachi.wav");
  201.             PageNo=Sect[Page[PageNo]-1];
  202.             WritePage(PageNo);
  203.             del_me;
  204.         }else{
  205.             if(MesP3>162+PicTop&&MesP3<218+PicTop){
  206.                 if(PageNo<=1){
  207.                     goto Endmes;
  208.                 }
  209.                 PlayWAVE("pachi.wav");
  210.                 PageNo=PageNo-1;
  211.                 WritePage(PageNo);
  212.                 del_me;
  213.             }else{
  214.                 if(MesP3>257+PicTop&&MesP3<312+PicTop){
  215.                     if(PageNo>=MaxPage){
  216.                         goto Endmes;
  217.                     }
  218.                     PlayWAVE("pachi.wav");
  219.                     PageNo=PageNo+1;
  220.                     WritePage(PageNo);
  221.                     del_me;
  222.                 }else{
  223.                     if(MesP3>335+PicTop&&MesP3<390+PicTop){
  224.                         if(Page[PageNo]>=MaxSect){
  225.                             goto Endmes;
  226.                         }
  227.                         PlayWAVE("pachi.wav");
  228.                         PageNo=Sect[Page[PageNo]+1];
  229.                         WritePage(PageNo);
  230.                         del_me;
  231.                     }else{
  232.                         if(MesP3>414+PicTop&&MesP3<446+PicTop){
  233.                             PlayWAVE("kachi.wav");
  234.                             Opening();
  235.                             DelPic(Back_Pic);
  236.                             IsInPage=0;
  237.                             del_me;
  238.                         }
  239.                     }
  240.                 }
  241.             }
  242.         }
  243.     }
  244.   Endmes:;
  245.   PlayWAVE("shuu.wav");
  246.   } 
  247.  
  248. }
  249.  
  250.  
  251.