home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1998 November / VPR9811A.BIN / FFILLY / PYON10 / PYON.TFY < prev    next >
Text File  |  1998-07-17  |  19KB  |  695 lines

  1.  
  2.  int FILENO;
  3.  int GAMEPIC,GAMEPIC2;
  4.  int MAPA[];        //マップデータ
  5.  
  6.  int i,i0,i1,i2,i3;
  7.  int MOUY,MOUX,MOUBT,MOUBTR;
  8.  int BASEPIC,BACKPIC,BACKPIC2;
  9.  int MWIN;
  10.  int SX,SY;
  11.  int SCORE;    //スコア
  12.  int HISCORE;    //スコア
  13.  int MMODE;    //;メインモード
  14.  int WAV0;    //
  15.  int WAV1;    //
  16.  int WAV2;    //
  17.  int WAV3;    //
  18.  int WAV4;    //
  19.  int SHIPK;    //SHIPスウ
  20.  int FRK;    //フルーツ ノ カズ
  21.  int SHSS;    //スピードチョウセイ
  22.  int MEN;    //メンスウ
  23.  int SHMESNO,SHCAST;
  24.  int TOMEI;    //トウメイショク
  25.  int BKCAST;
  26.  int PYF;        //0=ノーマル 1=ジャンプ     3=ラッカ 4=カイダン
  27.  int PYF4;        //サイショ ウゴカナイ カウント
  28.  int ATF;        //0=ノーマル 1=ジキアタッタ!
  29. int GLEV;        //0=EASY 1=NOMAL 2=HARD
  30. int MUSICF;        //0=MUSICアリ 1=MUSICナシ
  31.  int NCSPD;        //ネコ スピード
  32.  int NCSSPS;
  33.  
  34.  int GAMEF;    //0=ノーマル 1=クリア 2=GAMEOVER
  35.  
  36.  
  37. #define TILEK 19*32    //タイル スウ
  38. #define TTATE 19    //タイル タテ
  39. #define TYOKO 32    //タイル ヨコ
  40.  
  41.  
  42.  
  43. //--------- SHIPスウ ヒョウジ ---------
  44. STAGP00(){
  45.  TextColor(0xff,0xff,0xff);BgColor(0,0,0xff);BackMode(0);
  46.  SetFont(16,"MS 明朝",128,0,0,0,700,0,0,0,0,0,1);
  47.  TextWrite(StrPrint("ピョン太 %ld匹",SHIPK),BASEPIC,0,0);
  48.  TextWrite(StrPrint("ピョン太 %ld匹",SHIPK),BACKPIC,0,0);
  49. }
  50. //--------- SCORE ヒョウジ ---------
  51. STAGP01(){
  52.  TextColor(0xff,0xff,0xff);BgColor(0,0,0xff);BackMode(0);
  53.  SetFont(16,"MS 明朝",128,0,0,0,700,0,0,0,0,0,1);
  54.  TextWrite(StrPrint("SCORE %ld    ",SCORE),BASEPIC,230,0);
  55.  TextWrite(StrPrint("SCORE %ld    ",SCORE),BACKPIC,230,0);
  56. }
  57. //--------- HISCORE ヒョウジ ---------
  58. STAGP02(){
  59.  TextColor(0xff,0xff,0xff);BgColor(0,0,0xff);BackMode(0);
  60.  SetFont(16,"MS 明朝",128,0,0,0,700,0,0,0,0,0,1);
  61.  TextWrite(StrPrint("HI-SCORE %ld    ",HISCORE),BASEPIC,460,0);
  62.  TextWrite(StrPrint("HI-SCORE %ld    ",HISCORE),BACKPIC,460,0);
  63. }
  64.  
  65.  
  66.  
  67. //---------------- MUSIC ------------------------------------------
  68. int WAVMESNO;        //WAVE mes
  69.  
  70. TIMUS00(){
  71. // if(WAVMESNO!=-55555)return;
  72.  if(MUSICF==1)return;
  73.  PlayMIDI("mati.mid");   //("op_gm.mid");
  74.  mes(MIDI_END){PlayMIDI("mati.mid");}
  75.  WAVMESNO=GetMesNo(0);}
  76.  
  77. TIMUS10(){
  78. // if(WAVMESNO==-55555)return;
  79.  DelMes(WAVMESNO);WAVMESNO=-55555;
  80. // PlayMIDI("病原菌.MID");
  81.  }    //オンガク end
  82. //------------病原菌.MID -----------------
  83. //MIDP00(){
  84. // if(MUSICF==1)return;
  85. // PlayMIDI("病原菌.MID");    //MIDI エンソウ
  86. // mes(MIDI_END){PlayMIDI("心臓.MID");    //MIDI エンソウ
  87. // del_me;}}
  88. //----------------------------
  89. MIDP10(){
  90.  if(MUSICF==1)return;
  91.  PlayMIDI("s02gmw01.MID");    //MIDI エンソウ
  92.  }
  93. //----------------------------
  94. MIDP20(){
  95.  if(MUSICF==1)return;
  96.  PlayMIDI("op_gm.MID");    //MIDI エンソウ
  97.  }
  98.  
  99.  
  100. //--------ReadF ------------
  101. ReadF1(){return(ReadF(FILENO,1)-32);}
  102.  
  103. //------------- ガメン クリア -----------------------------------
  104. GCLS(){
  105.  SetPaintColor(TOMEI);DrawRect(BASEPIC,0,0,640,400,0,0); //クリア
  106. }
  107. //------------- クズレ ヲ ナオス -----------------------------------
  108. GCLSL(){
  109.  SetPaintColor(GetColor(BASEPIC,0,10));DrawRect(BASEPIC,0,0,640,2,0,0); //クリア
  110. }
  111.  
  112. //---------------- ボックス モジ -----------------
  113. BMPRINT(str cosm0="",cosmx,cosmy,cosmf){
  114. // SetLineSize(1);
  115.  if(cosmf==0){SetPaintColor(0x008040);TextColor(20,20,20);}else{SetPaintColor(0x00A060);TextColor(255,255,255);}
  116.  DrawRect(BASEPIC,cosmx,cosmy,cosmx+80,cosmy+29,0,0);
  117.  if(cosmf==0){SetPaintColor(0x008444);}else{SetPaintColor(0x00ffff);}
  118.  DrawRect(BASEPIC,cosmx,cosmy,cosmx+80,cosmy+29,0,1);
  119.  SetFont(12,"MS 明朝",128,0,0,0,800,0,0,0,0,0,1);
  120. // BackMode(1); //0=ハイケイアリ 1=ハイケイトウメイ
  121.  TextWrite(cosm0,BASEPIC,cosmx+5,cosmy+7);
  122.  }
  123.  
  124. //-------------- セッテイ ジョウタイ ヒョウジ ----------------------------
  125. //------ ナンド ヒョウジ
  126. CONDISP0(){
  127.  if(GLEV==0){cosmf=1;}else{cosmf=0;} BMPRINT("EASY",40,310,cosmf);
  128.  if(GLEV==1){cosmf=1;}else{cosmf=0;} BMPRINT("NORMAL",40,340,cosmf);
  129. // if(GLEV==2){cosmf=1;}else{cosmf=0;} BMPRINT("HARD",40,370,cosmf);
  130.  }
  131. //------ MUSIC ヒョウジ
  132. CONDISP2(){
  133.  if(MUSICF==0){cosmf=1;}else{cosmf=0;} BMPRINT("BGMあり",140,310,cosmf);
  134.  if(MUSICF==1){cosmf=1;}else{cosmf=0;} BMPRINT("BGMなし",140,340,cosmf);
  135.  }
  136.  
  137. //---------------- マウスイチ ハンテイ -----------------
  138. int MOUH;        //マウスイチ ハンテイ ヨウ
  139.  
  140. MOUICH00(MIHX0,MIHY0,MIHX1,MIHY1){MIHX1=MIHX1+MIHX0;MIHY1=MIHY1+MIHY0;
  141.  if(MOUX<MIHX0||MOUY<MIHY0||MOUX>MIHX1||MOUY>MIHY1){MOUH=0;}else{MOUH=1;}
  142.  }
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149. //==========================================================
  150. //                 ピョンタ  
  151. //==========================================================
  152.  
  153. SHIPUM0(){
  154. // SX=100;SY=100;
  155.  SHSSP=0;
  156.  ATF=0;        //0=ノーマル 1=ジキアタッタ!
  157.  PYF=0;        //0=ノーマル 1=ジャンプ     3=ラッカ 4=カイダン  2=シニ
  158.  PYF1=0;        //ジャンプカウント or シニカウント
  159.  PYF2=0;        //パターンヘンコウ 0,1
  160.  PYF4=2;        //サイショ ウゴカナイ カウント
  161.  PYH=0;        //1<>0 ホウコウ
  162.  SHCAST=PutCast(GAMEPIC,BASEPIC,SX-12,SY-12,TOMEI,0,10,0,24,32,128,68);
  163.  
  164. mes(IDLE){
  165.  if(PYF4!=0){PYF4=PYF4-1;}else{del_me;}
  166.  }
  167.  
  168.  
  169. mes(TIME){
  170.  SHSSP=SHSSP+1;if(SHSSP!=3)goto shmvrE00;SHSSP=0;    //スピード チョウセイ
  171.  PYZZ0=SX-MOUX;
  172.  PYZZ1=SY-MOUY;
  173. //-------------- ヤラレ ----------------------
  174.  if(ATF==0)goto shmvYA00;ATF=0;PYF=2;PYF1=10;PlayRsc(WAV2);
  175. shmvYA00:;
  176. //---------- フルーツ --------------------------
  177.  FRTZZZ0=SX/20;FRTZZZ1=(SY-10)/20;
  178.  if(MAPA[FRTZZZ1*TYOKO+FRTZZZ0]==3)goto shmvFR00;
  179.                FRTZZZ1=(SY+10)/20;
  180.  if(MAPA[FRTZZZ1*TYOKO+FRTZZZ0]!=3)goto shmvFR01;
  181. shmvFR00:;
  182.  MAPA[FRTZZZ1*TYOKO+FRTZZZ0]=0;
  183.  MovePic(GAMEPIC,0,0,20,20,BACKPIC,FRTZZZ0*20,FRTZZZ1*20);
  184.  MovePic(GAMEPIC,0,0,20,20,BASEPIC,FRTZZZ0*20,FRTZZZ1*20);
  185.  SCORE=SCORE+60;STAGP01();PlayRsc(WAV0);
  186.  FRK=FRK-1;if(FRK!=0)goto shmvFR01;
  187. //---ゼンブトッタ
  188.  GAMEF=1;
  189.  
  190. shmvFR01:;
  191. //-------- ヤラレ -----------
  192.  if(PYF!=2)goto shmvYAR00;
  193.  PYF1=PYF1-1;if(PYF1!=0)goto shmvYAR01;
  194.  SHIPK=SHIPK-1;STAGP00();
  195.  GAMEF=2;    //0=ノーマル 1=クリア 2=GAMEOVER
  196.  
  197.  PYF=0;
  198.  
  199. shmvYAR01:;
  200.  MoveCast(SHCAST,GAMEPIC,SX-20,SY-20,0,40,40,80,PYH*40+60,TOMEI);
  201.  goto shmvr00;
  202. shmvYAR00:;
  203. //-------- ノーマル -----------
  204.  if(PYF!=0)goto shmvr10;
  205.  if(PYF2==0){PYF2=1;}else{PYF2=0;}        //パターンヘンコウ 0,1
  206.  
  207.  if(PYF4!=0)goto shmvr16;
  208.  
  209.  if(PYZZ0<6&&PYZZ0>-6)goto shmvr11;
  210.  if(PYZZ0>0)goto shmvFDA00;
  211.  if(MAPA[((SY+19)/20)*TYOKO+((SX+10)/20)]!=1){SX=SX+8;PYH=0;}
  212.  goto shmvFDA01;
  213. shmvFDA00:;
  214.  if(MAPA[((SY+19)/20)*TYOKO+((SX-10)/20)]!=1){SX=SX-8;PYH=1;}
  215. shmvFDA01:;
  216. shmvr11:;
  217. //--ウエ カイダン?
  218.  if(MAPA[(SY/20)*TYOKO+(SX/20)]!=2)goto shmvr12;
  219.  if(PYZZ1<40)goto shmvr12;
  220. shmvr15:;
  221.  SX=(SX/20)*20+10;PYF=4;goto shmvr14;
  222. shmvr12:;
  223. //--シタ カイダン?
  224.  if(MAPA[((SY+21)/20)*TYOKO+(SX/20)]!=2)goto shmvr13;
  225.  if(PYZZ1<-40)goto shmvr15;
  226. shmvr13:;
  227. shmvr14:;
  228.  if(MAPA[((SY+21)/20)*TYOKO+(SX/20)]==0){PYF=3;}  //----ラッカ?
  229.  if(MOUBT==1){MOUBT=0;PYF=1;PYF1=-12;PlayRsc(WAV1);}      //---ジャンプ?
  230.  MoveCast(SHCAST,GAMEPIC,SX-12,SY-12,0,24,32,PYF2*40+128,PYH*40+68,TOMEI);
  231. shmvr16:;
  232.  goto shmvr00;
  233. shmvr10:;
  234.  
  235. //-------- ラッカ -----------
  236.  if(PYF!=3)goto shmvRC00;
  237.  if(PYF2==0){PYF2=1;}else{PYF2=0;}        //パターンヘンコウ 0,1
  238.  SY=SY+9;
  239.  if(MAPA[((SY+21)/20)*TYOKO+(SX/20)]!=1)goto shmvRC01;
  240.  PYF=0;SY=(SY/20)*20;
  241. shmvRC01:;
  242.  MoveCast(SHCAST,GAMEPIC,SX-10,SY-14,0,20,34,PYF2*40+290,66,TOMEI);
  243.  goto shmvr00;
  244. shmvRC00:;
  245. //-------- カイダン --------------------
  246.  if(PYF!=4)goto shmvKD00;
  247.  if(PYZZ1<4&&PYZZ1>-4)goto shmvKD02;
  248.  if(PYF2==0){PYF2=1;}else{PYF2=0;}        //パターンヘンコウ 0,1
  249. //-----ウエ
  250.  if(PYZZ1<0)goto shmvKD03;
  251.  SY=SY-5;
  252.  if(MAPA[((SY+14)/20)*TYOKO+(SX/20)]!=2){PYF=0;SY=(SY/20)*20;}
  253.  goto shmvKD05;
  254. shmvKD03:;
  255. //-----シタ
  256.  SY=SY+5;
  257.  if(MAPA[((SY+20)/20)*TYOKO+(SX/20)]!=2){PYF=0;SY=(SY/20)*20;}
  258. shmvKD05:;
  259.  MoveCast(SHCAST,GAMEPIC,SX-10,SY-14,0,20,34,250,PYF2*40+66,TOMEI);
  260. shmvKD02:;
  261.  goto shmvr00;
  262. shmvKD00:;
  263.  
  264.  
  265.  
  266. //-------- ジャンプ -------------------
  267.  if(PYZZ0<6&&PYZZ0>-6)goto shmvJP00;
  268.  
  269.  if(PYZZ0>0)goto shmvFDA10;
  270.  if(MAPA[((SY+19)/20)*TYOKO+((SX+10)/20)]!=1){SX=SX+8;PYH=0;}
  271.  goto shmvFDA11;
  272. shmvFDA10:;
  273.  if(MAPA[((SY+19)/20)*TYOKO+((SX-10)/20)]!=1){SX=SX-8;PYH=1;}
  274. shmvFDA11:;
  275.  
  276. shmvJP00:;
  277. //------- 
  278.  SY=SY+PYF1;if(SY<1)SY=1;
  279.  if(PYF1<15)PYF1=PYF1+2;
  280.  if(PYF1<2)goto shmvJP02;
  281.  if(MAPA[((SY+20)/20)*TYOKO+(SX/20)]!=1)goto shmvJP02;
  282.  PYF=0;SY=(SY/20)*20;
  283. shmvJP02:;
  284.  MoveCast(SHCAST,GAMEPIC,SX-12,SY-20,0,24,40,208,PYH*40+60,TOMEI);
  285.  goto shmvr00;
  286.  
  287. shmvr00:;
  288.  MOUBT=0;
  289. shmvrE00:;
  290. }SHMESNO=GetMesNo(0);
  291. }
  292.  
  293. //==========================================================
  294. //                 ネコ  
  295. //==========================================================
  296. NECOUM0(NX,NY,NNNF0){
  297. // NXB=NX;NYB=NY;
  298.  if(NNNF0==0){NCOFX=000;NCOFY=000;NCKSP=5;}    //ネコ
  299.  if(NNNF0==1){NCOFX=200;NCOFY=000;NCKSP=6;}    //
  300.  if(NNNF0==2){NCOFX=000;NCOFY=080;NCKSP=7;}    //
  301.  if(NNNF0==3){NCOFX=200;NCOFY=080;NCKSP=9;}    //
  302.  NCSSP=NCSSPS;
  303.  NCSSPS=NCSSPS+2;if(NCSSPS>3)NCSSPS=0;
  304.  NCF=0;        //0=ノーマル  3=ラッカ 4=カイダン
  305.  NCF1=0;        //ジャンプカウント
  306.  NCF2=0;        //パターンヘンコウ 0,1
  307.  NCF3=0;        //ネラワナイ カウント 0=ノーマル
  308.  NCF4=35;        //サイショ ウゴカナイ カウント 
  309.  NCH=0;        //1<>0 ホウコウ
  310.  NCCAST=PutCast(GAMEPIC,BASEPIC,NX-16,NY-14,TOMEI,0,10,1,32,34,4+NCOFX,NCOFY+146);
  311. mes(TIME){
  312.  NCSSP=NCSSP+1;if(NCSSP!=NCSPD)goto Nshmvr00;NCSSP=0;    //スピード チョウセイ
  313.  if(PYF==2){DelCast(NCCAST);del_me;}    //ジキ シニ デ キエル
  314.  PYZZ0=NX-SX;
  315.  PYZZ1=NY-SY;
  316. //------- アタッテル ? --------------
  317.  if(PYZZ0>10||PYZZ0<-10||PYZZ1>10||PYZZ1<-10)goto NshmvATR00;
  318.  ATF=1;        //0=ノーマル 1=ジキアタッタ!
  319. NshmvATR00:;
  320. //-------- ノーマル -----------
  321.  if(NCF!=0)goto Nshmvr10;
  322.  if(NCF2==0){NCF2=1;}else{NCF2=0;}        //パターンヘンコウ 0,1
  323. // if(PYZZ0<6&&PYZZ0>-6)goto Nshmvr11;
  324.  
  325.  if(NCF4!=0){NCF4=NCF4-1;goto Nshmvr14S;}
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  if(NCF3!=0){NCF3=NCF3-1;goto Nshmvr112S;}
  332.  if(PYF==1)goto Nshmvr112S;    //ジャンプ チュウ ヘンコウシナイ
  333.  if(PYZZ1>40||PYZZ1<-40)goto Nshmvr112;
  334.  if(PYZZ0>0)goto NshmvFDA00;
  335. Nshmvr113:;
  336.  if(MAPA[((NY+19)/20)*TYOKO+((NX+10)/20)]!=1){NX=NX+NCKSP;NCH=0;}else{NCH=1;NCF3=Random(20);}
  337.  goto NshmvFDA01;
  338. NshmvFDA00:;
  339. Nshmvr114:;
  340.  if(MAPA[((NY+19)/20)*TYOKO+((NX-10)/20)]!=1){NX=NX-NCKSP;NCH=1;}else{NCH=0;NCF3=Random(20);}
  341. NshmvFDA01:;
  342.  goto Nshmvr11:;
  343. //----- ネラワナイ
  344. Nshmvr112:;
  345.  if(Random(1000)<20)NCH=0;
  346.  if(Random(1000)<20)NCH=1;
  347.  
  348. Nshmvr112S:;
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  if(NX<10)NCH=0;
  359.  if(NX>630)NCH=1;
  360.  if(NCH==0)goto Nshmvr113;
  361.  goto Nshmvr114;
  362. Nshmvr11:;
  363.  
  364. //--ウエ カイダン?
  365.  if(MAPA[(NY/20)*TYOKO+(NX/20)]!=2)goto Nshmvr12;
  366.  if(PYZZ1<60)goto Nshmvr12;
  367.  NCKID=0;
  368. Nshmvr15:;
  369.  NX=(NX/20)*20+10;NCF=4;goto Nshmvr14;
  370. Nshmvr12:;
  371. //--シタ カイダン?
  372.  if(MAPA[((NY+21)/20)*TYOKO+(NX/20)]!=2)goto Nshmvr13;
  373.  if(PYZZ1<-60){NCKID=1;goto Nshmvr15;}
  374. Nshmvr13:;
  375. Nshmvr14:;
  376.  if(MAPA[((NY+21)/20)*TYOKO+(NX/20)]==0){NCF=3;}  //----ラッカ?
  377.  
  378.  MoveCast(NCCAST,GAMEPIC,NX-16,NY-14,0,32,34,NCF2*40+NCOFX+4,NCH*40+NCOFY+146,TOMEI);
  379. Nshmvr14S:;
  380.  goto Nshmvr00;
  381. Nshmvr10:;
  382.  
  383. //-------- ラッカ -----------
  384.  if(NCF!=3)goto NshmvRC00;
  385.  if(NCF2==0){NCF2=1;}else{NCF2=0;}        //パターンヘンコウ 0,1
  386.  NY=NY+9;
  387.  if(MAPA[((NY+21)/20)*TYOKO+(NX/20)]!=1)goto NshmvRC01;
  388.  NCF=0;NY=(NY/20)*20;
  389. NshmvRC01:;
  390.  MoveCast(NCCAST,GAMEPIC,NX-16,NY-14,0,32,34,NCF2*40+NCOFX+124,NCOFY+146,TOMEI);
  391.  goto Nshmvr00;
  392. NshmvRC00:;
  393. //-------- カイダン --------------------
  394.  if(NCF!=4)goto NshmvKD00;
  395.  if(NCF2==0){NCF2=1;}else{NCF2=0;}        //パターンヘンコウ 0,1
  396. //-----ウエ
  397.  if(NCKID==1)goto NshmvKD03;
  398.  NY=NY-5;
  399.  if(MAPA[((NY+20)/20)*TYOKO+(NX/20)]!=2){NCF=0;NY=(NY/20+1)*20;}
  400.  goto NshmvKD05;
  401. NshmvKD03:;
  402. //-----シタ
  403.  NY=NY+5;
  404.  if(MAPA[((NY+20)/20)*TYOKO+(NX/20)]!=2){NCF=0;NY=(NY/20)*20;}
  405. NshmvKD05:;
  406.  MoveCast(NCCAST,GAMEPIC,NX-10,NY-20,0,20,40,NCOFX+90,NCF2*40+NCOFY+140,TOMEI);
  407. NshmvKD02:;
  408.  goto Nshmvr00;
  409. NshmvKD00:;
  410.  
  411.  
  412. Nshmvr00:;
  413. }
  414. }
  415.  
  416.  
  417.  
  418. //;--------------------- start ----------------------------------------------
  419. main(){SetLineSize(1);BackMode(1);
  420.  
  421. //------ジョウチュウ キャラ
  422.  GAMEPIC=LoadPic("GAME.BMP");
  423.  GAMEPIC2=LoadPic("GAME.BMP");
  424.  for(i0=0;i0<10;i0=i0+1){
  425.  ReversePic(GAMEPIC2,i0*40,60 ,40,40,GAMEPIC,i0*40,100);
  426.  ReversePic(GAMEPIC2,i0*40,140,40,40,GAMEPIC,i0*40,180);
  427.  ReversePic(GAMEPIC2,i0*40,220,40,40,GAMEPIC,i0*40,260);
  428.  }
  429.  DelPic(GAMEPIC2);
  430.  TOMEI=GetColor(GAMEPIC,0,0);
  431.  GAMEPIC2=LoadPic("GAME2.BMP");
  432.  
  433.  WAV0=LoadRsc("GAAN.WAV");
  434.  WAV1=LoadRsc("JUMP.WAV");
  435.  WAV2=LoadRsc("DETH.WAV");
  436.  HISCORE=0;
  437.  WAVMESNO=-55555;
  438.  
  439.  CapTitle("ピョン太の冒険");
  440. //--------------- マウスイチ MOUY,X セット-----------------
  441.  MOUY=0;MOUX=0;MOUBT=0;MOUBTR=0;
  442.  mes(MOUSEMOVE){MOUX=MesP2;MOUY=MesP3;}
  443.  mes(LBDOWN){MOUX=MesP2;MOUY=MesP3;MOUBT=1;}
  444.  mes(RBDOWN){MOUBTR=1;}
  445.  mes(LBDBLCLK){MOUX=MesP2;MOUY=MesP3;MOUBT=1;}
  446. // mes(RBDBLCLK){MOUBTR=1;}
  447.  
  448.  GLEV=1;        //0=EASY 1=NOMAL 2=HARD
  449.  MUSICF=0;        //0=MUSICアリ 1=MUSICナシ
  450.  NCSSPS=0;
  451.  
  452.  MMODE=0;
  453.  
  454.  
  455.  mes(TIME){
  456.  SHSS=SHSS+1;if(SHSS!=2)goto PREND;SHSS=0;
  457.  
  458. //;========================ゲーム チュウ==========================================
  459.  if(MMODE!=11)goto TITEGT00;
  460.  if(GAMEF==0)goto PREND;
  461.  DelCast(SHCAST);DelMes(SHMESNO);PYF=2;
  462. //---- クリア ----
  463.  if(GAMEF!=1)goto TITEGT01;
  464.  TextColor(0xff,0xff,0xff);BackMode(1);
  465.  SetFont(50,"MS 明朝",128,0,0,0,700,0,0,0,0,0,1);
  466.  TextWrite("STAGE CLEAR!",BASEPIC,40,150);
  467.  TextWrite("STAGE CLEAR!",BACKPIC,40,150);
  468.  GTZZZ=32;MMODE=12;goto PREND;
  469. TITEGT01:;
  470. //---- ヤラレ ----
  471.  if(SHIPK!=0){MMODE=9;goto PREND;}
  472. //---GAMEOVER
  473.  TIMUS10();    //MUSIC END
  474.  TextColor(0xff,0xff,0xff);BackMode(1);
  475.  SetFont(50,"MS 明朝",128,0,0,0,700,0,0,0,0,0,1);
  476.  TextWrite("GAME OVER",BASEPIC,100,150);
  477.  TextWrite("GAME OVER",BACKPIC,100,150);
  478.  GTZZZ=32;MMODE=13;goto PREND;
  479. TITEGT00:;
  480.  
  481.  
  482.  
  483. //;==========================================================================
  484. //            ショキセッテイ
  485. //;==========================================================================
  486.  if(MMODE==8){MUNAF=1;goto EFOIUJH00;}
  487.  
  488.  if(MMODE!=9)goto RUEHF00;
  489. //---------------------------------------------------------------
  490. //    チケイ ピクチャー アタリ ロード
  491. //---------------------------------------------------------------
  492.  FILENO=OpenF("MAP.DAT",0);
  493.  SeekF(FILENO,MEN*TILEK,0);
  494.  
  495.  for(i0=0;i0<TTATE;i0=i0+1){
  496.  for(i1=0;i1<TYOKO;i1=i1+1){
  497.  TILN0=ReadF1();
  498.  TILZTX=i1*20;TILZTY=(i0+1)*20;
  499.  if(TILN0==20){SX=TILZTX;SY=TILZTY;}
  500.  if(TILN0==21){NECOUM0(TILZTX,TILZTY,0);}    //ネコ
  501.  if(TILN0==22){NECOUM0(TILZTX,TILZTY,1);}    //
  502.  if(TILN0==23){NECOUM0(TILZTX,TILZTY,2);}    //
  503.  if(TILN0==24){NECOUM0(TILZTX,TILZTY,3);}    //
  504.  }}
  505.  goto RUEHF01;
  506. RUEHF00:;
  507. //----------------------------------------------------------------------
  508.  if(MMODE!=10)goto TITEGS00;
  509.  MUNAF=0;
  510. EFOIUJH00:;
  511. //---------------------------------------------------------------
  512. //    チケイ ピクチャー アタリ ロード
  513. //---------------------------------------------------------------
  514.  GCLS();
  515.  MovePic(GAMEPIC2,0,100,80,120,BASEPIC,80,150);
  516.  TextColor(0xff,0xff,0xff);BackMode(1);
  517.  SetFont(25,"MS 明朝",128,0,0,0,700,0,0,0,0,0,1);
  518.  TextWrite("NOW LOADING...",BASEPIC,180,200);
  519.  
  520.  FRK=0;
  521.  FILENO=OpenF("MAP.DAT",0);
  522.  SeekF(FILENO,MEN*TILEK,0);
  523.  i2=0;
  524.  for(i0=0;i0<TYOKO;i0=i0+1){MAPA[i2]=0;i2=i2+1;}
  525.  
  526.  for(i0=0;i0<TTATE;i0=i0+1){
  527.  for(i1=0;i1<TYOKO;i1=i1+1){
  528.  TILN0=ReadF1();
  529.  TILN1=0;if(TILN0<1)goto CHIWR01;    //0=クウハク
  530.  TILN1=1;if(TILN0<5)goto CHIWR01;    //1=カベ
  531.  TILN1=2;if(TILN0<6)goto CHIWR01;    //2=カイダン
  532.  TILN1=3;if(TILN0<20){FRK=FRK+1;goto CHIWR01;}         //3=フルーツ
  533.  TILN1=0;
  534.  TILZTX=i1*20;TILZTY=(i0+1)*20;
  535.  if(TILN0==20){SX=TILZTX;SY=TILZTY;TILN0=0;}
  536.  
  537.  if(TILN0==21){NECOUM0(TILZTX,TILZTY,0);TILN0=0;}    //ネコ
  538.  if(TILN0==22){NECOUM0(TILZTX,TILZTY,1);TILN0=0;}    //
  539.  if(TILN0==23){NECOUM0(TILZTX,TILZTY,2);TILN0=0;}    //
  540.  if(TILN0==24){NECOUM0(TILZTX,TILZTY,3);TILN0=0;}    //
  541.  
  542. CHIWR01:;
  543.  MAPA[i2]=TILN1;i2=i2+1;
  544.  MovePic(GAMEPIC,(TILN0%20)*20,(TILN0/20)*20,20,20,BACKPIC,i1*20,(i0+1)*20);
  545.  }}
  546.  
  547.  for(i0=0;i0<(TYOKO*3);i0=i0+1){MAPA[i2]=1;i2=i2+1;}
  548.  if(MUNAF==0)TIMUS00();    //MUSIC
  549.  
  550. RUEHF01:;
  551.  CloseF(FILENO);
  552.  SetPaintColor(0xff0000);DrawRect(BACKPIC,0,0,640,20,0,0); //クリア
  553.  STAGP00();
  554.  STAGP01();
  555.  STAGP02();
  556.  MoveCast(BKCAST,BACKPIC,0,0,0,640,400,0,0,0x80000000);
  557.  
  558.  GAMEF=0;    //0=ノーマル 1=クリア 2=GAMEOVER
  559.  SHIPUM0();    //ピョンタ
  560.  
  561.  MMODE=11;
  562. TITEGS00:;
  563.  
  564.  
  565. //;========================クリア チュウ==========================================
  566.  if(MMODE!=12)goto TITEGT10;
  567.  GTZZZ=GTZZZ-1;if(GTZZZ!=0)goto PREND;
  568.  MEN=MEN+1;
  569. //-----------コングラチュエーション----------------
  570.  if(MEN!=7)goto TITEGT11;
  571.  TIMUS10();    //MUSIC END
  572.  DelCast(BKCAST);CloseWin(MWIN);
  573.  DelPic(BACKPIC);DelPic(BASEPIC);
  574.  
  575.  BASEPIC=LoadPic("ENDING.BMP");GCLSL();    // クズレ ヲ ナオス 
  576.  
  577.  MWIN=OpenWin(BASEPIC);
  578.  MIDP20();
  579.  
  580.  MMODE=14;goto PREND;
  581. TITEGT11:;
  582.  
  583.  if((MEN%2)!=0){MMODE=8;goto PREND;}
  584. //---- コーヒーブレイク ----------
  585.  TIMUS10();    //MUSIC END
  586.  GCLS();
  587.  MIDP10();
  588.  COBX=640;COBF=0;
  589.  MMODE=15;goto PREND;
  590. TITEGT10:;
  591.  
  592. //;========================GAME OVER チュウ===================================
  593.  if(MMODE!=13)goto TITEGT20;
  594.  GTZZZ=GTZZZ-1;if(GTZZZ!=0)goto PREND;
  595.  if(SCORE>HISCORE)HISCORE=SCORE;
  596.  DelCast(BKCAST);CloseWin(MWIN);
  597.  DelPic(BACKPIC);DelPic(BASEPIC);
  598.  MMODE=0;goto PREND;
  599. TITEGT20:;
  600.  
  601. //;========================コーヒーブレイク チュウ===================================
  602.  if(MMODE!=15)goto TITEGT30;
  603.  if(COBF==0){COBF=1;}else{COBF=0;}
  604.  COBX=COBX-15;
  605.  MovePic(GAMEPIC2,COBF*100+200,0,100,100,BASEPIC,COBX+000,150);
  606.  MovePic(GAMEPIC2,COBF*100+000,0,100,100,BASEPIC,COBX+300,150);
  607.  MovePic(GAMEPIC2,COBF*100+000,0,100,100,BASEPIC,COBX+430,150);
  608.  MovePic(GAMEPIC2,COBF*100+000,0,100,100,BASEPIC,COBX+560,150);
  609.  if(COBX<-700)MMODE=10;
  610.  goto PREND;
  611. TITEGT30:;
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623. //;==================== タイトル ヒョウジ============================================
  624.  if(MMODE!=0)goto TITEGS10;
  625.  
  626.  BASEPIC=LoadPic("TITLE.BMP");GCLSL();    // クズレ ヲ ナオス 
  627.  
  628.  TextColor(255,255,255);
  629.  SetFont(34,"MS 明朝",128,0,0,0,900,1,0,0,0,0,1);
  630.  TextWrite("ピョン太の冒険",BASEPIC,0,20);
  631.  SetFont(15,"MS 明朝",128,0,0,0,700,0,0,0,0,0,1);
  632.  TextWrite("CopyRight(C)1998 By Isis For FILLY",BASEPIC,0,90);
  633.  TextWrite("REACTION GAME",BASEPIC,0,110);
  634.  
  635.  TextColor(0xff,0xff,0x00);
  636.  TextWrite("マウスの左ボタンをクリックして下さい",BASEPIC,0,250);
  637.  
  638.  SetFont(15,"MS 明朝",128,0,0,0,700,0,0,0,0,0,1);
  639.  TextColor(0xff,0x00,0x00);
  640.  TextWrite("難易度設定",BASEPIC,40,280);
  641. // TextWrite("BGM設定",BASEPIC,140,280);
  642.  CONDISP0();    // セッテイ ジョウタイ ヒョウジ 
  643. // CONDISP2();    // セッテイ ジョウタイ ヒョウジ 
  644.  MOUBT=0;
  645.  
  646.  MWIN=OpenWin(BASEPIC);
  647. // MIDP20();
  648.  
  649.  MMODE=1;goto PREND;
  650. TITEGS10:;
  651. //;==================== タイトル ============================================
  652.  if(MMODE!=1)goto TITEGS20;
  653.  if(MOUBT==0)goto PREND;MOUBT=0;
  654.  
  655.  MOUICH00(40,310,80,30);if(MOUH==1){GLEV=0;CONDISP0();goto SETTID00;}
  656.  MOUICH00(40,340,80,30);if(MOUH==1){GLEV=1;CONDISP0();goto SETTID00;}
  657. // MOUICH00(40,370,80,30);if(MOUH==1){GLEV=2;CONDISP0();goto SETTID00;}
  658.  
  659. // MOUICH00(140,310,80,30);if(MOUH==1){MUSICF=0;  //TIMUS00();
  660. // CONDISP2();goto SETTID00;}
  661. // MOUICH00(140,340,80,30);if(MOUH==1){MUSICF=1;  //TIMUS10();
  662. // CONDISP2();goto SETTID00;}
  663.  goto SETTID01;
  664. SETTID00:;
  665.  goto PREND;
  666. SETTID01:;
  667.  CloseWin(MWIN);DelPic(BASEPIC);
  668.  
  669.  BASEPIC=CreatePic(GAMEPIC,640,400);
  670.  BACKPIC=CreatePic(GAMEPIC,640,400);
  671.  GCLS();
  672.  MWIN=OpenWin(BASEPIC);
  673.  SCORE=0;    //スコア
  674.  MEN=0;    //メンスウ
  675.  
  676.  if(GLEV==0){NCSPD=5;SHIPK=7;}
  677.  if(GLEV==1){NCSPD=4;SHIPK=4;}
  678.  if(GLEV==2){NCSPD=4;SHIPK=2;}
  679.  
  680.  BKCAST=PutCast(BACKPIC,BASEPIC,0,0,0x80000000,1,0,1,640,400,0,0);
  681.  
  682.  
  683.  MMODE=10;goto PREND;
  684. TITEGS20:;
  685.  
  686.  
  687.  
  688.  
  689. PREND:;
  690. }
  691.  
  692.  
  693.  
  694. }
  695.