home *** CD-ROM | disk | FTP | other *** search
/ ring.yamanashi.ac.jp/pub/pc/freem/action/ / action.zip / TQAP.zip / Usr / Load.tonyu < prev    next >
Text File  |  2007-06-24  |  8KB  |  353 lines

  1. extends SpriteChar;
  2.  
  3. $screenWidth =32*15;
  4. $screenHeight=32*12;
  5. $map.setbgcolor(color(0,0,0));
  6.  
  7. header=new Array();
  8. footer=new Array();
  9. FileName=$Location.stagefile;
  10. //FileName="stagedata1.txt";
  11. saved=0;
  12.  
  13. p=-1;
  14.  
  15. if ($Location.nokori!=-100){
  16.  
  17.   _stage=$Location.stage;
  18.   if (_stage>=1  && _stage<=10) $mplayer.play($se_nm128     ,1);
  19.   if (_stage>=11 && _stage<=20) $mplayer.play($se_freeworld ,1);
  20.   if (_stage>=21 && _stage<=30) $mplayer.play($se_Stage3 ,1,64);
  21.   if (_stage>=31 && _stage<=40) $mplayer.play($se_terepa ,1,64);
  22.   if (_stage>=41 && _stage<=50) $mplayer.play($se_field06,1,64);
  23. }
  24.  
  25. appear(new Effect(x,y,"black5sec"));
  26.  
  27. update();
  28.  
  29. for (e in $chars){
  30.   if (e is Effect && e.text!="black5sec") e.die();
  31.   if (e is Enemy ) e.die();
  32.   if (e is Mychar) e.die();
  33.   if (e is Key   ) e.die();
  34.   if (e is Lever ) e.die();
  35.   if (e is Door  ) e.die();
  36.   if (e is Puppet) e.die();
  37. }
  38.  
  39. wait(1);
  40. init();
  41. new_play();
  42.  
  43. if ($Location.status_change==1){
  44.   file=new FileReader("status.txt");
  45.   status=valueOf(file.readLn());
  46.   file.close();
  47.   if (status<1){
  48.     file=new FileWriter("status.txt");
  49.     file.writeLn(1);
  50.     $mplayer.play($se_pi31);
  51.     file.close();
  52.   }
  53. }
  54.  
  55.  
  56. for (_time=0;_time<250;_time++){
  57.   $map.scrollTo(0,0); 
  58.  
  59.   drawText  (100,100,"STAGE "+$Location.stage,$clWhite,12,0);
  60.   
  61.   drawSprite(200,250,$pat_chara+0,-1,0);
  62.   fillRect(0,0,$screenWidth*2,$screenHeight*2,$clBlack,1);
  63.   
  64.   if ($Location.nokori>=0){
  65.     drawText(230,245,"ü~ "+$Location.nokori,$clWhite,12,0);
  66.   }
  67.   if ($Location.nokori==-100){
  68.     drawText(230,245,"Edit Mode",$clWhite,12,0);
  69.   }
  70.   
  71.   if (getkey(83)==1 && saved!=1){
  72.     
  73.     saved=1;
  74.     
  75.     //âtâ@âCâïé╠ôαùeé≡ô╟é▌ì₧é▌üAêΩÆUözù±é╔ò█æ╢
  76.     file=new FileReader(FileName);
  77.     while(1){
  78.       text=file.readLn();
  79.       if (text=="*save") break;
  80.       header.add(text);
  81.     }
  82.     while(1){
  83.       text=file.readLn();
  84.       if (text=="") break;
  85.     }
  86.     while(1){
  87.       text=file.readLn();
  88.       if (text==null) break;
  89.       footer.add(text);
  90.     }
  91.     file.close();
  92.     
  93.     //âfü[â^é╠Åæé½ì₧é▌üiâwâbâ_ü[üAâfü[â^üAâtâbâ^ü[é╠Åçüj
  94.     
  95.     file=new FileWriter(FileName);
  96.     
  97.     for(i=0;i<header.size();i++){
  98.       file.writeLn(header.get(i));
  99.     }
  100.     
  101.     file.writeLn("*save");
  102.     file.writeLn("Start  :"+ThreeDigit($Location.stage));
  103.     file.writeLn("X-pos  :"+ThreeDigit($Location.set_x));
  104.     file.writeLn("Y-pos  :"+ThreeDigit($Location.set_y));
  105.     file.writeLn("Remain :"+ThreeDigit($Location.nokori));
  106.     
  107.     file.writeLn("");
  108.     
  109.     for(i=0;i<footer.size();i++){
  110.       file.writeLn(footer.get(i));
  111.     }
  112.     file.close();
  113.   }
  114.   
  115.   if (saved==1) drawText(100,250,"SAVE!",$clWhite,12,0);
  116.   
  117.   update();
  118. }
  119.  
  120. //OnePointAdvise();
  121.  
  122. jiki.pause=0;
  123.  
  124.  
  125.  
  126.  
  127. function new_play(){
  128.   
  129.   var e,e_p,new_obj;
  130.   var _x,_y,_x1,_y1,_x2,_y2;
  131.   var file;
  132.   
  133.   e_p=null;
  134.   
  135.   file=new FileReader(FileName);
  136.   
  137.   while(1){
  138.     blockline=file.readLn();
  139.     if (blockline=="Stage"+ThreeDigit($Location.stage)) break;
  140.   }
  141.   
  142.   if (file.error()==0){
  143.     
  144.     //â}âbâvô╟é▌ì₧é▌
  145.     blockzero=$pat_block+0;
  146.     for (_y=1;_y<25;_y++){
  147.       blockline=file.readLn();
  148.       for  (_x=1;_x<31;_x++){
  149.         block=blockzero+valueOf(blockline.substring((_x-1)*2,_x*2));
  150.         if (block==$pat_block+13) {
  151.           $map.set(_x,_y,$pat_block+3);
  152.         }
  153.         else if (block==$pat_block+14) {
  154.           $map.set(_x,_y,$pat_block+4);
  155.         }
  156.         else {
  157.           $map.set(_x,_y,block);
  158.         }
  159.       }  
  160.     }
  161.   }
  162.   
  163.   jiki=appear(new Mychar($Location.set_x*32+16,$Location.set_y*32+16));
  164.   jiki.pause=1;
  165.   
  166.   blockline=file.readLn();
  167.   jiki.Scroll=valueOf(blockline.substring(7,8));
  168.   wait(1);
  169.   
  170.   while(1){
  171.     blockline=file.readLn();
  172.     if (blockline=="") break;
  173.     e_name=        blockline.substring(0,3) ;
  174.     ex    =valueOf(blockline.substring(4,6));
  175.     ey    =valueOf(blockline.substring(7,9));
  176.     //ôGé≡âZâbâg
  177.     if (e_name=="TR1") e_p=$pat_enemy+6;
  178.     if (e_name=="TR2") e_p=$pat_enemy+7;
  179.     if (e_name=="HOP") e_p=$pat_enemy+12;
  180.     if (e_name=="GST") e_p=$pat_enemy+15;
  181.     if (e_name=="WLF") e_p=$pat_enemy+18;
  182.     if (e_name=="BBL") e_p=$pat_enemy+21;
  183.     if (e_name=="RF1") e_p=$pat_enemy+9;
  184.     if (e_p!=null)     appear(new Enemy(ex*32+16,ey*32+16,e_p));
  185.     
  186.     if (e_name=="RTR") {
  187.       e=appear(new Enemy(ex*32+16,ey*32+16,$pat_enemy+8));
  188.       e.rotate=1;
  189.     }
  190.     if (e_name=="RTL") {
  191.       e=appear(new Enemy(ex*32+16,ey*32+16,$pat_enemy+8));
  192.       e.rotate=0;
  193.     }
  194.     
  195.     //öαé≡âZâbâg
  196.     if (e_name=="DOR") {
  197.       e=appear(new Door(ex*32+16,ey*32+16,$pat_door+0));
  198.       e.next_stage=valueOf(blockline.substring(13,16));
  199.       e.next_x    =valueOf(blockline.substring(17,19));
  200.       e.next_y    =valueOf(blockline.substring(20,22));
  201.     }
  202.     if (e_name=="END") appear(new Door(ex*32+16,ey*32+16,$pat_door+2));
  203.       
  204.     
  205.     //âJâMé≡âZâbâg
  206.     if (e_name=="KEY") appear(new Key(ex*32+16,ey*32+16,$pat_key+0));
  207.     
  208.     if (e_name=="LV1") appear(new Lever(ex*32+16,ey*32+16,$pat_lever+0));
  209.     if (e_name=="LV2") appear(new Lever(ex*32+16,ey*32+16,$pat_lever+3));
  210.     if (e_name=="LV3") appear(new Lever(ex*32+16,ey*32+16,$pat_lever+6));
  211.     if (e_name=="LV4") appear(new Lever(ex*32+16,ey*32+16,$pat_lever+9));
  212.     
  213.     e_p=null;
  214.     fillRect(0,0,$screenWidth*2,$screenHeight*2,$clBlack,1);
  215.     update();
  216.   }
  217.   
  218. }
  219.  
  220. //ÉöÄÜé≡3îàé╔
  221. function ThreeDigit(number){
  222.   
  223.   var char;
  224.   if (number< 100) char="0" +number;
  225.   if (number< 10 ) char="00"+number;
  226.   if (number>=100) char=""  +number;
  227.   
  228.   return char;
  229.   
  230. }
  231. //ÉöÄÜé≡2îàé╔
  232. function TwoDigit(number){
  233.   
  234.   var char;
  235.   if (number< 10) char="0"+number;
  236.   if (number>=10) char="" +number;
  237.   
  238.   return char;
  239.   
  240. }
  241.  
  242.  
  243. function init(){
  244.   
  245.   var e;
  246.   var _x,_y;
  247.   
  248.   for (_y=0;_y<27;_y++){
  249.     for  (_x=0;_x<32;_x++){
  250.       $map.set(_x,_y,$pat_block+0);
  251.     }  
  252.   }
  253.   
  254.   for (_x=0;_x<32;_x++){
  255.     $map.set(_x,0,$pat_block+11);
  256.   }
  257.   for (_x=0;_x<32;_x++){
  258.     $map.set(_x,26,$pat_block+11);
  259.   }  
  260.   
  261.   for (_y=0;_y<27;_y++){
  262.     $map.set(0 ,_y,$pat_block+11);
  263.   } 
  264.   for (_y=0;_y<27;_y++){
  265.     $map.set(31,_y,$pat_block+11);
  266.   } 
  267.   
  268.   for (_x=1;_x<31;_x++){
  269.     $map.set(_x,25,$pat_block+1);
  270.   } 
  271.   
  272. }
  273.  
  274.  
  275. function OnePointAdvise(){
  276.   
  277.   var sx,sy,_set1,_set2,i;
  278.   var x1,y1,x2,y2,x3,y3,x4,y4;
  279.   var _time,e;
  280.   
  281.   jiki.setVisible(0);
  282.   
  283.   sx=jiki.x-$screenWidth/2;
  284.   sy=jiki.y-$screenHeight/2;
  285.   
  286.   if (sx<32) sx=32;
  287.   if (sx>$screenWidth+32) sx=$screenWidth+32;
  288.   if (sy<32) sy=32;
  289.   if (sy>$screenHeight+32) sy=$screenHeight+32;
  290.   
  291.   if (jiki.Scroll==0){
  292.     $map.scrollTo(sx,sy); 
  293.   }
  294.   if (jiki.Scroll==1){
  295.     _set1=trunc($Location.set_y/12)*32+32;
  296.     $map.scrollTo(sx,_set1); 
  297.   }
  298.   if (jiki.Scroll==2){
  299.     _set2=trunc($Location.set_x/16)*32+32;
  300.     $map.scrollTo(_set2,sy); 
  301.   }
  302.   if (jiki.Scroll==3){
  303.     _set1=trunc($Location.set_x/16)*32*15+32;
  304.     _set2=trunc($Location.set_y/12)*32*12+32;
  305.     $map.scrollTo(_set1,_set2); 
  306.   }
  307.   
  308.   wait(1);
  309.   $mplayer.play($se_power31);
  310.   
  311.   x1=$viewX+90;
  312.   y1=$ViewY+70;
  313.   x2=x1+300;
  314.   y2=y1+200;
  315.   x3=x1+85;
  316.   y3=y1+15;
  317.   x4=x1+215;
  318.   y4=y1+215;
  319.   
  320.   mx=x1+50;
  321.   my=y1+50;
  322.   
  323.   _time=0;
  324.   
  325.   while(1){
  326.     fillRect(x1  ,y1  ,x2  ,y2  ,$clWhite,-2);
  327.     fillRect(x1+3,y1+3,x2-3,y2-3,$clBlack,-3);
  328.     if (_time<50 ) drawText(x3,y3,"One Point Advise",$clWhite,12,-4);
  329.     if (_time>100) _time=0;
  330.     _time++;
  331.     drawText(x4,y4,"Press X Key",$clWhite,10,-4);
  332.     if (getkey(88)==1) break;
  333.     
  334.     if ($Location.stage==2) {
  335.       mes1="âuâìâbâNé═éPâ}âXùúéΩé╜é╞é▒éδé╔";
  336.       mes2="Åoé╖é▒é╞éαé┼é½é▄é╖üB";
  337.       mes3="";
  338.       mes4="";
  339.       mes5="";
  340.       pattern=$pat_advise+0;
  341.     }
  342.     
  343.     drawText(mx,my     ,mes1,$clWhite,10,-4);
  344.     drawText(mx,my+16*1,mes2,$clWhite,10,-4);
  345.     drawText(mx,my+16*2,mes3,$clWhite,10,-4);
  346.     drawText(mx,my+16*3,mes4,$clWhite,10,-4);
  347.     drawText(mx,my+16*4,mes5,$clWhite,10,-4);
  348.     if (pattern!=null) drawSprite(mx,my,pattern,0,-4);
  349.     update();
  350.   }
  351.   
  352.   jiki.setVisible(1);
  353. }