hspdxfix.as¥×¥é¥°¥¤¥ó¤Çºî¤Ã¤¿STG¥²¡¼¥à¤Ë¤Ê¤ê¤Þ¤¹¡ª
¢£¤ä¤ê¤¿¤¤¤³¤È
es_ini¤Ç9100¤°¤é¤¤¥¹¥×¥é¥¤¥È¤ò³ÎÊݤǤ¤ë¤è¤¦¤Ë¤·¤¿¤¤
¢£»ÅÍÍ
¡¦Z¥¡¼¤ò²¡¤·¤Æ¤¤¤ë´Öȯ¼Í¤µ¤ì¡¢Å¨¤¬²èÌÌÆâ¤Ë½Ð¸½¤·¤¿¤é¥Û¡¼¥ß¥ó¥°¤¹¤ë
¡Ê¥¨¥é¡¼¤¬½Ð¤Æ¤·¤Þ¤¦¤Î¤Ç¡Öif TEKI_HOMIN_no != -1 {¡×¤ÇŨ¤¬½Ð¸½¤·¤Æ¤¤¤ë¤È¤¤Ëȯ¼Í¤µ¤ì¤Þ¤¹¡Ë
if TEKI_HOMIN_no != -1 {¤Ç¥¨¥é¡¼²óÈò¤·¤Æ¤·¤Þ¤¦¤È¡¢
Z¥¡¼¤ò²¡¤·¤Æ¤¤¤ë´Ö¤Ë¥Û¡¼¥ß¥ó¥°¤¬È¯¼Í¤µ¤ì¤Ê¤¤¡£
¡ÊŨ¤¬½Ð¸½¤·¤Æ¤«¤éȯ¼Í¤µ¤ì¤ë¥í¥¸¥Ã¥¯¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡Ë
¤Þ¤¿¤³¤Î²óÈòÊýË¡¤À¤ÈÅö¤¿¤êȽÄê¤Î¤È¤³¤í¤Ç¥¨¥é¡¼¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢
¤É¤Ã¤Á¤ß¤Á¤³¤ÎÊýË¡¤Ï¤è¤¯¤Ê¤¤¤Î¤Ç°ã¤¦ÊýË¡¤Ë¤·¤¿¤¤¡£
¥¹¥×¥é¥¤¥È¤ò6845¤ò¾å¸Â¤Ë¤·¤ÆºîÀ®¤·¤Æ¤â¤¤¤¤¤±¤É¡¢
²¿¤«¤¢¤Ã¤¿¤È¤¤Ë¥¨¥é¡¼¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¤Ç¤¤ì¤Ð¸¶°ø¤òȽÌÀ¤µ¤»¤¿¤¤¤Î¤Ç
¥¢¥É¥Ð¥¤¥¹Åù¤ªÂÔ¤Á¤·¤Æ¤ª¤ê¤Þ¤¹¡ª
¡ÊŨ½èÍý¤Ë´Ø¤·¤Æ¤Ï½ÐÍè¤ì¤Ð¥Ä¥Ã¥³¥ß¤Ê¤·¤Ç¤ª´ê¤¤¤·¤Þ¤¹¡¦¡¦¡¦¡Ë
¤Á¤Ê¤ß¤ËÁ°²ó¤Ï¥ë¡¼¥×½èÍý¤Ë¸¶°ø¤¬¤¢¤ê¤Þ¤·¤¿¡£
http://hsp.tv/play/pforum.php?mode=pastwch&num=91192
#include "hspogg.as" ;²»¤Î¤¿¤á¤ËÆþ¤ì¤ë #include "hspdxfix.as" ;DX¥é¥¤¥Ö¥é¥ê»ÈÍÑ width ,,130,200 ;¥¦¥£¥ó¥É¥¦¤Î°ÌÃÖ es_ini 6846,9100,4096 ;¥¹¥×¥é¥¤¥È¤ÎºÇÂç¿ô¡¢¥¥ã¥é¥¯¥¿ÄêµÁ¤ÎºÇÂç¿ô,¼þ¤ÎÀºÅÙ(180*2) es_screen 640,480 ,0,0,1,1 ;¥¹¥¯¥ê¡¼¥ó es_window 0,-43, 640,480 ;¥¹¥×¥é¥¤¥Èɽ¼¨¥¨¥ê¥¢ÀßÄê es_area -36,-430, 600,498 ;¥¹¥×¥é¥¤¥È͸ú¥¨¥ê¥¢ÀßÄê buffer 4 picload "jiki.bmp" ; es_buffer 4,,$00ff00,,1 ;---¼«µ¡--- es_size 28,42, 100 es_pat 4000, 0, 0 JIKI_x = 206 : JIKI_y = 390 ;---¥Û¡¼¥ß¥ó¥°--- es_size 17,19, 100 es_pat 55, 56,62 ;------ buffer 5 picload "teki.bmp" ; es_buffer 5,,$00ff00,,1 ;---Ũ--- es_size 18,19, 100 es_pat 80, 18*cnt, 0 ;p1=¥¥ã¥é¥¯¥¿No. gsel 0,1 ;Ũ TEKI_MAX = 5 ;ºÇÂç¿ô TEKI_Gmax = 22 ;¥°¥ë¡¼¥×¿ô TEKI_GOKEI = TEKI_MAX * TEKI_Gmax ;Ũ¹ç·×¿ô dim TEKI_f,TEKI_GOKEI ;¥Õ¥é¥° dim TEKI_x,TEKI_MAX,TEKI_Gmax ;ÇÛÃÖ£Ø dim TEKI_y,TEKI_MAX,TEKI_Gmax ;ÇÛÃÖ£Ù dim TEKI_NO_GID,TEKI_GOKEI ;Ũ¥¹¥×¥é¥¤¥ÈNO¤ò»È¤Ã¤ÆÅ¨¥°¥ë¡¼¥×¥¤¥ó¥Ç¥Ã¥¯¥¹ÍÑ (¥¹¥×¥é¥¤¥È¤ÎºÇÂç¿ô) dim TEKI_NO_DID,TEKI_GOKEI ;Ũ¥¹¥×¥é¥¤¥ÈNO¤ò»È¤Ã¤ÆÅ¨¥Ç¡¼¥¿¥¤¥ó¥Ç¥Ã¥¯¥¹³ÊǼÍÑ (¥¹¥×¥é¥¤¥È¤ÎºÇÂç¿ô) dim TEKI_IDO_f,TEKI_MAX,TEKI_Gmax ;°Üư¥Õ¥é¥° dim TEKI_TIM,TEKI_GOKEI ;½Ð¸½¤¹¤ë»þ´Ö ;¢§¢§¢§¢§¢§¢§¢§Å¨ÇÛÎó¢§¢§¢§¢§¢§¢§¢§ ;¥°¥ë¡¼¥×1 ±¦¾å TEKI_x(0,0) = 390,390,390,390,390 TEKI_y(0,0) = -10,-50,-90,-130,-170 ;¥°¥ë¡¼¥×2 º¸¾å TEKI_x(0,1) = 40,40,40,40,40 TEKI_y(0,1) = -10,-50,-90,-130,-170 ;Ũ½Ð¸½»þ´Ö TEKI_TIM = 100,300 ;¢£¢£¢£Å¨ÇÛÃÖ¢£¢£¢£ repeat TEKI_Gmax ;¥°¥ë¡¼¥×¿ô(22) TEK_G = cnt repeat TEKI_MAX ;Ũ¤ÎºÇÂç¿ô(5) es_exnew TEKI ,80,190 ;¿·µ¬¥¹¥×¥é¥¤¥ÈNo es_set TEKI, TEKI_x(cnt,TEK_G),TEKI_y(cnt,TEK_G), 80 ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo es_flag TEKI,$1100 ;¼«Æ°ºï½üOFF (¥¹¥×¥é¥¤¥Èɽ¼¨ON+¥Ü¡¼¥À¡¼¾Ãµî̵¸úON) es_type TEKI,8192 TEKI_Move(TEKI) = TEK_G TEKI_NO_GID(TEKI) = TEK_G ;¥¹¥×¥é¥¤¥ÈNO¤ò¥¡¼¤Ë¥°¥ë¡¼¥×¥¤¥ó¥Ç¥Ã¥¯¥¹³ÊǼ TEKI_DID = TEK_G * TEKI_MAX + cnt ;¥Ç¡¼¥¿¥¤¥ó¥Ç¥Ã¥¯¥¹(°ì¼¡¸µÇÛÎó¤È¤·¤¿¾ì¹ç¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹) TEKI_NO_DID(TEKI) = TEKI_DID ;¥¹¥×¥é¥¤¥ÈNO¤ò¥¡¼¤Ë¥Ç¡¼¥¿¥¤¥ó¥Ç¥Ã¥¯¥¹³ÊǼ loop loop ;************¥á¥¤¥ó¥ë¡¼¥×*************** *¥á¥¤¥ó es_cls ;²èÌÌ¥¯¥ê¥¢ es_draw ;¥¹¥×¥é¥¤¥ÈÉÁ²è ;************¥«¥¦¥ó¥¿¡¼****************** pos 420,250 : es_mes "TEKI_D " + TEKI_D pos 420,270 : es_mes "TEKI_HOMIN_no " + TEKI_HOMIN_no ;****************************** ;¼«µ¡É½¼¨ es_set 4000, JIKI_x,JIKI_y, 4000 ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo ;************gosub************ gosub *¼«µ¡¥Û¡¼¥ß¥ó¥° gosub *Ũ°Üư es_sync ;²èÌ̹¹¿· await 16 goto *¥á¥¤¥ó ;*************¼«µ¡¥Û¡¼¥ß¥ó¥°**************** *¼«µ¡¥Û¡¼¥ß¥ó¥° getkey keyZ,90 ;Z¥¡¼ if keyZ AND JK_HMIN_f = 0 { JK_HMIN_f = 1 ;¥Û¡¼¥ß¥ó¥°¥Õ¥é¥°¤ò¡ÚΩ¤Æ¤ë¡Û JK_HMIN_x = double(JIKI_x) : JK_HMIN_y = double(JIKI_y) ;¼Â¿ôÃͤËÊÑ´¹ } if JK_HMIN_f = 1 { ;¥Û¡¼¥ß¥ó¥°¥Õ¥é¥°Î©¤Ã¤Æ¤¿¤é¼Â¹Ô TEKI_no = 80 ;Ũ¤Î¸¡º÷³«»Ï¥Ê¥ó¥Ð¡Ý kyori = 10000.0 ;¼«µ¡¤ÈŨ¤Îµ÷Î¥¤òÂåÆþ¤¹¤ëÊÑ¿ô¡ÊºÇ¤â¶á¤¤Å¨¤òõ¤¹¤¿¤á¤Ë½ÐÍè¤ë¤À¤±Â礤ʿôÃͤòÆþ¤ì¤Æ¤ª¤¯¡Ë TEKI_HOMIN_no = -1 ;Ũ¤¬Á´°÷¤¤¤Ê¤«¤Ã¤¿»þ¤Ë¥Þ¥¤¥Ê¥¹ÃͤòÆþ¤ì¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥Û¡¼¥ß¥ó¥°¤¬ºÇ¸å¤ÎŨ¤Ë¹Ô¤«¤Ê¤¤¤è¤¦¤Ë¤¹¤ë repeat es_find TEKI_D, 4096, TEKI_no,190;²èÌÌÆâ¤ÎŨ¤òõ¤¹ if TEKI_D = -1 : break es_get JK_HMIN_TEKI_x,TEKI_D,3 ;Ũ£Ø es_get JK_HMIN_TEKI_y,TEKI_D,5 ;Ũ£Ù if (JK_HMIN_TEKI_x > 30) AND (JK_HMIN_TEKI_y > 10) AND (JK_HMIN_TEKI_x < 412) AND (JK_HMIN_TEKI_y < 460) { ;¼«µ¡¤ÈŨ¤Îµ÷Î¥ kyori_2 = sqrt((JIKI_x-JK_HMIN_TEKI_x)*(JIKI_x-JK_HMIN_TEKI_x) + (JIKI_y-JK_HMIN_TEKI_y)*(JIKI_y-JK_HMIN_TEKI_y));¥ë¡¼¥ÈÃͤòÊÖ¤¹ if kyori_2 < kyori { kyori = kyori_2 ;¶á¤¤Å¨¤Þ¤Ç¤Îµ÷Î¥¤ò¹¹¿· TEKI_HOMIN_no = TEKI_D ;¶á¤¤Å¨¤Î¥¹¥×¥é¥¤¥Èâ¤ò¹¹¿· } }TEKI_no++ ;Ũ¤Î¸¡º÷³«»Ï¥Ê¥ó¥Ð¡Ý loop ;¡Öes_ini¡×¤ò¡Ö6845¡×°Ê¾å¤Ë¤¹¤ë¤È¥¹¥×¥é¥¤¥È¥¨¥é¡¼¤¬½Ð¤ë¤Î¤Ç²óÈò¤·¤¿¤¤ ;TEKI_HOMIN_no != -1¤Ç²óÈò¤¹¤ë¤È¡¢Åö¤¿¤êȽÄê¡Öes_check HMIN_VS_TEKI ,TEKI_HOMIN_no,256¡×¤Ç¥¨¥é¡¼¤¬µ¯¤¤Æ¤·¤Þ¤¦ if TEKI_HOMIN_no != -1 { es_get JK_HMIN_TEKI_x,TEKI_HOMIN_no,3 ;Ũ£Ø es_get JK_HMIN_TEKI_y,TEKI_HOMIN_no,5 ;Ũ£Ù es_set 55, JK_HMIN_x+5,JK_HMIN_y , 55 ;¥¹¥×¥é¥¤¥ÈÀßÄê es_chr TEKI_HOMIN_no, 80 ;½é´ü¾õÂÖ } es_type 55,256 angle = 0.0 ;³ÑÅÙ¤òÆþ¤ì¤ëÊÑ¿ô if TEKI_HOMIN_no != -1 { ;Ũ¤¬¤¤¤ë¾ì¹ç angle = atan(JK_HMIN_TEKI_y - JK_HMIN_y, JK_HMIN_TEKI_x - JK_HMIN_x-10) ;Ũ¤È¥Û¡¼¥ß¥ó¥°¤È¤Î³ÑÅÙ¤òµá¤á¤ë JK_HMIN_x += 8.0 * cos(angle) : JK_HMIN_y += 8.0 * sin(angle) ;ÃÆÂ®¤µ } else { ;Ũ¤¬¤¤¤Ê¤¤¾ì¹ç JK_HMIN_x += 8.0 * cos(deg2rad(270)) : JK_HMIN_y += 8.0 * sin(deg2rad(270));ÀµÌ̤˿¿¤Ãľ¤°¿Ê¤à } ;Åö¤¿¤êȽÄê if (JK_HMIN_TEKI_x > 30) AND (JK_HMIN_TEKI_y > 10) AND (JK_HMIN_TEKI_x < 412) AND (JK_HMIN_TEKI_y < 460) { es_check HMIN_VS_TEKI ,TEKI_HOMIN_no,256 if HMIN_VS_TEKI != -1 { JK_HMIN_f = 0 ;¥Û¡¼¥ß¥ó¥°¥Õ¥é¥°¡Úºï½ü¡Û es_kill TEKI_HOMIN_no ;Ũ¡Úºï½ü¡Û es_kill HMIN_VS_TEKI ;¥Û¡¼¥ß¥ó¥°¡Úºï½ü¡Û TEKI_HIT_no = TEKI_HOMIN_no ;¥¢¥¤¥Æ¥à es_chr TEKI_HOMIN_no, 81 ;¥Ò¥Ã¥È¤·¤¿¤éÀÖ¤¯¤¹¤ë TEKI_Ef_f = 1 ;Ũ¥¨¥Õ¥§¥¯¥È¥Õ¥é¥° HMIN_HIT++ ;¥Ç¥Ð¥Ã¥°ÍÑ } } } es_get JK_HMIN_TEKI_x,55,3 ;¥Û¡¼¥ß¥ó¥°£Ø es_get JK_HMIN_TEKI_y,55,5 ;¥Û¡¼¥ß¥ó¥°£Ù if (JK_HMIN_TEKI_x < 30-17) or (JK_HMIN_TEKI_y < 10-19) or (JK_HMIN_TEKI_x > 412+17) or (JK_HMIN_TEKI_y > 460+19) { JK_HMIN_f = 0 ;¥Û¡¼¥ß¥ó¥°¥Õ¥é¥°¤ò¡ÚÌ᤹¡Û } return ;*************Ũ°Üư**************** *Ũ°Üư if TEKI_TIM_c < 2800 : TEKI_TIM_c += 1 ;Ũ½Ð¸½¥«¥¦¥ó¥¿¡¼ dup TEKI_Move_f,TEKI_IDO_f ;Ïȳ° (¢¤Ë°Üư¤¹¤ë) TEKI_no = 80 ;Ũ¥¹¥×¥é¥¤¥È¸¡º÷³«»ÏNO repeat es_find TEKI_D, 8192, TEKI_no,190, 1 if TEKI_D < 0 : break es_get TEKI_pos_x,TEKI_D,3 ;ŨX es_get TEKI_pos_y,TEKI_D,5 ;ŨY TEK_G = TEKI_NO_GID(TEKI_D) ;Ũ¥¹¥×¥é¥¤¥ÈNO¤ò¥¡¼¤Ë¥°¥ë¡¼¥×¥¤¥ó¥Ç¥Ã¥¯¥¹¼è¤ê½Ð¤· TEKI_DID = TEKI_NO_DID(TEKI_D) ;Ũ¥¹¥×¥é¥¤¥ÈNO¤ò¥¡¼¤ËŨ¥Ç¡¼¥¿¥¤¥ó¥Ç¥Ã¥¯¥¹¼è¤ê½Ð¤· if TEKI_Move_f(TEKI_DID) = 0 { TAMA_NO_DID(TEKI_IDO) = TEKI_DID;ÃÆ¤Î¥¹¥×¥é¥¤¥ÈNO¤ò¥¡¼¤ËŨ¥Ç¡¼¥¿¥¤¥ó¥Ç¥Ã¥¯¥¹³ÊǼ(¤³¤ì¤ÇÃÆ¤ÈŨ¥Ç¡¼¥¿¤È¤ÎɳÉÕ) if TEKI_f(cnt) = 0 { ;£±¥°¥ë¡¼¥× if TEKI_TIM_c >= TEKI_TIM(TEK_G) { if TEK_G = 0 { es_apos TEKI_D, 0,1, 200 ;200¤Î¥¹¥Ô¡¼¥É¤Ç¢¤Ë°Üư¤¹¤ë } } ;2¥°¥ë¡¼¥× if TEKI_TIM_c >= TEKI_TIM(TEK_G) { if TEK_G = 1 { es_apos TEKI_D, 0,1, 200 ;200¤Î¥¹¥Ô¡¼¥É¤Ç¢¤Ë°Üư¤¹¤ë } } ;---ÏÈÆâ (type½ñ¤´¹¤¨)--- if (TEKI_pos_x > 30) AND (TEKI_pos_y > 10) AND (TEKI_pos_x < 412) AND (TEKI_pos_y < 460) { es_get TEKI_flag,TEKI_D,0 ;Ũ¤ÎflagÃͤò¡Ö¼èÆÀ¡× es_type TEKI_D,4096 ;²èÌÌÆâ¤ÎtypeÃÍÀßÄê } } }TEKI_no++ ;Ũ¤Î¸¡º÷³«»Ï¥Ê¥ó¥Ð¡Ý loop return