|
| ̤²ò·è |
| ²ò·è |
| Ää»ß |
| ºï½üÍ×ÀÁ |
|
2019/8/8(Thu) 21:27:53|NO.88021
¾¯¤·¤ªµ×¤·¤Ö¤ê¤Ç¤¹¡£
hspdxfix.as¥×¥é¥°¥¤¥ó¤ò»È¤Ã¤ÆÊ£¿ô¼ïÎà¤Î¥¢¥¤¥Æ¥à¤ò½Ð¤¹¤³¤È¤¬¤Ç¤¤¿¤Î¤Ç¤¹¤¬¡¢
¼ïÎऴ¤È¤ËȽÃǤò¥¹¥Þ¡¼¥È¤ËÊѤ¨¤ëÊýË¡¤¬»×¤¤É⤫¤Ð¤Ê¤«¤Ã¤¿¤Î¤Ç¼ÁÌ䤷¤Þ¤¹¡£
ÆÈÆäʺî¤êÊý¤È¡¢¥Þ¥¤¥Ê¡¼¤À¤È»×¤ï¤ì¤ë¥×¥é¥°¥¤¥ó¤Ê¤Î¤Ç¡¢£²½µ´Ö¤Û¤ÉÊÖÅú¤Ê¤«¤Ã¤¿¤éºï½ü¤·¤Þ¤¹¡£
º£²ó¡¢Å¨½èÍýÆâ¤Ë¤¢¤ë¥¢¥¤¥Æ¥à½àÈ÷¤Ï½èÍý¤¬Æñ¤·¤¤¤Î¤Ç¡¡Á¦¤Þ¤ÇÈÖ¹æ¤ò¿¶¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
½é¤Î»î¤ß¤Ê¤Î¤ÇµÕ¤Ë¸«¤Å¤é¤«¤Ã¤¿¤é¤¹¤¤¤Þ¤»¤ó¡£
¡¡¢£»ÅÍÍ¢£
¡¦Å¨¤«¤é½Ð¸½¤¹¤ë¥¢¥¤¥Æ¥à¤Ï¹ç·×¤Ç4¸Ä
¡¦¥¢¥¤¥Æ¥à4¸Ä¤ÎÆâ¡¢2¸Ä¤Ï¥Ñ¥ï¡¼¥¢¥¤¥Æ¥à¡¢2¸Ä¤ÏÅÀ¿ô
¡¦¥Ñ¥ï¡¼¥¢¥¤¥Æ¥à¡§¼«µ¡¶¯²½¡¢ÅÀ¿ô¥¢¥¤¥Æ¥à¡§ÅÀ¿ôÁý²Ã
¡¦ÅÀ¥¢¥¤¥Æ¥à¤Ï¤ï¤«¤ê¤ä¤¹¤¯½Ä¤ËŤ¯¤·¤Æ¤¤¤Þ¤¹(ËÜÍè¤Ï¥Ñ¥ï¡¼¥¢¥¤¥Æ¥à¤ÈƱ¤¸Â礤µ)
¡¡¡ù¤ä¤ê¤¿¤¤¤³¤È¡ù
¥¢¥¤¥Æ¥à¤Ï¥¹¥×¥é¥¤¥È¤Ç½èÍý¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¥¹¥×¥é¥¤¥ÈNo¤Ç¸Ä¡¹¤ËȽÃǤ·¤¿¤¤¡£
¡Ê¤³¤Îºî¤êÊý¤À¤È¡¢ºÙ¤«¤¯È½ÃǤ¹¤ë¤·¤«Ìµ¤¤¤È»×¤ï¤ì¤ë¤Î¤Ç¡¢Â¾¤Îºî¤êÊý¤¬¤¤¤¤¤è¤Ã¤Æ¤¤¤¦¥¢¥É¥Ð¥¤¥¹¤Ç¤â²Ä¡Ë
¡¡¢¥¥×¥é¥°¥¤¥ó»ÅÍ;å¤ä¤ê¤Ë¤¯¤¤¤³¤È¢¥
¡¦¥Ñ¥ï¡¼¥¢¥¤¥Æ¥à¡¢ÅÀ¿ô¥¢¥¤¥Æ¥à¤òÊÌ¡¹¤Ë½èÍý¤·¤Æ¡¢ÅÀ¿ô¥¢¥¤¥Æ¥à¤Îtype¤ò16¤È¤«¤Ë¤¹¤ë¡£
¡¡¢ªtype¤Ï¡Ö1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768¡×¤Î16¼ïÎष¤«»È¤¨¤Ê¤¤¤Î¤Ç¤¢¤Þ¤êÁý¤ä¤·¤¿¤¯¤Ê¤¤
¡Ê¡Ö¥Ü¥àÁý²Ã¡¢1¥¢¥Ã¥×¡×¤Ê¤É¤âÆþ¤ì¤ë¤Î¤Ç¡¢type¤¬ËĤé¤à¤ÈÂçÊѤʤ³¤È¤Ë¡Ë
¡ü¤ä¤Ã¤¿¤³¤È¡ü
/**/¤Ç¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ¤¤¤ë¤³¤È¤¬¤ä¤Ã¤¿¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¡¦Áý²Ã¤·¤Æ¤º¤é¤·¤Æ¤ß¤ë
¥¢¥¤¥Æ¥à¥¹¥×¥é¥¤¥È¤Î³«»Ï¤¬150¤Ê¤Î¤Ç¡¢¡ÖAI_no_c = 150¡×¤ÇÂåÆþ¤¹¤ë¡£
¡Ö¥¢¥¤¥Æ¥à¤Î¸¡º÷³«»Ï¥Ê¥ó¥Ð¡Ý¡×¤È°ìÃפ·¤Æ¤¤¤ì¤Ð¡¢¥Ñ¥ï¡¼¥¢¥¤¥Æ¥à¤òÁý²Ã¤¹¤ë¡£
¤½¤·¤Æ¡¢ÂåÆþ¤·¤Æ¤¿ÊÑ¿ô¤ò+1Áý²Ã¤µ¤»¤Æ¡¦¡¦¡¦
¤½¤â¤½¤â¥¢¥¤¥Æ¥à¤ÈÅö¤¿¤Ã¤¿¤È¤¤Ï¡¢°ì½Ö¤·¤«È½ÃǤµ¤ì¤Ê¤¤¤Î¤Ç¤·»»¤ò¹Ô¤Ã¤Æ¤â¡ÖAI_no_c = 150¡×¤Ç¥ê¥»¥Ã¥È¤µ¤ì¤ë¡£
¡¡¡¦¥°¥ë¡¼¥×ʬ¤±
ȽÃǤ·¤¿¤¤¥¹¥×¥é¥¤¥ÈNo¤ò¡Öor¡×¤Ç¤Þ¤È¤á¤Æ¡¢¾ò·ï¤Ë㤷¤Æ¤¤¤ì¤Ð¥Õ¥é¥°¤òΩ¤Æ¤Æ¡¢¥Õ¥é¥°¤¬Î©¤Ã¤Æ¤¤¤ì¤Ð¥Ñ¥ï¡¼¥¢¥¤¥Æ¥à¤òÁý²Ã¡£
¤³¤ì¤À¤È¥Õ¥é¥°¤ÇȽÃǤ·¤Æ¤·¤Þ¤¦¤¿¤á¡¢¤É¤ì¤ò¤È¤Ã¤Æ¤â¡Ö¥Ñ¥ï¡¼¥¢¥¤¥Æ¥à¡×¤ÈȽÃǤµ¤ì¤Æ¤·¤Þ¤¦¡£
#include "hspdxfix.as" ;DX¥é¥¤¥Ö¥é¥ê»ÈÍÑ
width ,,130,200 ;¥¦¥£¥ó¥É¥¦¤Î°ÌÃÖ
es_ini 640,5000,360 ;¥¹¥×¥é¥¤¥È¤ÎºÇÂç¿ô¡¢¥¥ã¥é¥¯¥¿ÄêµÁ¤ÎºÇÂç¿ô,¼þ¤ÎÀºÅÙ(180*2)
es_screen 640,480 ,0,0,1,1
es_window 30,-30, 412,460 ;¥¹¥×¥é¥¤¥Èɽ¼¨¥¨¥ê¥¢ÀßÄê
es_area 10,-30, 432,480 ;¥¹¥×¥é¥¤¥È͸ú¥¨¥ê¥¢ÀßÄê
;---¥Ñ¥ï¡¼¥¢¥¤¥Æ¥à---
es_size 12,12, 100
es_pat 150, 1,80
;---ÅÀ¥¢¥¤¥Æ¥à---
es_size 12,20, 100
es_pat 180, 14,80
;---¼«µ¡---
es_size 28,42, 100
es_pat 400, 0, 0
JIKI_x = 206 : JIKI_y = 390 ;ºÂɸ
;---¼«µ¡ÃÆ---
es_size 11,11, 100
es_pat 51, 1,43
;---Ũ---
es_size 50,38, 100
es_pat 70, 19,0
;ŨÇÛÃÖ
TEKI_MAX = 5 ;Ũ¤ÎºÇÂç¿ô
dim TEKI_f,TEKI_MAX
dim TEKI_x,TEKI_MAX
dim TEKI_y,TEKI_MAX
;Ũ¥¢¥¤¥Æ¥à
TEKI_AI_MAX = 20 ;¥¢¥¤¥Æ¥à¤ÎºÇÂç¿ô
dim TEKI_DS_AI_f,TEKI_AI_MAX ;¥¢¥¤¥Æ¥à¤ò½Ð¤¹¥Õ¥é¥°
dim P_AI_x,TEKI_AI_MAX
dim P_AI_y,TEKI_AI_MAX
;¢§¢§¢§¢§¢§¢§¢§Å¨ÇÛÎ󢧢§¢§¢§¢§¢§¢§
TEKI_x = 80,150,220,290,360
TEKI_y = 300,300,300,300,300
;************¥á¥¤¥ó¥ë¡¼¥×***************
*¥á¥¤¥ó
es_cls
es_draw
pos 420,10 : es_mes "AI_HIT " + AI_HIT
pos 420,30 : es_mes "TN_HIT " + TN_HIT
pos 420,80 : es_mes "TEKI_DS_AI_f(0) " + TEKI_DS_AI_f(0)
pos 420,100 : es_mes "TEKI_DS_AI_f(1) " + TEKI_DS_AI_f(1)
pos 420,120 : es_mes "TEKI_DS_AI_f(2) " + TEKI_DS_AI_f(2)
pos 420,140 : es_mes "TEKI_DS_AI_f(3) " + TEKI_DS_AI_f(3)
pos 420,160 : es_mes "TEKI_DS_AI_f(4) " + TEKI_DS_AI_f(4)
pos 420,190 : es_mes "TEKI_DS_AI_f(5) " + TEKI_DS_AI_f(5)
pos 420,210 : es_mes "TEKI_DS_AI_f(6) " + TEKI_DS_AI_f(6)
pos 420,230 : es_mes "TEKI_DS_AI_f(7) " + TEKI_DS_AI_f(7)
pos 420,250 : es_mes "TEKI_DS_AI_f(8) " + TEKI_DS_AI_f(8)
pos 420,270 : es_mes "TEKI_DS_AI_f(9) " + TEKI_DS_AI_f(9)
;*************¥«¥¦¥ó¥¿¡¼****************
gosub *¼«µ¡¤Î°ÜÆ°
gosub *¼«µ¡ÃÆ°ÜÆ°
gosub *Ũ
gosub *Ũ¥¢¥¤¥Æ¥à
es_set 400, JIKI_x,JIKI_y, 400 ;¼«µ¡É½¼¨
es_sync ;²èÌ̹¹¿·
await 16
goto *¥á¥¤¥ó
;**************¼«µ¡¤Î°ÜÆ°***************
*¼«µ¡¤Î°ÜÆ°
stick key,15 ;¥¡¼¼èÆÀ
if key & 1 : JIKI_x = JIKI_x - 4 ;¢«¤Î°ÜÆ°
if key & 2 : JIKI_y = JIKI_y - 4 ;¢¬¤Î°ÜÆ°
if key & 4 : JIKI_x = JIKI_x + 4 ;¢ª¤Î°ÜÆ°
if key & 8 : JIKI_y = JIKI_y + 4 ;¢¤Î°ÜÆ°
return
;*************¼«µ¡ÃÆ°ÜÆ°****************
*¼«µ¡ÃÆ°ÜÆ°
JK_TAMA_G_kazu = 0
getkey keyZ,90 ;Z¥¡¼
if keyZ AND JKSO_f = 0 AND RENSA = 0 {
es_exnew JK_TAMA ,10,30 ;¿·µ¬¥¹¥×¥é¥¤¥È¼èÆÀ
;---ÃƤÎȽÃÇ---
JK_TAMA_dai_Kz = JK_TAMA_c \ 2
if JK_TAMA_dai_Kz = 0 : JK_TAMA_G_kazu += 1
JK_TAMA_c++ ;¥ë¡¼¥×Æ⥫¥¦¥ó¥¿¡¼
if JK_TAMA_G_kazu = 0 : JKSO_x = JIKI_x-6 ;º¸Â¦
if JK_TAMA_G_kazu = 1 : JKSO_x = JIKI_x+18 ;±¦Â¦
JKSO_y = JIKI_y
es_set JK_TAMA, JKSO_x,JKSO_y, 51 ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo
es_apos JK_TAMA, 0,-15 ,100 ;¢¬¤Ë°ÜÆ°
RENSA = 2 ;ÃƤδֳÖ
es_type JK_TAMA,2 ;typeÃÍ
}
if RENSA > 0 : RENSA -= 1 ;ÃƤδֳ֤ò¥ê¥»¥Ã¥È¤¹¤ë
return
;*************Ũ****************
*Ũ
repeat TEKI_MAX ;Ũ¤ÎºÇÂç¿ô(5)
if TEKI_f(cnt) = 0 {
TEKI_f(cnt) = 1
es_exnew TEKI, 80,84 ;¿·µ¬¥¹¥×¥é¥¤¥ÈNo
es_set TEKI, TEKI_x(cnt),TEKI_y(cnt), 70 ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo
es_type TEKI,4096
}
loop
;¼«µ¡ÃÆVSŨ¡¡Åö¤¿¤êȽÄê
TEKI_no = 80 ;Ũ¤Î¸¡º÷³«»Ï¥Ê¥ó¥Ð¡Ý
AI_c = 0 ;¡¡Ö¥¢¥¤¥Æ¥à¥Õ¥é¥°¤ò¥ª¥ó¤Ë¤·¤¿²ó¿ô¡×
AI_KZ = 4 ;¢¡Ö¥¢¥¤¥Æ¥à¿ô¡×
repeat TEKI_MAX ;Ũ¤ÎºÇÂç¿ô(5)
es_find TEKI_D, 4096, TEKI_no,84 ;£¡ÖŨ¥¹¥×¥é¥¤¥È80¡Á84¤Î´Ö¤òõ¤¹¡×
es_check TEKI_VS_TAMA ,TEKI_D,2 ;¤¡ÖŨ¤¬¼«µ¡ÃƤÈÅö¤¿¤Ã¤¿¤éÊÑ¿ô¤Ë-1¤òÂåÆþ¡×
;¥¢¥¤¥Æ¥à¥¹¥¤¥Ã¥Á
TEKI_AI_DI_cnt = 0 ;¥¡Ö¥¢¥¤¥Æ¥àÇÛÃÖÊѹ¹¡×
TEKI_AI_no = 80 ;¦¡Ö¥¢¥¤¥Æ¥àÇÛÃÖ³«»Ï¥Ê¥ó¥Ð¡Ý¡×
repeat TEKI_MAX ;Ũ¤ÎºÇÂç¿ô(5)
;£¡Ö80¡Á84¤Î´Ö¤òõ¤·¤¿·ë²Ì¡×¡¢¦¡Ö¥¢¥¤¥Æ¥àÇÛÃÖ³«»Ï¥Ê¥ó¥Ð¡Ý¡×¤¬°ìÃפ·¤¿¤é¼Â¹Ô (80 = 80,81 = 81...)
if TEKI_D = TEKI_AI_no {
TEKI_AI_cnt = TEKI_AI_DI_cnt ;¦¡Ö¥¢¥¤¥Æ¥àÇÛÃÖÊѹ¹¡×¤Î·ë²Ì¤ò§¤ËÂåÆþ¤¹¤ë (0,4...)
}
TEKI_AI_DI_cnt += AI_KZ ;¥¡Ö¥¢¥¤¥Æ¥àÇÛÃÖÊѹ¹¡×¡¡+¡¡¢¡Ö¥¢¥¤¥Æ¥à¿ô¡×(0,4...)
TEKI_AI_no += 1 ;¦¡Ö¥¢¥¤¥Æ¥àÇÛÃÖ³«»Ï¥Ê¥ó¥Ð¡Ý¡×¤ò¡ÖÁý²Ã¡×
loop
;¤¢¤¿¤Ã¤¿¤é¼Â¹Ô
if TEKI_VS_TAMA != -1 { ;¤
es_kill TEKI_D ;¼«µ¡ÃÆ¡Öºï½ü¡×
es_kill TEKI_VS_TAMA ;Ũ¡Öºï½ü¡×
;¥¢¥¤¥Æ¥à¥ë¡¼¥×³«»ÏÃÏÅÀ¤òÊѹ¹¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¹¥¤¤Ê¿ô¤Å¤Ä¤º¤é¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹
repeat TEKI_AI_MAX, TEKI_AI_cnt ;Ũ¥¢¥¤¥Æ¥à¿ô(10),§ (0,4...)
TEKI_DS_AI_f(cnt) = 1 ;¥¢¥¤¥Æ¥à¤ò½Ð¤¹¥Õ¥é¥°¤ò¡ÖΩ¤Æ¤ë¡×
AI_c++
if AI_c == AI_KZ : break ;¡¡Ö¥¢¥¤¥Æ¥à¥Õ¥é¥°¤ò¥ª¥ó¤Ë¤·¤¿²ó¿ô¡×¤È ¢¡Ö¥¢¥¤¥Æ¥à¿ô¡×¤¬°ìÃפ·¤¿¤é¥ë¡¼¥×¤«¤éÈ´¤±¤ë
loop
}TEKI_no++
loop
return
;************Ũ¥¢¥¤¥Æ¥à*****************
*Ũ¥¢¥¤¥Æ¥à
TKTM_no = 80 ;Ũ¤Î¸¡º÷¥Ê¥ó¥Ð¡Ý
AI_no = 150 ;¥¢¥¤¥Æ¥à¤Î¸¡º÷³«»Ï¥Ê¥ó¥Ð¡Ý
repeat TEKI_MAX * AI_KZ ;Ũ¤ÎºÇÂç¿ô * ¢¡Ö¥¢¥¤¥Æ¥à¿ô¡× (5 * 4 = 20)
if TEKI_DS_AI_f(cnt) = 1 { ;¥¢¥¤¥Æ¥à¤ò½Ð¤¹¥Õ¥é¥°
es_get P_AI_x(cnt),TKTM_no,3 ;¥¹¥×¥é¥¤¥ÈXºÂɸ
es_get P_AI_y(cnt),TKTM_no,5 ;¥¹¥×¥é¥¤¥ÈYºÂɸ
;¥¥ã¥éÈÖ¹æ¤ò¥Ñ¥ï¡¼¤«¤éÅÀ¿ô¤ËÊѤ¨¤ë
if AI_TUGI <= 1 : AI_HN = 150
if AI_TUGI >= 2 : AI_HN = 180
es_set AI_no, P_AI_x(cnt) + AI_TUGI*15, P_AI_y(cnt),AI_HN ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo
es_apos AI_no, 0,-1 ,100 ;¢¬¤Ë°ÜÆ°
es_type AI_no,8 ;¥¢¥¤¥Æ¥àtypeÃÍ(8)
}
;¥¢¥¤¥Æ¥à¤ò½Ð¤¹°ÌÃÖÄ´À°
AI_TUGI_c++ ;¨¥¢¥¤¥Æ¥àÁ÷¤ê
AI_TUGI = AI_TUGI_c \ AI_KZ ;¨¥¢¥¤¥Æ¥àÁ÷¤ê \ ¢¡Ö¥¢¥¤¥Æ¥à¿ô¡× (1 \ 4 = 1,2 \ 4 = 2)
if AI_TUGI = 0 : TKTM_no++ ;;¤ê¤¬0¤À¤Ã¤¿¤é¡¢Å¨¤Î¸¡º÷¥Ê¥ó¥Ð¡Ý¤ò¡ÖÁý²Ã¡×
if AI_TUGI_c >= AI_KZ : AI_TUGI_c = 0 ;Ũ¤Î¸¡º÷¥Ê¥ó¥Ð¡Ý
AI_no++ ;Ũ¤Î¸¡º÷¥Ê¥ó¥Ð¡Ý
loop
;Åö¤¿¤êȽÄê
; 400(¼«µ¡),8(¥¢¥¤¥Æ¥à)
es_check JIKI_VS_TEKI_AI ,400,8
if JIKI_VS_TEKI_AI != -1 {
es_kill JIKI_VS_TEKI_AI ;Ũ¥¢¥¤¥Æ¥à¡Öºï½ü¡×
AI_no = 150 ;¥¢¥¤¥Æ¥à¤Î¸¡º÷³«»Ï¥Ê¥ó¥Ð¡Ý
repeat TEKI_AI_MAX ;Ũ¤Î¥¢¥¤¥Æ¥à¿ô(10)
if JIKI_VS_TEKI_AI = AI_no { ;¼è¤Ã¤¿¥¢¥¤¥Æ¥à¤È¥¢¥¤¥Æ¥à¤Î¸¡º÷³«»Ï¥Ê¥ó¥Ð¡Ý¤¬°ìÃפ·¤¿¤é¡Ö¼Â¹Ô¡×
/*
;Áý²Ã¤·¤Æ¤º¤é¤·¤Æ¤ß¤ë¡¡¢ª¡¡¤¢¤¿¤Ã¤¿½Ö´Ö¤Î¤ßÁý²Ã¤¹¤ë¤Î¤Ç°ì½Ö¤ÇÄ̤ê²á¤®¤Æ¤·¤Þ¤¤¡¢2¤Ä¤á°Ê¹ß¤Ïǧ¼±¤µ¤ì¤Ê¤¤
AI_no_c = 150
if AI_no = AI_no_c : AI_HIT++ : AI_no_c += 1;ÅÀ¥¢¥¤¥Æ¥àÁý²Ã
if AI_no = AI_no_c : AI_HIT++ : AI_no_c += 3;ÅÀ¥¢¥¤¥Æ¥àÁý²Ã
*/
/*
;¥°¥ë¡¼¥×ʬ¤±¡¡¢ª¡¡¥Õ¥é¥°¤¬Î©¤Ã¤Á¤ã¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¤É¤Ã¤Á¼èÆÀ¤·¤Æ¤âȽÃǤµ¤ì¤ë
if AI_no = 150 or AI_no = 151 or AI_no = 154 or AI_no = 155 : AI_TN = 1
if AI_TN = 1 : AI_HIT++ ;¥Ñ¥ï¡¼¥¢¥¤¥Æ¥àÁý²Ã
*/
;¸Ä¡¹¤Ë¥¢¥¤¥Æ¥à¤òȽÃǤ¹¤ë
;¥Ñ¥ï¡¼¥¢¥¤¥Æ¥àÁý²Ã
if AI_no = 150 or AI_no = 151 or AI_no = 154 or AI_no = 155 : AI_HIT++
if AI_no = 158 or AI_no = 159 or AI_no = 162 or AI_no = 163 : AI_HIT++
if AI_no = 166 or AI_no = 167 or AI_no = 170 or AI_no = 171 : AI_HIT++
if AI_no = 174 or AI_no = 175 or AI_no = 178 or AI_no = 189 : AI_HIT++
if AI_no = 182 or AI_no = 183 or AI_no = 186 or AI_no = 197 : AI_HIT++
;ÅÀ¥¢¥¤¥Æ¥àÁý²Ã
if AI_no = 152 or AI_no = 153 or AI_no = 156 or AI_no = 157 : TN_HIT++
if AI_no = 160 or AI_no = 161 or AI_no = 164 or AI_no = 165 : TN_HIT++
if AI_no = 168 or AI_no = 169 or AI_no = 172 or AI_no = 173 : TN_HIT++
if AI_no = 176 or AI_no = 177 or AI_no = 180 or AI_no = 181 : TN_HIT++
if AI_no = 184 or AI_no = 185 or AI_no = 188 or AI_no = 189 : TN_HIT++
TEKI_DS_AI_f(cnt) = 2 ;¥¢¥¤¥Æ¥à¤ò½Ð¤¹¥Õ¥é¥°¤ò2¤Ë¤¹¤ë
}
AI_no++ ;¥¢¥¤¥Æ¥à¤Î¸¡º÷³«»Ï¥Ê¥ó¥Ð¡Ý
loop
}
return
| |
|
2019/8/14(Wed) 22:10:56|NO.88045
itemtypes ¤È¤¤¤¦ÇÛÎó¤òÍÑ°Õ¤·¤Æ
¤½¤³¤Ë ¥Ñ¥ï¡¼¥¢¥Ã¥× ¤È¤« ÆÀÅÀ ¤Î¼ïÊ̤ò³ÊǼ¤¹¤ë¤è¤¦¤ÊÊýË¡¤Ç¤ä¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
#include "hspdxfix.as" ;DX¥é¥¤¥Ö¥é¥ê»ÈÍÑ
#const BIT_MYSHOT 2
#const BIT_ITEM 8
#const BIT_TEKI 4096
// ¥¢¥¤¥Æ¥à¼ïÊÌ
#enum ITEM_NONE = 0
#enum ITEM_POWER
#enum ITEM_PTS
#enum ITEM_BOMB
#enum ITEM_ONEUP
// ¥¢¥¤¥Æ¥à¤Ë³ä¤ê¿¶¤ë¥¹¥×¥é¥¤¥Èno¤Î³«»Ï¤È¸Ä¿ô
#const ITEM_SPR_HEAD 150
#const ITEM_SPR_NUM 20
#const ITEM_SPR_TAIL (ITEM_SPR_HEAD+ITEM_SPR_NUM-1)
#const TEKI_SPR_HEAD 80
#const TEKI_SPR_NUM 5
#const TEKI_SPR_TAIL (TEKI_SPR_HEAD+TEKI_SPR_NUM-1)
// ¼«µ¡¥¹¥×¥é¥¤¥Èno
#const MY_SPR 511
// ¥¥ã¥é¥¯¥¿no
#const CHR_POWER 150
#const CHR_PTS 180
#const CHR_MY 400
width ,,130,200 ;¥¦¥£¥ó¥É¥¦¤Î°ÌÃÖ
es_ini 640,5000,360 ;¥¹¥×¥é¥¤¥È¤ÎºÇÂç¿ô¡¢¥¥ã¥é¥¯¥¿ÄêµÁ¤ÎºÇÂç¿ô,¼þ¤ÎÀºÅÙ(180*2)
es_screen 640,480 ,0,0,1,1
es_window 30,-30, 412,460 ;¥¹¥×¥é¥¤¥Èɽ¼¨¥¨¥ê¥¢ÀßÄê
es_area 10,-30, 432,480 ;¥¹¥×¥é¥¤¥È͸ú¥¨¥ê¥¢ÀßÄê
;---¥Ñ¥ï¡¼¥¢¥¤¥Æ¥à---
es_size 12,12, 100
es_pat CHR_POWER, 1,80
;---ÅÀ¥¢¥¤¥Æ¥à---
es_size 12,20, 100
es_pat CHR_PTS, 14,80
;---¼«µ¡---
es_size 28,42, 100
es_pat CHR_MY, 0, 0
JIKI_x = 206 : JIKI_y = 390 ;ºÂɸ
;---¼«µ¡ÃÆ---
es_size 11,11, 100
es_pat 51, 1,43
;---Ũ---
es_size 50,38, 100
es_pat 70, 19,0
;ŨÇÛÃÖ
TEKI_MAX = 5 ;Ũ¤ÎºÇÂç¿ô
dim TEKI_f,TEKI_MAX
dim TEKI_x,TEKI_MAX
dim TEKI_y,TEKI_MAX
;Ũ¥¢¥¤¥Æ¥à
TEKI_AI_MAX = 20 ;¥¢¥¤¥Æ¥à¤ÎºÇÂç¿ô
dim TEKI_DS_AI_f,TEKI_AI_MAX ;¥¢¥¤¥Æ¥à¤ò½Ð¤¹¥Õ¥é¥°
// ÄɲÃ
dim itemtypes, TEKI_AI_MAX
dim itemtekiindices, TEKI_AI_MAX
foreach itemtekiindices
itemtekiindices(cnt) = -1
loop
;¢§¢§¢§¢§¢§¢§¢§Å¨ÇÛÎ󢧢§¢§¢§¢§¢§¢§
TEKI_x = 80,150,220,290,360
TEKI_y = 300,300,300,300,300
;************¥á¥¤¥ó¥ë¡¼¥×***************
*¥á¥¤¥ó
es_cls
es_draw
pos 420,10 : es_mes "AI_HIT " + AI_HIT
pos 420,30 : es_mes "TN_HIT " + TN_HIT
/*
pos 420,80 : es_mes "TEKI_DS_AI_f(0) " + TEKI_DS_AI_f(0)
pos 420,100 : es_mes "TEKI_DS_AI_f(1) " + TEKI_DS_AI_f(1)
pos 420,120 : es_mes "TEKI_DS_AI_f(2) " + TEKI_DS_AI_f(2)
pos 420,140 : es_mes "TEKI_DS_AI_f(3) " + TEKI_DS_AI_f(3)
pos 420,160 : es_mes "TEKI_DS_AI_f(4) " + TEKI_DS_AI_f(4)
pos 420,190 : es_mes "TEKI_DS_AI_f(5) " + TEKI_DS_AI_f(5)
pos 420,210 : es_mes "TEKI_DS_AI_f(6) " + TEKI_DS_AI_f(6)
pos 420,230 : es_mes "TEKI_DS_AI_f(7) " + TEKI_DS_AI_f(7)
pos 420,250 : es_mes "TEKI_DS_AI_f(8) " + TEKI_DS_AI_f(8)
pos 420,270 : es_mes "TEKI_DS_AI_f(9) " + TEKI_DS_AI_f(9) */
;*************¥«¥¦¥ó¥¿¡¼****************
gosub *¼«µ¡¤Î°ÜÆ°
gosub *¼«µ¡ÃÆ°ÜÆ°
gosub *Ũ
gosub *Åö¤¿¤êȽÄê
es_set MY_SPR, JIKI_x,JIKI_y, CHR_MY ;¼«µ¡É½¼¨
es_sync ;²èÌ̹¹¿·
await 16
goto *¥á¥¤¥ó
;**************¼«µ¡¤Î°ÜÆ°***************
*¼«µ¡¤Î°ÜÆ°
stick key,15 ;¥¡¼¼èÆÀ
if key & 1 : JIKI_x = JIKI_x - 4 ;¢«¤Î°ÜÆ°
if key & 2 : JIKI_y = JIKI_y - 4 ;¢¬¤Î°ÜÆ°
if key & 4 : JIKI_x = JIKI_x + 4 ;¢ª¤Î°ÜÆ°
if key & 8 : JIKI_y = JIKI_y + 4 ;¢¤Î°ÜÆ°
return
;*************¼«µ¡ÃÆ°ÜÆ°****************
*¼«µ¡ÃÆ°ÜÆ°
JK_TAMA_G_kazu = 0
getkey keyZ,90 ;Z¥¡¼
if keyZ AND JKSO_f = 0 AND RENSA = 0 {
es_exnew JK_TAMA ,10,30 ;¿·µ¬¥¹¥×¥é¥¤¥È¼èÆÀ
;---ÃƤÎȽÃÇ---
JK_TAMA_dai_Kz = JK_TAMA_c \ 2
if JK_TAMA_dai_Kz = 0 : JK_TAMA_G_kazu += 1
JK_TAMA_c++ ;¥ë¡¼¥×Æ⥫¥¦¥ó¥¿¡¼
if JK_TAMA_G_kazu = 0 : JKSO_x = JIKI_x-6 ;º¸Â¦
if JK_TAMA_G_kazu = 1 : JKSO_x = JIKI_x+18 ;±¦Â¦
JKSO_y = JIKI_y
es_set JK_TAMA, JKSO_x,JKSO_y, 51 ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo
es_apos JK_TAMA, 0,-15 ,100 ;¢¬¤Ë°ÜÆ°
RENSA = 2 ;ÃƤδֳÖ
es_type JK_TAMA, BIT_MYSHOT ;typeÃÍ
}
if RENSA > 0 : RENSA -= 1 ;ÃƤδֳ֤ò¥ê¥»¥Ã¥È¤¹¤ë
return
;*************Ũ****************
*Ũ
repeat TEKI_MAX ;Ũ¤ÎºÇÂç¿ô(5)
if TEKI_f(cnt) = 0 {
TEKI_f(cnt) = 1
es_exnew TEKI, TEKI_SPR_HEAD, TEKI_SPR_TAIL ;¿·µ¬¥¹¥×¥é¥¤¥ÈNo
es_set TEKI, TEKI_x(cnt),TEKI_y(cnt), 70 ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo
es_type TEKI, BIT_TEKI
}
loop
;¼«µ¡ÃÆVSŨ¡¡Åö¤¿¤êȽÄê
TEKI_no = TEKI_SPR_HEAD ;Ũ¤Î¸¡º÷³«»Ï¥Ê¥ó¥Ð¡Ý
AI_KZ = 4 ;¢¡Ö¥¢¥¤¥Æ¥à¿ô¡×
repeat
es_find TEKI_D, BIT_TEKI, TEKI_no, TEKI_SPR_TAIL ;£¡ÖŨ¥¹¥×¥é¥¤¥È80¡Á84¤Î´Ö¤òõ¤¹¡×
if TEKI_D == -1 {
break
}
es_check TEKI_VS_TAMA ,TEKI_D, BIT_MYSHOT ;¤¡ÖŨ¤¬¼«µ¡ÃƤÈÅö¤¿¤Ã¤¿¤éÊÑ¿ô¤Ë not -1¤òÂåÆþ¡×
;¤¢¤¿¤Ã¤¿¤é¼Â¹Ô
if TEKI_VS_TAMA != -1 {
TKTM_no = TEKI_D
gosub *Ũ¥¢¥¤¥Æ¥à
es_kill TEKI_D ;Ũ¡Öºï½ü¡×
es_kill TEKI_VS_TAMA ;¼«ÃÆ¡Öºï½ü¡×
}
TEKI_no++
loop
return
;************Ũ¥¢¥¤¥Æ¥à*****************
*Ũ¥¢¥¤¥Æ¥à
es_get x,TKTM_no,3 ;¥¹¥×¥é¥¤¥ÈXºÂɸ
es_get y,TKTM_no,5 ;¥¹¥×¥é¥¤¥ÈYºÂɸ
repeat AI_KZ
AI_TUGI = cnt
es_exnew AI_no, ITEM_SPR_HEAD, ITEM_SPR_TAIL
if AI_no == -1 {
break
}
index = AI_no - ITEM_SPR_HEAD
;¥¥ã¥éÈÖ¹æ¤ò¥Ñ¥ï¡¼¤«¤éÅÀ¿ô¤ËÊѤ¨¤ë
if AI_TUGI <= 1 {
AI_HN = CHR_POWER
itemtypes(index) = ITEM_POWER
}
if AI_TUGI >= 2 {
AI_HN = CHR_PTS
itemtypes(index) = ITEM_PTS
}
es_set AI_no, x + AI_TUGI*15, y, AI_HN ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo
es_apos AI_no, 0,-1 ,100 ;¢¬¤Ë°ÜÆ°
es_type AI_no, BIT_ITEM ;¥¢¥¤¥Æ¥àtypeÃÍ(8)
itemtekiindices(index) = TKTM_no - TEKI_SPR_HEAD
loop
return
*Åö¤¿¤êȽÄê
repeat
; 400(¼«µ¡),8(¥¢¥¤¥Æ¥à)
es_check JIKI_VS_TEKI_AI, MY_SPR, BIT_ITEM
if JIKI_VS_TEKI_AI == -1 {
break
}
es_kill JIKI_VS_TEKI_AI ;Ũ¥¢¥¤¥Æ¥à¡Öºï½ü¡×
index = JIKI_VS_TEKI_AI - ITEM_SPR_HEAD
if (index >= 0) & (index < ITEM_SPR_NUM) {
itemtype = itemtypes(index)
// 0 ¡Á TEKI_MAX-1 ¤Ç¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬ÆÀ¤é¤ì¤ë
tekiindex = itemtekiindices(index)
if (itemtype == ITEM_POWER) {
AI_HIT++
}
if (itemtype == ITEM_PTS) {
TN_HIT++
}
itemtypes(index) = ITEM_NONE
//TEKI_DS_AI_f(tekiindex) = 2 ;¥¢¥¤¥Æ¥à¤ò½Ð¤¹¥Õ¥é¥°¤ò2¤Ë¤¹¤ë
}
loop
return
TEKI_DS_AI_f ÇÛÎó¤Î¹¹¿·(0¢ª1¢ª2)¤Ï¥ª¥ß¥Ã¥È¤·¤Æ¤¢¤ê¤Þ¤¹¡£
| |
|
2019/8/15(Thu) 23:07:35|NO.88063
º½»þ ·×¤µ¤ó¥½¡¼¥¹¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡ª
¤Á¤ç¤Ã¤È²òÆɤˤª»þ´Ö¤«¤«¤ê¤Þ¤¹(¢á¦Ø¢á¡¥) ¥Þ¥¯¥í¤È¤«»È¤Ã¤Æ¤Ê¤¤¤â¤ó¤Ç¡¦¡¦¡¦
ÆâÍƤòÍý²ò¤·¤¿¤é¤ªÊÖ»ö¤·¤Þ¤¹¤Í¡Á
|
|
2019/8/18(Sun) 16:34:43|NO.88123
Íý²ò¤Ç¤¤Þ¤·¤¿¡£
¤¹¤´¤¯¥¹¥Þ¡¼¥È¤Ê¥½¡¼¥¹¤Ç¤Ó¤Ã¤¯¤ê¤·¤Æ¤¤¤Þ¤¹¡£
²áµî¤Ë¤ä¤Ã¤¿¤³¤È¤¬¿§¤ó¤Ê¤³¤È¤Ë±þÍѤǤ¤½¤¦¤Ç¤¹¡£
171¡§index = AI_no - ITEM_SPR_HEAD
4¸Ä¤Å¤ÄÇÛÎó¤òºî¤Ã¤Æ¤¤¤ë¤ó¤Ç¤¹¤Í¡£cnt¤À¤È0¤«¤é¥¹¥¿¡¼¥È¤·¤Æ¤·¤Þ¤¦¤¿¤á¡¢¤³¤ÎÊýË¡¤¬¤¤¤¤¤Ã¤Æ¤¤¤¦¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£
µ¿Ìä¤Ë»×¤Ã¤¿¤È¤³¤í¤¬¤¢¤ê¤Þ¤¹¡£
187¡§itemtekiindices(index) = TKTM_no - TEKI_SPR_HEAD
204¡§tekiindex = itemtekiindices(index)
¾åµ¤Ï¡¢¡Ö214¡§TEKI_DS_AI_f(tekiindex) = 2¡×¤Î¤¿¤á¤ËÍÑ°Õ¤·¤¿Êª¤Ê¤Î¤Ç¤·¤ç¤¦¤«¡£
¸å¡¢¡Ö201¡§if (index >= 0) & (index < ITEM_SPR_NUM) {¡×¤ÏÊݸ±¤Î°Ù¤ËÆþ¤ì¤Æ¤¢¤ë¾ò·ï¼°¤Ë¤Ê¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£
|
|
2019/8/19(Mon) 21:06:16|NO.88144
> 187¡§itemtekiindices(index) = TKTM_no - TEKI_SPR_HEAD
> 204¡§tekiindex = itemtekiindices(index)
>
> ¾åµ¤Ï¡¢¡Ö214¡§TEKI_DS_AI_f(tekiindex) = 2¡×¤Î¤¿¤á¤ËÍÑ°Õ¤·¤¿Êª¤Ê¤Î¤Ç¤·¤ç¤¦¤«¡£
¤Ï¤¤¡£
¸µ¤Î TEKI_DS_AI_f ÇÛÎó¤Ï1¥¢¥¤¥Æ¥à¤´¤È¤ÎÇÛÎó¤Ç
tekiindex ¤Ï1Ũµ¡¤´¤È¤ÎÇÛÎó¤ÈÂоݤ¬°ã¤Ã¤¿¤Î¤Ç¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Þ¤·¤¿¤¬
²¾¤Ë¤É¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎŨµ¡¤«¤é½Ð¸½¤·¤¿¥¢¥¤¥Æ¥à¤«¤ò¸å¤«¤é
»²¾È¤·¤¿¤¤¾ì¹ç¤Ç¤â»²¾È²Äǽ¤Ç¤¹¡¢¤È¤¤¤¦°Õ¿Þ¤Ç¤¹¡£
¥¢¥¤¥Æ¥à½Ð¸½»þ¤Ë¥¢¥¤¥Æ¥à¤ÎÀ¼Á(¼ïÊÌ)¤¬·è¤Þ¤ì¤Ð½½Ê¬¤Ê¾ì¹ç¤Ï
itemtekiindices ÇÛÎó¤ÏÉÔÍפǤ¹¡£
> ¸å¡¢¡Ö201¡§if (index >= 0) & (index < ITEM_SPR_NUM) {¡×¤ÏÊݸ±¤Î°Ù¤ËÆþ¤ì¤Æ¤¢¤ë¾ò·ï¼°¤Ë¤Ê¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£
¤Ï¤¤¡£
Åö¤¿¤êȽÄê¤Ç¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï -1 ¤ÇÀè¤Ë¥ë¡¼¥×¤òÈ´¤±¤Æ¤¤¤Þ¤¹¡£
Åö¤¿¤ëÂоݤ¬¾ï¤Ë HEAD ¡Á TAIL ¤ÎÈÏ°ÏÆâ¤È·è¤Þ¤Ã¤Æ¤¤¤ë¾ì¹ç¤ÏÉÔÍפȤʤê¤Þ¤¹¡£
|
|
2019/8/19(Mon) 23:12:13|NO.88150
º½»þ ·×¤µ¤ó¤ªÊÖ»ö¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
¤ä¤Ï¤ê¤½¤¦¤À¤Ã¤¿¤ó¤Ç¤¹¤Í¡£¤³¤ì¤Ç¥¹¥Ã¥¥ê¤·¤Þ¤·¤¿¡ª
¤¿¤À¡¢¿·¤·¤¤µ¿Ì䤬½Ð¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡¦¡¦¡¦orz
>>Åö¤¿¤ëÂоݤ¬¾ï¤Ë HEAD ¡Á TAIL ¤ÎÈÏ°ÏÆâ¤È·è¤Þ¤Ã¤Æ¤¤¤ë¾ì¹ç¤ÏÉÔÍפȤʤê¤Þ¤¹¡£
HEAD ¡Á TAIL¤È¤Ï¤É¤Î¤è¤¦¤Êʪ¤Ê¤Î¤Ç¤·¤ç¤¦¤«¡£¸¡º÷¤·¤Æ¤â¤¤¤Þ¤¤¤Á¤·¤Ã¤¯¤ê¤³¤Ê¤¯¤Ã¤Æ¡¦¡¦¡¦
¡Ê½é¤á¤Æʹ¤¯Ã±¸ì¤Ê¤Î¤Ç¤¹¡Ë
¤½¤¦¤¤¤¨¤Ð¥¢¥¤¥Æ¥à¤Î¾å²¼¤òÆþ¤ì¤Æ¤¿¤Î¤Ç¡¢¤»¤Ã¤«¤¯¤Ê¤Î¤ÇÅÓÃ椫¤é²¼¤Ë°ÜÆ°¤¹¤ë½èÍý¤òÆþ¤ì¤Þ¤·¤¿
¤³¤ÎÊýË¡¤À¤È¡¦¡¦¡¦Ï¢Â³¤Ç¥¢¥¤¥Æ¥à¤ò½Ð¤¹¤È¥¢¥¦¥È¤Ë¤Ê¤ë¤Î¤Ç½¤Àµ¤·¤Þ¤¹¡£
¤³¤ó¤Ê¤ËÁÇŨ¤Ê¥Ò¥ó¥È¤¬Âô»³¤¢¤ë¤ó¤À½ÐÍè¤ë¤Ï¤º¤Ê¤ó¤À¡ª
Àè¤Ë¢¬¢¬¤Î¤ªÊÖ»ö¤ò½ñ¤¤¿¤¯¤Ã¤Æ¥ì¥¹¤ò¤·¤Þ¤·¤¿¡£
¾å²¼¤Ï¤Ê¤ó¤È¤«¼«ÎϤǤ¬¤ó¤Ð¤ê¤Þ¤¹¡£¤Ò¤£¤Ò¤£¤¤¤Ã¤¿¤éʹ¤¤Þ¤¹¡£
#include "hspdxfix.as" ;DX¥é¥¤¥Ö¥é¥ê»ÈÍÑ
#const BIT_MYSHOT 2
#const BIT_ITEM 8
#const BIT_TEKI 4096
// ¥¢¥¤¥Æ¥à¼ïÊÌ
#enum ITEM_NONE = 0
#enum ITEM_POWER
#enum ITEM_PTS
#enum ITEM_BOMB
#enum ITEM_ONEUP
// ¥¢¥¤¥Æ¥à¤Ë³ä¤ê¿¶¤ë¥¹¥×¥é¥¤¥Èno¤Î³«»Ï¤È¸Ä¿ô
#const ITEM_SPR_HEAD 150
#const ITEM_SPR_NUM 20
#const ITEM_SPR_TAIL (ITEM_SPR_HEAD+ITEM_SPR_NUM-1)
#const TEKI_SPR_HEAD 80
#const TEKI_SPR_NUM 5
#const TEKI_SPR_TAIL (TEKI_SPR_HEAD+TEKI_SPR_NUM-1)
// ¼«µ¡¥¹¥×¥é¥¤¥Èno
#const MY_SPR 511
// ¥¥ã¥é¥¯¥¿no
#const CHR_POWER 150
#const CHR_PTS 180
#const CHR_MY 400
width ,,130,200 ;¥¦¥£¥ó¥É¥¦¤Î°ÌÃÖ
es_ini 640,5000,360 ;¥¹¥×¥é¥¤¥È¤ÎºÇÂç¿ô¡¢¥¥ã¥é¥¯¥¿ÄêµÁ¤ÎºÇÂç¿ô,¼þ¤ÎÀºÅÙ(180*2)
es_screen 640,480 ,0,0,1,1
es_window 30,-30, 412,460 ;¥¹¥×¥é¥¤¥Èɽ¼¨¥¨¥ê¥¢ÀßÄê
es_area 10,-30, 432,480 ;¥¹¥×¥é¥¤¥È͸ú¥¨¥ê¥¢ÀßÄê
;---¥Ñ¥ï¡¼¥¢¥¤¥Æ¥à---
es_size 12,12, 100
es_pat CHR_POWER, 1,80
;---ÅÀ¥¢¥¤¥Æ¥à---
es_size 12,20, 100
es_pat CHR_PTS, 14,80
;---¼«µ¡---
es_size 28,42, 100
es_pat CHR_MY, 0, 0
JIKI_x = 206 : JIKI_y = 390 ;ºÂɸ
;---¼«µ¡ÃÆ---
es_size 11,11, 100
es_pat 51, 1,43
;---Ũ---
es_size 50,38, 100
es_pat 70, 19,0
;ŨÇÛÃÖ
TEKI_MAX = 5 ;Ũ¤ÎºÇÂç¿ô
dim TEKI_f,TEKI_MAX
dim TEKI_x,TEKI_MAX
dim TEKI_y,TEKI_MAX
;Ũ¥¢¥¤¥Æ¥à
TEKI_AI_MAX = 20 ;¥¢¥¤¥Æ¥à¤ÎºÇÂç¿ô
dim TEKI_DS_AI_f,TEKI_AI_MAX ;¥¢¥¤¥Æ¥à¤ò½Ð¤¹¥Õ¥é¥°
// ÄɲÃ
dim itemtypes, TEKI_AI_MAX
dim itemtekiindices, TEKI_AI_MAX
foreach itemtekiindices
itemtekiindices(cnt) = -1
loop
;---ÄɲÃ---
dim AI_Jc,TEKI_AI_MAX ;¾å¾º¥«¥¦¥ó¥È
;¢§¢§¢§¢§¢§¢§¢§Å¨ÇÛÎ󢧢§¢§¢§¢§¢§¢§
TEKI_x = 80,150,220,290,360
TEKI_y = 300,300,300,300,300
;************¥á¥¤¥ó¥ë¡¼¥×***************
*¥á¥¤¥ó
es_cls
es_draw
pos 420,10 : es_mes "AI_HIT " + AI_HIT
pos 420,30 : es_mes "TN_HIT " + TN_HIT
;---ÄɲÃ----
pos 370,110 : es_mes "AI_Jc(0) " + AI_Jc(0)
pos 370,130 : es_mes "AI_Jc(1) " + AI_Jc(1)
pos 370,150 : es_mes "AI_Jc(2) " + AI_Jc(2)
pos 370,170 : es_mes "AI_Jc(3) " + AI_Jc(3)
pos 510,110 : es_mes "AI_Jc(4) " + AI_Jc(4)
pos 510,130 : es_mes "AI_Jc(5) " + AI_Jc(5)
pos 510,150 : es_mes "AI_Jc(6) " + AI_Jc(6)
pos 510,170 : es_mes "AI_Jc(7) " + AI_Jc(7)
pos 370,200 : es_mes "AI_Jc(8) " + AI_Jc(8)
pos 370,220 : es_mes "AI_Jc(9) " + AI_Jc(9)
pos 370,240 : es_mes "AI_Jc(10) " + AI_Jc(10)
pos 370,260 : es_mes "AI_Jc(11) " + AI_Jc(11)
pos 510,200 : es_mes "AI_Jc(12) " + AI_Jc(12)
pos 510,220 : es_mes "AI_Jc(13) " + AI_Jc(13)
pos 510,240 : es_mes "AI_Jc(14) " + AI_Jc(14)
pos 510,260 : es_mes "AI_Jc(15) " + AI_Jc(15)
;*************¥«¥¦¥ó¥¿¡¼****************
gosub *¼«µ¡¤Î°ÜÆ°
gosub *¼«µ¡ÃÆ°ÜÆ°
gosub *Ũ
gosub *Åö¤¿¤êȽÄê
es_set MY_SPR, JIKI_x,JIKI_y, CHR_MY ;¼«µ¡É½¼¨
es_sync ;²èÌ̹¹¿·
await 16
goto *¥á¥¤¥ó
;**************¼«µ¡¤Î°ÜÆ°***************
*¼«µ¡¤Î°ÜÆ°
stick key,15 ;¥¡¼¼èÆÀ
if key & 1 : JIKI_x = JIKI_x - 4 ;¢«¤Î°ÜÆ°
if key & 2 : JIKI_y = JIKI_y - 4 ;¢¬¤Î°ÜÆ°
if key & 4 : JIKI_x = JIKI_x + 4 ;¢ª¤Î°ÜÆ°
if key & 8 : JIKI_y = JIKI_y + 4 ;¢¤Î°ÜÆ°
return
;*************¼«µ¡ÃÆ°ÜÆ°****************
*¼«µ¡ÃÆ°ÜÆ°
JK_TAMA_G_kazu = 0
getkey keyZ,90 ;Z¥¡¼
if keyZ AND JKSO_f = 0 AND RENSA = 0 {
es_exnew JK_TAMA ,10,30 ;¿·µ¬¥¹¥×¥é¥¤¥È¼èÆÀ
;---ÃƤÎȽÃÇ---
JK_TAMA_dai_Kz = JK_TAMA_c \ 2
if JK_TAMA_dai_Kz = 0 : JK_TAMA_G_kazu += 1
JK_TAMA_c++ ;¥ë¡¼¥×Æ⥫¥¦¥ó¥¿¡¼
if JK_TAMA_G_kazu = 0 : JKSO_x = JIKI_x-6 ;º¸Â¦
if JK_TAMA_G_kazu = 1 : JKSO_x = JIKI_x+18 ;±¦Â¦
JKSO_y = JIKI_y
es_set JK_TAMA, JKSO_x,JKSO_y, 51 ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo
es_apos JK_TAMA, 0,-15 ,100 ;¢¬¤Ë°ÜÆ°
RENSA = 2 ;ÃƤδֳÖ
es_type JK_TAMA, BIT_MYSHOT ;typeÃÍ
}
if RENSA > 0 : RENSA -= 1 ;ÃƤδֳ֤ò¥ê¥»¥Ã¥È¤¹¤ë
return
;*************Ũ****************
*Ũ
repeat TEKI_MAX ;Ũ¤ÎºÇÂç¿ô(5)
if TEKI_f(cnt) = 0 {
TEKI_f(cnt) = 1
es_exnew TEKI, TEKI_SPR_HEAD, TEKI_SPR_TAIL ;¿·µ¬¥¹¥×¥é¥¤¥ÈNo
es_set TEKI, TEKI_x(cnt),TEKI_y(cnt), 70 ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo
es_type TEKI, BIT_TEKI
}
loop
;¼«µ¡ÃÆVSŨ¡¡Åö¤¿¤êȽÄê
TEKI_no = TEKI_SPR_HEAD ;Ũ¤Î¸¡º÷³«»Ï¥Ê¥ó¥Ð¡Ý
AI_KZ = 4 ;¢¡Ö¥¢¥¤¥Æ¥à¿ô¡×
repeat
es_find TEKI_D, BIT_TEKI, TEKI_no, TEKI_SPR_TAIL ;£¡ÖŨ¥¹¥×¥é¥¤¥È80¡Á84¤Î´Ö¤òõ¤¹¡×
if TEKI_D == -1 {
break
}
es_check TEKI_VS_TAMA ,TEKI_D, BIT_MYSHOT ;¤¡ÖŨ¤¬¼«µ¡ÃƤÈÅö¤¿¤Ã¤¿¤éÊÑ¿ô¤Ë not -1¤òÂåÆþ¡×
;¤¢¤¿¤Ã¤¿¤é¼Â¹Ô
if TEKI_VS_TAMA != -1 {
TKTM_no = TEKI_D
gosub *Ũ¥¢¥¤¥Æ¥à
es_kill TEKI_D ;Ũ¡Öºï½ü¡×
es_kill TEKI_VS_TAMA ;¼«ÃÆ¡Öºï½ü¡×
}
TEKI_no++
loop
;---ÄɲÃ----
;¥¢¥¤¥Æ¥à°ÜÆ°½èÍý
AI_no = 150 ;¤Ç¤«¤¤Å¨¥¢¥¤¥Æ¥à¤Î¸¡º÷ID
if itemtypes(0) = 1 {
repeat AI_KZ ;¢¡Ö¥¢¥¤¥Æ¥à¿ô¡×(4)
AI_Jc(cnt) += 1 ;¥¢¥¤¥Æ¥à¾å¾º¥«¥¦¥ó¥È
if AI_Jc(cnt) >= 95 {
es_apos AI_no, 0,1 ,100 ;¢¤Ë°ÜÆ°
}
AI_no++ ;¤Ç¤«¤¤Å¨¥¢¥¤¥Æ¥à¤Î¸¡º÷ID
loop
}
return
;************Ũ¥¢¥¤¥Æ¥à*****************
*Ũ¥¢¥¤¥Æ¥à
es_get x,TKTM_no,3 ;¥¹¥×¥é¥¤¥ÈXºÂɸ
es_get y,TKTM_no,5 ;¥¹¥×¥é¥¤¥ÈYºÂɸ
repeat AI_KZ
AI_TUGI = cnt
es_exnew AI_no, ITEM_SPR_HEAD, ITEM_SPR_TAIL
if AI_no == -1 {
break
}
index = AI_no - ITEM_SPR_HEAD
;¥¥ã¥éÈÖ¹æ¤ò¥Ñ¥ï¡¼¤«¤éÅÀ¿ô¤ËÊѤ¨¤ë
if AI_TUGI <= 1 {
AI_HN = CHR_POWER
itemtypes(index) = ITEM_POWER
}
if AI_TUGI >= 2 {
AI_HN = CHR_PTS
itemtypes(index) = ITEM_PTS
}
es_set AI_no, x + AI_TUGI*15, y, AI_HN ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo
es_apos AI_no, 0,-1 ,100 ;¢¬¤Ë°ÜÆ°
es_type AI_no, BIT_ITEM ;¥¢¥¤¥Æ¥àtypeÃÍ(8)
itemtekiindices(index) = TKTM_no - TEKI_SPR_HEAD
loop
return
;*********¥¢¥¤¥Æ¥àÅö¤¿¤êȽÄê*****************
*Åö¤¿¤êȽÄê
repeat
; 400(¼«µ¡),8(¥¢¥¤¥Æ¥à)
es_check JIKI_VS_TEKI_AI, MY_SPR, BIT_ITEM
if JIKI_VS_TEKI_AI == -1 {
break
}
es_kill JIKI_VS_TEKI_AI ;Ũ¥¢¥¤¥Æ¥à¡Öºï½ü¡×
index = JIKI_VS_TEKI_AI - ITEM_SPR_HEAD
if (index >= 0) & (index < ITEM_SPR_NUM) {
itemtype = itemtypes(index)
// 0 ¡Á TEKI_MAX-1 ¤Ç¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬ÆÀ¤é¤ì¤ë
tekiindex = itemtekiindices(index)
if (itemtype == ITEM_POWER) {
AI_HIT++
}
if (itemtype == ITEM_PTS) {
TN_HIT++
}
itemtypes(index) = ITEM_NONE
;---ÄɲÃ----
AI_Jc(index) = 0 ;¥¢¥¤¥Æ¥à¾å¾º¥«¥¦¥ó¥È¡Ú¥ê¥»¥Ã¥È¡Û
//TEKI_DS_AI_f(tekiindex) = 2 ;¥¢¥¤¥Æ¥à¤ò½Ð¤¹¥Õ¥é¥°¤ò2¤Ë¤¹¤ë
}
loop
return
| |
|
2019/8/20(Tue) 21:58:59|NO.88153
> es_exnew AI_no, ITEM_SPR_HEAD, ITEM_SPR_TAIL
¤³¤ì¤Ï»ä¤Î»È¤Ã¤Æ¤¤¤ë̿̾µ¬Â§¤Ç
HEAD ¤È TAIL ¤ÏƬ¤È¤·¤Ã¤Ý¤Ç¤¹¡£
Ä̾³«»Ï¤È½ªÎ»¤Î°ÕÌ£¤ÎÊÑ¿ô(¤ä°ú¿ô¤äÄê¿ô)¤Ï
start, end ¤À¤Ã¤¿¤ê from, to ¤À¤Ã¤¿¤ê¤·¤Þ¤¹¤¬
API¤Ë¤è¤Ã¤Æ¤Ï¤¿¤Þ¤Ë½ªÎ»¤Ë»ØÄꤹ¤ëÃͤò´Þ¤Þ¤Ê¤«¤Ã¤¿¤ê¤·¤Þ¤¹(HSP3°Ê³°¤ò´Þ¤à)¡£
¢¨Î㤨¤Ð JavaScript ¤Î String.substring(indexStart, indexEnd) ¤È¤«¡£
es_exnew ¤Ï es_exnew AI_no, 80, 84 ¤È»ØÄꤷ¤¿¾ì¹ç
80¡Á84¤Î¶õ¤¤¤Æ¤¤¤ë¥¹¥×¥é¥¤¥È¥Ê¥ó¥Ð¡¼¤¬ÆÀ¤é¤ì¤ë´Ø¿ô¤Ç¤¢¤ê
84¤Ï´Þ¤Þ¤ì¤Þ¤¹¡£
»ä¤Ï¤³¤Î¤è¤¦¤Ê¾ì¹ç¤Î 84 ¤ò³ÊǼ¤¹¤ëÄê¿ô¤Ë TAIL ¤È¤¤¤¦Ì¾Á°¤ò¤Ä¤±¤ë½¬´·¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
|
|
2019/8/20(Tue) 22:13:20|NO.88156
HEAD ¤È TAIL¤Ï¤½¤¦¤¤¤¦¤³¤È¤À¤Ã¤¿¤ó¤Ç¤¹¤Í¡£
¥Ø¥Ã¥É¤È¥Æ¥¤¥ë¤Ç¡¢Æ¬¤È¤·¤Ã¤Ý¡¦¡¦¡ª
¤Ê¤ë¤Û¤É¤½¤¦¤¤¤¦Ì¾Á°¤ÎÉÕ¤±Êý¤â¤¢¤ë¤ó¤Ç¤¹¤Í¡£
¤Ê¤Ë¤«¤Ë¼ýǼ¤¹¤ëµ¡²ñ¤¬Áý¤¨¤¿·ë²Ì¡¢ÊÑ¿ô̾¤Ëº¤¤ë¤³¤È¤¬¤¢¤Ã¤¿¤Î¤Ç»²¹Í¤Ë¤·¤Æ¤ß¤Þ¤¹¡£
¾å²¼¤Ï£³Æü¤°¤é¤¤¤·¤¿¤é¥ê¥Ð¡¼¥¹¤·¤Æ¤¤Þ¤¹¡Ê»þ´Ö¤¬ËÜÅö¤Ë¤«¤«¤ë¤Î¤ÇÀè¤Ë¤ªÊÖ»ö½ñ¤¤¿¤¤Àª
|
|
2019/8/24(Sat) 19:54:44|NO.88185
¤ä¤Ã¤È»þ´Öºî¤ì¤¿¤Î¤Ç¡¢¥¢¥¤¥Æ¥à¤¬¾å²¼¤Ë°ÜÆ°¤¹¤ë¥½¡¼¥¹¤òºî¤ì¤Þ¤·¤¿¡£
¡Öή¤ì¡×
¡¦¥¢¥¤¥Æ¥à¤Î½èÍý¤òÄ̲ᤷ¤¿²ó¿ô¤ò¥«¥¦¥ó¥È¤¹¤ë¡ÊAI_TU_c += 1¡Ë
¡¦¥¢¥¤¥Æ¥àÄ̲ᥫ¥¦¥ó¥È¤Ë¤è¤Ã¤Æ¡¢¥¢¥¤¥Æ¥àÆ°¤¯¥Õ¥é¥°¤òΩ¤Æ¤ë¡ÊAI_UGO_f(0¡Á4)¡Ë
¡¦¥¢¥¤¥Æ¥àÆ°¤¯¥Õ¥é¥°¤¬Î©¤Ã¤Æ¤¤¤¿¤é¡¢¥¢¥¤¥Æ¥à¾å¾º¤ò¥«¥¦¥ó¥È¤¹¤ë
¡¦¥¢¥¤¥Æ¥à¾å¾º¤¬ÆÃÄê¤Î¿ôÃͤˤʤ俤顢¥«¥¦¥ó¥È¿ô¤Ë¤è¤Ã¤ÆÆ°¤«¤¹¥¢¥¤¥Æ¥à¤ò·è¤á¤ë
¡¦Æ°¤«¤¹¥¢¥¤¥Æ¥à¤ò²¼¤Ë°ÜÆ°¤µ¤»¤ë
¤³¤ó¤Ê´¶¤¸¤ËÀ߷פ·¤¿¤Î¤Ç¤¹¤¬¡¢¤ä¤Ï¤ê¥¹¥Þ¡¼¥È¤Ë¤Ç¤¤Æ¤¤¤Ê¤¤¤Ç¤¹¡¦¡¦¡¦¡¦
¤Ê¤ó¤Æ¤¤¤¦¤«¥»¥ó¥¹¤¬¤Ê¤¤¡¦¡¦orz
¤¹¤¤¤Þ¤»¤ó¡£¤ª¼ê¿ô¤Ç¤¹¤¬¥Ò¥ó¥È¤À¤±¤Ç¤â¤¤¤¤¤Î¤Ç¥¢¥É¥Ð¥¤¥¹¤¬¤Û¤·¤¤¤Ç¤¹¡£
#include "hspdxfix.as" ;DX¥é¥¤¥Ö¥é¥ê»ÈÍÑ
#const BIT_MYSHOT 2
#const BIT_ITEM 8
#const BIT_TEKI 4096
// ¥¢¥¤¥Æ¥à¼ïÊÌ
#enum ITEM_NONE = 0
#enum ITEM_POWER
#enum ITEM_PTS
#enum ITEM_BOMB
#enum ITEM_ONEUP
// ¥¢¥¤¥Æ¥à¤Ë³ä¤ê¿¶¤ë¥¹¥×¥é¥¤¥Èno¤Î³«»Ï¤È¸Ä¿ô
#const ITEM_SPR_HEAD 150
#const ITEM_SPR_NUM 20
#const ITEM_SPR_TAIL (ITEM_SPR_HEAD+ITEM_SPR_NUM-1)
#const TEKI_SPR_HEAD 80
#const TEKI_SPR_NUM 5
#const TEKI_SPR_TAIL (TEKI_SPR_HEAD+TEKI_SPR_NUM-1)
// ¼«µ¡¥¹¥×¥é¥¤¥Èno
#const MY_SPR 511
// ¥¥ã¥é¥¯¥¿no
#const CHR_POWER 150
#const CHR_PTS 180
#const CHR_MY 400
width ,,130,200 ;¥¦¥£¥ó¥É¥¦¤Î°ÌÃÖ
es_ini 640,5000,360 ;¥¹¥×¥é¥¤¥È¤ÎºÇÂç¿ô¡¢¥¥ã¥é¥¯¥¿ÄêµÁ¤ÎºÇÂç¿ô,¼þ¤ÎÀºÅÙ(180*2)
es_screen 640,480 ,0,0,1,1
es_window 30,-30, 412,460 ;¥¹¥×¥é¥¤¥Èɽ¼¨¥¨¥ê¥¢ÀßÄê
es_area 10,-30, 432,480 ;¥¹¥×¥é¥¤¥È͸ú¥¨¥ê¥¢ÀßÄê
;---¥Ñ¥ï¡¼¥¢¥¤¥Æ¥à---
es_size 12,12, 100
es_pat CHR_POWER, 1,80
;---ÅÀ¥¢¥¤¥Æ¥à---
es_size 12,20, 100
es_pat CHR_PTS, 14,80
;---¼«µ¡---
es_size 28,42, 100
es_pat CHR_MY, 0, 0
JIKI_x = 206 : JIKI_y = 390 ;ºÂɸ
;---¼«µ¡ÃÆ---
es_size 11,11, 100
es_pat 51, 1,43
;---Ũ---
es_size 50,38, 100
es_pat 70, 19,0
;ŨÇÛÃÖ
TEKI_MAX = 5 ;Ũ¤ÎºÇÂç¿ô
dim TEKI_f,TEKI_MAX
dim TEKI_x,TEKI_MAX
dim TEKI_y,TEKI_MAX
;Ũ¥¢¥¤¥Æ¥à
TEKI_AI_MAX = 20 ;¥¢¥¤¥Æ¥à¤ÎºÇÂç¿ô
dim TEKI_DS_AI_f,TEKI_AI_MAX ;¥¢¥¤¥Æ¥à¤ò½Ð¤¹¥Õ¥é¥°
// ÄɲÃ
dim itemtypes, TEKI_AI_MAX
dim itemtekiindices, TEKI_AI_MAX
foreach itemtekiindices
itemtekiindices(cnt) = -1
loop
;---ÄɲÃ---
dim AI_Jc,TEKI_AI_MAX ;¾å¾º¥«¥¦¥ó¥È
dim AI_UGO_f,TEKI_AI_MAX ;¥¢¥¤¥Æ¥àÆ°¤¯¥Õ¥é¥°
;¢§¢§¢§¢§¢§¢§¢§Å¨ÇÛÎ󢧢§¢§¢§¢§¢§¢§
TEKI_x = 80,150,220,290,360
TEKI_y = 300,300,300,300,300
;************¥á¥¤¥ó¥ë¡¼¥×***************
*¥á¥¤¥ó
es_cls
es_draw
pos 420,10 : es_mes "AI_HIT " + AI_HIT
pos 420,30 : es_mes "TN_HIT " + TN_HIT
;---ÄɲÃ----
pos 370,110 : es_mes "AI_Jc(0) " + AI_Jc(0)
pos 370,130 : es_mes "AI_Jc(1) " + AI_Jc(1)
pos 370,150 : es_mes "AI_Jc(2) " + AI_Jc(2)
pos 370,170 : es_mes "AI_Jc(3) " + AI_Jc(3)
pos 370,190 : es_mes "AI_Jc(4) " + AI_Jc(4)
;*************¥«¥¦¥ó¥¿¡¼****************
gosub *¼«µ¡¤Î°ÜÆ°
gosub *¼«µ¡ÃÆ°ÜÆ°
gosub *Ũ
gosub *Åö¤¿¤êȽÄê
es_set MY_SPR, JIKI_x,JIKI_y, CHR_MY ;¼«µ¡É½¼¨
es_sync ;²èÌ̹¹¿·
await 16
goto *¥á¥¤¥ó
;**************¼«µ¡¤Î°ÜÆ°***************
*¼«µ¡¤Î°ÜÆ°
stick key,15 ;¥¡¼¼èÆÀ
if key & 1 : JIKI_x = JIKI_x - 4 ;¢«¤Î°ÜÆ°
if key & 2 : JIKI_y = JIKI_y - 4 ;¢¬¤Î°ÜÆ°
if key & 4 : JIKI_x = JIKI_x + 4 ;¢ª¤Î°ÜÆ°
if key & 8 : JIKI_y = JIKI_y + 4 ;¢¤Î°ÜÆ°
return
;*************¼«µ¡ÃÆ°ÜÆ°****************
*¼«µ¡ÃÆ°ÜÆ°
JK_TAMA_G_kazu = 0
getkey keyZ,90 ;Z¥¡¼
if keyZ AND JKSO_f = 0 AND RENSA = 0 {
es_exnew JK_TAMA ,10,30 ;¿·µ¬¥¹¥×¥é¥¤¥È¼èÆÀ
;---ÃƤÎȽÃÇ---
JK_TAMA_dai_Kz = JK_TAMA_c \ 2
if JK_TAMA_dai_Kz = 0 : JK_TAMA_G_kazu += 1
JK_TAMA_c++ ;¥ë¡¼¥×Æ⥫¥¦¥ó¥¿¡¼
if JK_TAMA_G_kazu = 0 : JKSO_x = JIKI_x-6 ;º¸Â¦
if JK_TAMA_G_kazu = 1 : JKSO_x = JIKI_x+18 ;±¦Â¦
JKSO_y = JIKI_y
es_set JK_TAMA, JKSO_x,JKSO_y, 51 ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo
es_apos JK_TAMA, 0,-15 ,100 ;¢¬¤Ë°ÜÆ°
RENSA = 2 ;ÃƤδֳÖ
es_type JK_TAMA, BIT_MYSHOT ;typeÃÍ
}
if RENSA > 0 : RENSA -= 1 ;ÃƤδֳ֤ò¥ê¥»¥Ã¥È¤¹¤ë
return
;*************Ũ****************
*Ũ
repeat TEKI_MAX ;Ũ¤ÎºÇÂç¿ô(5)
if TEKI_f(cnt) = 0 {
TEKI_f(cnt) = 1
es_exnew TEKI, TEKI_SPR_HEAD, TEKI_SPR_TAIL ;¿·µ¬¥¹¥×¥é¥¤¥ÈNo
es_set TEKI, TEKI_x(cnt),TEKI_y(cnt), 70 ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo
es_type TEKI, BIT_TEKI
}
loop
;¼«µ¡ÃÆVSŨ¡¡Åö¤¿¤êȽÄê
TEKI_no = TEKI_SPR_HEAD ;Ũ¤Î¸¡º÷³«»Ï¥Ê¥ó¥Ð¡Ý
AI_KZ = 4 ;¢¡Ö¥¢¥¤¥Æ¥à¿ô¡×
repeat
es_find TEKI_D, BIT_TEKI, TEKI_no, TEKI_SPR_TAIL ;£¡ÖŨ¥¹¥×¥é¥¤¥È80¡Á84¤Î´Ö¤òõ¤¹¡×
if TEKI_D == -1 {
break
}
es_check TEKI_VS_TAMA ,TEKI_D, BIT_MYSHOT ;¤¡ÖŨ¤¬¼«µ¡ÃƤÈÅö¤¿¤Ã¤¿¤éÊÑ¿ô¤Ë not -1¤òÂåÆþ¡×
;¤¢¤¿¤Ã¤¿¤é¼Â¹Ô
if TEKI_VS_TAMA != -1 {
TKTM_no = TEKI_D
gosub *Ũ¥¢¥¤¥Æ¥à
es_kill TEKI_D ;Ũ¡Öºï½ü¡×
es_kill TEKI_VS_TAMA ;¼«ÃÆ¡Öºï½ü¡×
}
TEKI_no++
loop
;---ÄɲÃ----
;¥¢¥¤¥Æ¥à°ÜÆ°½èÍý
if AI_TU_c = 4 : AI_UGO_f(0) = 1
if AI_TU_c = 8 : AI_UGO_f(1) = 1
if AI_TU_c = 12 : AI_UGO_f(2) = 1
if AI_TU_c = 16 : AI_UGO_f(3) = 1
if AI_TU_c = 20 : AI_UGO_f(4) = 1 : AI_TU_c += 1 ;¤º¤Ã¤È¼Â¹Ô¤µ¤»¤Ê¤¤¤¿¤á¤Ë+1¤¹¤ë
repeat TEKI_MAX ;Ũ¤ÎºÇÂç¿ô(5)
if AI_UGO_f(cnt) = 1 { ;¥¢¥¤¥Æ¥àÆ°¤¯¥Õ¥é¥°
AI_Jc(cnt) += 1 ;¥¢¥¤¥Æ¥à¾å¾º¥«¥¦¥ó¥È
if AI_Jc(cnt) >= 95 {
AI_UGO_f(cnt) = 0;¥¢¥¤¥Æ¥à¤ò¼èÆÀ¤·¤¿¤È¤¤Ë¡¢¥¢¥¤¥Æ¥à¤¬ºÆȯÀ¸¤·¤Æ¤·¤Þ¤¦¤Î¤òËɻߤ¹¤ë
if cnt = 0 : AI_no = 150
if cnt = 1 : AI_no = 154
if cnt = 2 : AI_no = 158
if cnt = 3 : AI_no = 162
if cnt = 4 : AI_no = 166
repeat AI_KZ ;¢¡Ö¥¢¥¤¥Æ¥à¿ô¡×(4)
es_apos AI_no, 0,1 ,100 ;¢¤Ë°ÜÆ°
AI_no++
loop
}
}
loop
return
;************Ũ¥¢¥¤¥Æ¥à*****************
*Ũ¥¢¥¤¥Æ¥à
es_get x,TKTM_no,3 ;¥¹¥×¥é¥¤¥ÈXºÂɸ
es_get y,TKTM_no,5 ;¥¹¥×¥é¥¤¥ÈYºÂɸ
repeat AI_KZ
AI_TUGI = cnt
es_exnew AI_no, ITEM_SPR_HEAD, ITEM_SPR_TAIL
if AI_no == -1 {
break
}
index = AI_no - ITEM_SPR_HEAD
;---ÄɲÃ----
AI_TU_c += 1 ;Ä̤俲ó¿ô¤ò¥«¥¦¥ó¥È¤¹¤ë
;¥¥ã¥éÈÖ¹æ¤ò¥Ñ¥ï¡¼¤«¤éÅÀ¿ô¤ËÊѤ¨¤ë
if AI_TUGI <= 1 {
AI_HN = CHR_POWER
itemtypes(index) = ITEM_POWER
}
if AI_TUGI >= 2 {
AI_HN = CHR_PTS
itemtypes(index) = ITEM_PTS
}
es_set AI_no, x + AI_TUGI*15, y, AI_HN ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo
es_apos AI_no, 0,-1 ,100 ;¢¬¤Ë°ÜÆ°
es_type AI_no, BIT_ITEM ;¥¢¥¤¥Æ¥àtypeÃÍ(8)
itemtekiindices(index) = TKTM_no - TEKI_SPR_HEAD
loop
return
;*********¥¢¥¤¥Æ¥àÅö¤¿¤êȽÄê*****************
*Åö¤¿¤êȽÄê
repeat
; 400(¼«µ¡),8(¥¢¥¤¥Æ¥à)
es_check JIKI_VS_TEKI_AI, MY_SPR, BIT_ITEM
if JIKI_VS_TEKI_AI == -1 {
break
}
es_kill JIKI_VS_TEKI_AI ;Ũ¥¢¥¤¥Æ¥à¡Öºï½ü¡×
index = JIKI_VS_TEKI_AI - ITEM_SPR_HEAD
if (index >= 0) & (index < ITEM_SPR_NUM) {
itemtype = itemtypes(index)
// 0 ¡Á TEKI_MAX-1 ¤Ç¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬ÆÀ¤é¤ì¤ë
tekiindex = itemtekiindices(index)
if (itemtype == ITEM_POWER) {
AI_HIT++
}
if (itemtype == ITEM_PTS) {
TN_HIT++
}
itemtypes(index) = ITEM_NONE
;---ÄɲÃ----
AI_Jc(index) = 0 ;¥¢¥¤¥Æ¥à¾å¾º¥«¥¦¥ó¥È¡Ú¥ê¥»¥Ã¥È¡Û
}
loop
return
| |
|
2019/8/26(Mon) 22:00:27|NO.88213
¥¢¥¤¥Æ¥à¤¬Íî²¼¤Ëž¤¸¤ë¥Õ¥ì¡¼¥à¥«¥¦¥ó¥¿¿ô¤ò
¥¢¥¤¥Æ¥à¤´¤È¤ËÊÝ»ý¤¹¤ëÊýË¡¤Ç¤ä¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
item_turns, frame_counter ¤¢¤¿¤ê¤ò¸«¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
#include "hspdxfix.as" ;DX¥é¥¤¥Ö¥é¥ê»ÈÍÑ
#const BIT_MYSHOT 2
#const BIT_ITEM 8
#const BIT_TEKI 4096
// ¥¢¥¤¥Æ¥à¼ïÊÌ
#enum ITEM_NONE = 0
#enum ITEM_POWER
#enum ITEM_PTS
#enum ITEM_BOMB
#enum ITEM_ONEUP
// ¥¢¥¤¥Æ¥à¤Ë³ä¤ê¿¶¤ë¥¹¥×¥é¥¤¥Èno¤Î³«»Ï¤È¸Ä¿ô
#const ITEM_SPR_HEAD 150
#const ITEM_SPR_NUM 20
#const ITEM_SPR_TAIL (ITEM_SPR_HEAD+ITEM_SPR_NUM-1)
#const TEKI_SPR_HEAD 80
#const TEKI_SPR_NUM 5
#const TEKI_SPR_TAIL (TEKI_SPR_HEAD+TEKI_SPR_NUM-1)
// ¼«µ¡¥¹¥×¥é¥¤¥Èno
#const MY_SPR 511
// ¥¥ã¥é¥¯¥¿no
#const CHR_MYSHOT 51
#const CHR_TEKI 70
#const CHR_POWER 150
#const CHR_PTS 180
#const CHR_MY 400
// ¥¢¥¤¥Æ¥à¤¬½Ð¸½¤·¤Æ¤«¤é²¿¥Õ¥ì¡¼¥à¤Ç²¼¤Ø¥¿¡¼¥ó¤¹¤ë¤«
#const TURN_FRAME 95
width ,,130,200 ;¥¦¥£¥ó¥É¥¦¤Î°ÌÃÖ
es_ini 640,5000,360 ;¥¹¥×¥é¥¤¥È¤ÎºÇÂç¿ô¡¢¥¥ã¥é¥¯¥¿ÄêµÁ¤ÎºÇÂç¿ô,¼þ¤ÎÀºÅÙ(180*2)
es_screen 640,480 ,0,0,1,1
es_window 30,-30, 412,460 ;¥¹¥×¥é¥¤¥Èɽ¼¨¥¨¥ê¥¢ÀßÄê
es_area 10,-30, 432,480 ;¥¹¥×¥é¥¤¥È͸ú¥¨¥ê¥¢ÀßÄê
;---¥Ñ¥ï¡¼¥¢¥¤¥Æ¥à---
es_size 12,12, 100
es_pat CHR_POWER, 1,80
;---ÅÀ¥¢¥¤¥Æ¥à---
es_size 12,20, 100
es_pat CHR_PTS, 14,80
;---¼«µ¡---
es_size 28,42, 100
es_pat CHR_MY, 0, 0
JIKI_x = 206 : JIKI_y = 390 ;ºÂɸ
;---¼«µ¡ÃÆ---
es_size 11,11, 100
es_pat CHR_MYSHOT, 1,43
;---Ũ---
es_size 50,38, 100
es_pat CHR_TEKI, 19,0
;ŨÇÛÃÖ
TEKI_MAX = 5 ;Ũ¤ÎºÇÂç¿ô
dim TEKI_f,TEKI_MAX
dim TEKI_x,TEKI_MAX
dim TEKI_y,TEKI_MAX
;Ũ¥¢¥¤¥Æ¥à
TEKI_AI_MAX = 20 ;¥¢¥¤¥Æ¥à¤ÎºÇÂç¿ô
dim TEKI_DS_AI_f,TEKI_AI_MAX ;¥¢¥¤¥Æ¥à¤ò½Ð¤¹¥Õ¥é¥°
// ÄɲÃ
dim itemtypes, TEKI_AI_MAX
dim itemtekiindices, TEKI_AI_MAX
foreach itemtekiindices
itemtekiindices(cnt) = -1
loop
;---ÄɲÃ---
dim AI_Jc,TEKI_AI_MAX ;¾å¾º¥«¥¦¥ó¥È
dim AI_UGO_f,TEKI_AI_MAX ;¥¢¥¤¥Æ¥àÆ°¤¯¥Õ¥é¥°
// ÄɲÃ
dim item_turns, TEKI_AI_MAX
;¢§¢§¢§¢§¢§¢§¢§Å¨ÇÛÎ󢧢§¢§¢§¢§¢§¢§
TEKI_x = 80,150,220,290,360
TEKI_y = 300,300,300,300,300
// ¥Õ¥ì¡¼¥à¤´¤È¤ËÁý¤¨¤Æ¤¤¤¯Á´ÂÎ¥«¥¦¥ó¥¿
frame_counter = -1
;************¥á¥¤¥ó¥ë¡¼¥×***************
*¥á¥¤¥ó
frame_counter += 1
es_cls
es_draw
pos 420,10 : es_mes "AI_HIT " + AI_HIT
pos 420,30 : es_mes "TN_HIT " + TN_HIT
;---ÄɲÃ----
pos 370,110 : es_mes "AI_Jc(0) " + AI_Jc(0)
pos 370,130 : es_mes "AI_Jc(1) " + AI_Jc(1)
pos 370,150 : es_mes "AI_Jc(2) " + AI_Jc(2)
pos 370,170 : es_mes "AI_Jc(3) " + AI_Jc(3)
pos 370,190 : es_mes "AI_Jc(4) " + AI_Jc(4)
;*************¥«¥¦¥ó¥¿¡¼****************
gosub *¼«µ¡¤Î°ÜÆ°
gosub *¼«µ¡ÃÆ°ÜÆ°
gosub *Ũ
gosub *Åö¤¿¤êȽÄê
gosub *¥¢¥¤¥Æ¥à¥¿¡¼¥ó
es_set MY_SPR, JIKI_x,JIKI_y, CHR_MY ;¼«µ¡É½¼¨
es_sync ;²èÌ̹¹¿·
await 16
goto *¥á¥¤¥ó
;**************¼«µ¡¤Î°ÜÆ°***************
*¼«µ¡¤Î°ÜÆ°
stick key,15 ;¥¡¼¼èÆÀ
if key & 1 : JIKI_x = JIKI_x - 4 ;¢«¤Î°ÜÆ°
if key & 2 : JIKI_y = JIKI_y - 4 ;¢¬¤Î°ÜÆ°
if key & 4 : JIKI_x = JIKI_x + 4 ;¢ª¤Î°ÜÆ°
if key & 8 : JIKI_y = JIKI_y + 4 ;¢¤Î°ÜÆ°
return
;*************¼«µ¡ÃÆ°ÜÆ°****************
*¼«µ¡ÃÆ°ÜÆ°
JK_TAMA_G_kazu = 0
getkey keyZ,90 ;Z¥¡¼
if keyZ AND JKSO_f = 0 AND RENSA = 0 {
es_exnew JK_TAMA ,10,30 ;¿·µ¬¥¹¥×¥é¥¤¥È¼èÆÀ
;---ÃƤÎȽÃÇ---
JK_TAMA_dai_Kz = JK_TAMA_c \ 2
if JK_TAMA_dai_Kz = 0 : JK_TAMA_G_kazu += 1
JK_TAMA_c++ ;¥ë¡¼¥×Æ⥫¥¦¥ó¥¿¡¼
if JK_TAMA_G_kazu = 0 : JKSO_x = JIKI_x-6 ;º¸Â¦
if JK_TAMA_G_kazu = 1 : JKSO_x = JIKI_x+18 ;±¦Â¦
JKSO_y = JIKI_y
es_set JK_TAMA, JKSO_x,JKSO_y, CHR_MYSHOT ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo
es_apos JK_TAMA, 0,-15 ,100 ;¢¬¤Ë°ÜÆ°
RENSA = 2 ;ÃƤδֳÖ
es_type JK_TAMA, BIT_MYSHOT ;typeÃÍ
}
if RENSA > 0 : RENSA -= 1 ;ÃƤδֳ֤ò¥ê¥»¥Ã¥È¤¹¤ë
return
;*************Ũ****************
*Ũ
repeat TEKI_MAX ;Ũ¤ÎºÇÂç¿ô(5)
if TEKI_f(cnt) = 0 {
TEKI_f(cnt) = 1
es_exnew TEKI, TEKI_SPR_HEAD, TEKI_SPR_TAIL ;¿·µ¬¥¹¥×¥é¥¤¥ÈNo
es_set TEKI, TEKI_x(cnt),TEKI_y(cnt), CHR_TEKI ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo
es_type TEKI, BIT_TEKI
}
loop
;¼«µ¡ÃÆVSŨ¡¡Åö¤¿¤êȽÄê
TEKI_no = TEKI_SPR_HEAD ;Ũ¤Î¸¡º÷³«»Ï¥Ê¥ó¥Ð¡Ý
AI_KZ = 4 ;¢¡Ö¥¢¥¤¥Æ¥à¿ô¡×
repeat
es_find TEKI_D, BIT_TEKI, TEKI_no, TEKI_SPR_TAIL ;£¡ÖŨ¥¹¥×¥é¥¤¥È80¡Á84¤Î´Ö¤òõ¤¹¡×
if TEKI_D == -1 {
break
}
es_check TEKI_VS_TAMA ,TEKI_D, BIT_MYSHOT ;¤¡ÖŨ¤¬¼«µ¡ÃƤÈÅö¤¿¤Ã¤¿¤éÊÑ¿ô¤Ë not -1¤òÂåÆþ¡×
;¤¢¤¿¤Ã¤¿¤é¼Â¹Ô
if TEKI_VS_TAMA != -1 {
TKTM_no = TEKI_D
gosub *Ũ¥¢¥¤¥Æ¥à
es_kill TEKI_D ;Ũ¡Öºï½ü¡×
es_kill TEKI_VS_TAMA ;¼«ÃÆ¡Öºï½ü¡×
}
TEKI_no++
loop
;---ÄɲÃ----
;¥¢¥¤¥Æ¥à°ÜÆ°½èÍý
/*
if AI_TU_c = 4 : AI_UGO_f(0) = 1
if AI_TU_c = 8 : AI_UGO_f(1) = 1
if AI_TU_c = 12 : AI_UGO_f(2) = 1
if AI_TU_c = 16 : AI_UGO_f(3) = 1
if AI_TU_c = 20 : AI_UGO_f(4) = 1 : AI_TU_c += 1 ;¤º¤Ã¤È¼Â¹Ô¤µ¤»¤Ê¤¤¤¿¤á¤Ë+1¤¹¤ë
repeat TEKI_MAX ;Ũ¤ÎºÇÂç¿ô(5)
if AI_UGO_f(cnt) = 1 { ;¥¢¥¤¥Æ¥àÆ°¤¯¥Õ¥é¥°
AI_Jc(cnt) += 1 ;¥¢¥¤¥Æ¥à¾å¾º¥«¥¦¥ó¥È
if AI_Jc(cnt) >= 95 {
AI_UGO_f(cnt) = 0;¥¢¥¤¥Æ¥à¤ò¼èÆÀ¤·¤¿¤È¤¤Ë¡¢¥¢¥¤¥Æ¥à¤¬ºÆȯÀ¸¤·¤Æ¤·¤Þ¤¦¤Î¤òËɻߤ¹¤ë
if cnt = 0 : AI_no = 150
if cnt = 1 : AI_no = 154
if cnt = 2 : AI_no = 158
if cnt = 3 : AI_no = 162
if cnt = 4 : AI_no = 166
repeat AI_KZ ;¢¡Ö¥¢¥¤¥Æ¥à¿ô¡×(4)
es_apos AI_no, 0,1 ,100 ;¢¤Ë°ÜÆ°
AI_no++
loop
}
}
loop
*/
return
;************Ũ¥¢¥¤¥Æ¥à*****************
*Ũ¥¢¥¤¥Æ¥à
es_get x,TKTM_no,3 ;¥¹¥×¥é¥¤¥ÈXºÂɸ
es_get y,TKTM_no,5 ;¥¹¥×¥é¥¤¥ÈYºÂɸ
repeat AI_KZ
AI_TUGI = cnt
es_exnew AI_no, ITEM_SPR_HEAD, ITEM_SPR_TAIL
if AI_no == -1 {
break
}
index = AI_no - ITEM_SPR_HEAD
;---ÄɲÃ----
AI_TU_c += 1 ;Ä̤俲ó¿ô¤ò¥«¥¦¥ó¥È¤¹¤ë
;¥¥ã¥éÈÖ¹æ¤ò¥Ñ¥ï¡¼¤«¤éÅÀ¿ô¤ËÊѤ¨¤ë
if AI_TUGI <= 1 {
AI_HN = CHR_POWER
itemtypes(index) = ITEM_POWER
}
if AI_TUGI >= 2 {
AI_HN = CHR_PTS
itemtypes(index) = ITEM_PTS
}
es_set AI_no, x + AI_TUGI*15, y, AI_HN ;¥¹¥×¥é¥¤¥ÈNo, X,YºÂɸ ,¥¥ã¥éNo
es_apos AI_no, 0,-1 ,100 ;¢¬¤Ë°ÜÆ°
es_type AI_no, BIT_ITEM ;¥¢¥¤¥Æ¥àtypeÃÍ(8)
item_turns(index) = frame_counter + TURN_FRAME
itemtekiindices(index) = TKTM_no - TEKI_SPR_HEAD
loop
return
;*********¥¢¥¤¥Æ¥àÅö¤¿¤êȽÄê*****************
*Åö¤¿¤êȽÄê
repeat
; 400(¼«µ¡),8(¥¢¥¤¥Æ¥à)
es_check JIKI_VS_TEKI_AI, MY_SPR, BIT_ITEM
if JIKI_VS_TEKI_AI == -1 {
break
}
es_kill JIKI_VS_TEKI_AI ;Ũ¥¢¥¤¥Æ¥à¡Öºï½ü¡×
index = JIKI_VS_TEKI_AI - ITEM_SPR_HEAD
if (index >= 0) & (index < ITEM_SPR_NUM) {
itemtype = itemtypes(index)
// 0 ¡Á TEKI_MAX-1 ¤Ç¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬ÆÀ¤é¤ì¤ë
tekiindex = itemtekiindices(index)
if (itemtype == ITEM_POWER) {
AI_HIT++
}
if (itemtype == ITEM_PTS) {
TN_HIT++
}
itemtypes(index) = ITEM_NONE
;---ÄɲÃ----
//AI_Jc(index) = 0 ;¥¢¥¤¥Æ¥à¾å¾º¥«¥¦¥ó¥È¡Ú¥ê¥»¥Ã¥È¡Û
}
loop
return
;*********¥¢¥¤¥Æ¥à¥¿¡¼¥óȽÄê*****************
*¥¢¥¤¥Æ¥à¥¿¡¼¥ó
cur = ITEM_SPR_HEAD
repeat
es_find found, BIT_ITEM, cur, ITEM_SPR_TAIL
if found == -1 {
break
}
index = found - ITEM_SPR_HEAD
if (index >= 0) & (index < ITEM_SPR_NUM) {
if frame_counter == item_turns(index) {
es_apos found, 0,1 ,100 ;¢¤Ë°ÜÆ°
}
}
// ¼¡¤òõ¤·¤Ë¤¤¤¯¡£Î¢Ê֤俤é break ¤·¤Ê¤¤¤È̵¸Â¥ë¡¼¥×
cur = found + 1
if cur > ITEM_SPR_TAIL {
break
}
loop
return
| |
|
2019/8/28(Wed) 21:24:41|NO.88242
º½»þ ·×¤µ¤ó¡¢¥½¡¼¥¹¤È²óÅú¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡ª¡ª
¤Ê¤ë¤Û¤É¡¢¥Õ¥ì¡¼¥à¿ô¤ò¥«¥¦¥ó¥È¤·¤Æ¤½¤Î¿ôÃͤòÂåÆþ¤·¤Æ¤¤¤Ã¤Æ¡¢
¡Ö¥Õ¥ì¡¼¥à+°ÜÆ°¤¹¤ë¤Þ¤Ç¤Î»þ´Ö¡×¤òÂåÆþ¤¹¤ì¤Ð¡¢
¾ò·ï¼°¤Ç¡Ö¥Õ¥ì¡¼¥à¡¡¡á¡¡ÂåÆþ¤µ¤ì¤Æ¤¤¤ë¿ô¡×¤ò¹Ô¤¦¤³¤È¤Ë¤è¤Ã¤Æ¡¢
»þ´Ö¤¬·Ð²á¤·¤¿¤é°ÜÆ°¤ò¹Ô¤Ã¤Æ¤¤¤ë¤ó¤Ç¤¹¤Í¡£
¤³¤¦¤¤¤¦¹Í¤¨Êý¤Ï»ä¤À¤ÈÀäÂлפ¤É⤫¤Ð¤Ê¤«¤Ã¤¿¤Î¤Ç½õ¤«¤ê¤Þ¤·¤¿¡ª¡ª
¥Õ¥ì¡¼¥à¿ô¤¬Ìµ¸Â¤ËÁý²Ã¤¹¤ë¤È¤Á¤ç¤Ã¤ÈÉݤ¤¤Î¤Ç¡¢ËÜÈÖ¥½¡¼¥¹¤Ç¤Ï¥¹¥È¥Ã¥Ñ¡¼¤òÆþ¤ì¤è¤¦¤È»×¤¤¤Þ¤¹¡£
¡Ê¥¹¥×¥é¥¤¥ÈÁ°¤ÎÀ߷פϷè¤Þ¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢¥¹¥×¥é¥¤¥È¤Ç¤Ï¤É¤¦¤¹¤ë¤«¡¦¡¦¡¦¡Ë
¤Û¤ó¤È¤¦¤Ë¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£²ò·è¤Ç¤¹¡Á¢ö
|
|