HSP¥Ý¡¼¥¿¥ë
¥µ¥¤¥È¥Þ¥Ã¥× ¤ªÌ䤤¹ç¤ï¤»


HSPTV!·Ç¼¨ÈÄ


̤²ò·è ²ò·è Ää»ß ºï½üÍ×ÀÁ

2018
0104
¤ª¤Ü¥·¥å¡¼¥Æ¥£¥ó¥°¥²¡¼¥à¤Î¥¹¥¯¥ê¥×¥È¤Ç¼ÁÌä¤Ç¤¹¡£3²ò·è


¤ª¤Ü

¥ê¥ó¥¯

2018/1/4(Thu) 10:52:24|NO.82158

¤ª¤Ï¤è¤¦¤´¤¶¤¤¤Þ¤¹¡£¤ª¤Ü¤Ç¤¹¡£

º£¤Þ¤Ç¡¢¥µ¥ó¥×¥ë¤Ë¤·¤Æ¤¤¤¿¥¹¥¯¥ê¥×¥È¤Î¤è¤¯¤ï¤«¤Ã¤Æ¤¤¤Ê¤¤¤È¤³¤í¤ò¡¢¤½¤¦¤¤¤¦¤â¤Î¤À¡£¤ÇÄ̤·¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢¤½¤ì¤Ç¤Ïº£¸å¥À¥á¤Ë¤Ê¤ë¤³¤È¤¬¤è¤¯Ê¬¤«¤Ã¤¿¤Î¤Ç¡¢¥µ¥ó¥×¥ë¤Ë¤Ä¤¤¤Æ¤Î¼ÁÌä¤Ç¤¹¡£


#include "hsp3dish.as" title "Dish Shooting" *init ; ²èÌ̤νàÈ÷ ; celload "title.png",2 celload "chr.png",3 celload "bg.png",4 mmload "explos.wav",0 mmload "inject.wav",1 mmload "sel.wav",2 mmload "cappi08.mp3",3 *gtitle_start mmstop mmplay 2 *gtitle ; ¥¹¥¿¡¼¥È¥Ü¥¿¥ó¥Á¥§¥Ã¥¯ ; stick a,$130 if a&128 : end if a&$130 : goto *gamestart redraw 0 ; ¥¿¥¤¥È¥ë¤Îɽ¼¨ ; gmode 0,320,480 pos 0,0:gcopy 2,0,0 ; ¥¹¥³¥¢¤Îɽ¼¨ ; color 255,255,255 pos 0,0:mes "SCORE:"+score redraw 1 await 1000/30 goto *gtitle *gamestart ; ¥²¡¼¥à³«»Ï»þ¤ÎÊÑ¿ô¥ê¥»¥Ã¥È ; mmplay 3 ; ²»³Ú¤òÌĤ餹 mmplay 2 score = 0 ; ¥¹¥³¥¢ sizex=ginfo_sx:sizey=ginfo_sy ; ²èÌÌ¥µ¥¤¥º mx=sizex/2:my=sizey-80 ; ¼«µ¡¤ÎX,YºÂɸ mxlimit=sizex-48 ; ¼«µ¡XºÇÂçÃÍ mylimit=sizey-48 ; ¼«µ¡YºÇÂçÃÍ mapx=0:mapy=0 ; ÇØ·Êɽ¼¨ÍѤκÂɸ mflag=0 ; ¼«µ¡¤ÎÇúȯ¥Õ¥é¥° frame=0 ; ¥Õ¥ì¡¼¥à¿ô ; ¼«µ¡¥ì¡¼¥¶¡¼ÍÑÊÑ¿ô¥ê¥»¥Ã¥È ; lmax=4 dim lflag,lmax dim lx,lmax dim ly,lmax ; ŨÍÑÊÑ¿ô¥ê¥»¥Ã¥È ; emax=16 etime=0 einter=18 dim eflag,emax : dim etype,emax dim ex,emax : dim ey,emax dim epx,emax : dim epy,emax exlimit = sizex+48 eylimit = sizey+48 ; Ũ¥ß¥µ¥¤¥ëÍÑÊÑ¿ô¥ê¥»¥Ã¥È ; amax=16 msrint=2 dim aflag,amax dim ax,amax : dim ay,amax dim apx,amax : dim apy,amax axlimit = exlimit * 100 aylimit = eylimit * 100 *main redraw 0 ; ÇطʤÎɽ¼¨ ; gmode 0,320,480 pos 0,mapy:gcopy 4,0,0 if mapy>0 { gmode 0,320,mapy pos 0,0:gcopy 4,0,960-mapy } mapy=mapy+2:if mapy>960 : mapy=mapy-960 ; ¤½¤ì¤¾¤ì¤Î½èÍý¤ò¸Æ¤Ó½Ð¤¹ ; stick a,$10f if a&128 : end gosub *my_move gosub *laser_move gosub *enemy_move gosub *missile_move ; ¥¹¥³¥¢¤Îɽ¼¨ ; color 255,255,255 pos 0,0:mes "SCORE:"+score redraw 1 await 1000/30 if mflag>150 : goto *gtitle_start frame++ goto *main *my_move ; ¼«µ¡¤Î°ÜÆ°¤Èɽ¼¨ ; if mflag>0 : goto *my_end if a&256 : goto *my_mouse if a&2 : my=my-6 if a&8 : my=my+6 if a&1 : mx=mx-6 if a&4 : mx=mx+6 goto *my_check *my_mouse x=mousex-24:y=mousey-24 px = x - mx if px>6 : px=6 if px<-6 : px=-6 mx = mx + px py = y - my if py>6 : py=6 if py<-6 : py=-6 my = my + py *my_check if mx<0 : mx=0 if mx>mxlimit : mx=mxlimit if my<240 : my=240 if my>mylimit : my=mylimit pos mx,my:gmode 2,48,48:gcopy 3,0,0 return *my_end ; ¼«µ¡¤ÎÇúȯ ; mflag=mflag+1:a=0:i=mflag/4\3+5 pos mx,my:gmode 2,48,48:gcopy 3,i*48,0 return *my_hit ; ºÂɸ(x,y)¤¬¼«µ¡¤ÎÎΰèÆ⤫¤òÄ´¤Ù¤ë ; if mflag>0 : vx=999 : vy=999 : return vx=mx-x:if vx<0 : vx=-vx vy=my-y:if vy<0 : vy=-vy return *laser_move ; ¼«µ¡¥ì¡¼¥¶¡¼¤Î½èÍý ; ;if (a&16)=0 : goto *noshoot if mflag>0 : goto *noshoot if frame&7 : goto *noshoot repeat lmax if lflag.cnt=0 { lflag.cnt=1 lx.cnt=mx : ly.cnt=my break } loop ;mmplay 1 *noshoot gmode 2,48,48,256 repeat lmax if lflag.cnt>0 { ly.cnt=ly.cnt-12 if ly.cnt<-48 : lflag.cnt=0 x=lx.cnt:y=ly.cnt pos x,y : gcopy 3,48,0 gosub *enemy_hit if hit>0 : mmplay 0 : lflag.cnt=0 : score=score+50 } loop return *enemy_move ; Ũ¤Î½èÍý ; etime=etime+1 if etime<einter : goto *enemy_put etime=0 ; Ũ¤òȯÀ¸¤µ¤»¤ë ; y=-48 x=rnd(sizex)-24 type=rnd(2)+3 px=rnd(5)-2 py=1 speed=rnd(4)+2 px=px*speed/2:py=py*speed+1 repeat emax if eflag.cnt=0 { eflag.cnt=1 ex.cnt=x : ey.cnt=y epx.cnt=px : epy.cnt=py etype.cnt=type break } loop *enemy_put ; Ũ¤òɽ¼¨¤¹¤ë ; gmode 2,48,48 repeat emax if eflag.cnt=0 : goto *noenemy x=ex.cnt:y=ey.cnt if eflag.cnt>1 : goto *edead x=x+epx.cnt:y=y+epy.cnt pos x,y : gcopy 3,etype.cnt*48,0 if x<-48 : eflag.cnt=0 if x>exlimit : eflag.cnt=0 if y<-48 : eflag.cnt=0 if y>eylimit : eflag.cnt=0 ex.cnt=x:ey.cnt=y gosub *my_hit if vx<48 : if vy<48 : mflag=1 : mmplay 0 ; Ũ¤«¤é¥ß¥µ¥¤¥ëȯ¼Í ; msrate=rnd(100) if msrate<msrint : gosub *missile_add *noenemy loop return *edead ; Ũ¤ÎÇúȯ ; i=eflag.cnt+1:if i>16 : i=0 : goto *edead2 pos x,y : gcopy 3,(i/4\3+5)*48,0 *edead2 eflag.cnt=i:goto *noenemy *missile_add ; Ũ¥ß¥µ¥¤¥ë¤òȯÀ¸¤µ¤»¤ë ; (x,y)¤Î°ÌÃÖ¤ËȯÀ¸¤µ¤»¤ë repeat amax if aflag.cnt>0 : goto *mslnext aflag.cnt=1 ax.cnt=x*100 : ay.cnt=y*100 px=mx-x : py=my-y if py>=0 : apy.cnt=600 if py<0 : py=-py : apy.cnt=-600 if py=0 : py=1 px=px*600/py if px>800 : px=800 if px<-800 : px=-800 apx.cnt=px break *mslnext loop return *missile_move ; Ũ¥ß¥µ¥¤¥ë¤Î½èÍý ; gmode 2,32,32 repeat amax if aflag.cnt=0 : goto *nomsl x=ax.cnt:y=ay.cnt x+=apx.cnt y+=apy.cnt if x<-3200 : aflag.cnt=0 if x>axlimit : aflag.cnt=0 if y<-3200 : aflag.cnt=0 if y>aylimit : aflag.cnt=0 ax.cnt=x:ay.cnt=y x=x/100:y=y/100 pos x,y : gcopy 3,96,0 gosub *my_hit if vx<32 : if vy<32 : mflag=1 *nomsl loop return *enemy_hit ; ºÂɸ(x,y)¤¬Å¨¤ÎÎΰèÆ⤫¤òÄ´¤Ù¤ë ; hit=0 repeat emax if eflag.cnt!=1 : continue vx=ex.cnt-x:if vx<0 : vx=-vx vy=ey.cnt-y:if vy<0 : vy=-vy if vx<48 : if vy<48 : eflag.cnt=2 : hit=1 loop return
¤¬¡¢Á´Éô¤Î¥¹¥¯¥ê¥×¥È¤Ç¤¹¡£

¤³¤Î¤¦¤Á

*my_move ; ¼«µ¡¤Î°ÜÆ°¤Èɽ¼¨ ; if mflag>0 : goto *my_end if a&256 : goto *my_mouse if a&2 : my=my-6 if a&8 : my=my+6 if a&1 : mx=mx-6 if a&4 : mx=mx+6 goto *my_check *my_mouse x=mousex-24:y=mousey-24 px = x - mx if px>6 : px=6 if px<-6 : px=-6 mx = mx + px py = y - my if py>6 : py=6 if py<-6 : py=-6 my = my + py *my_check if mx<0 : mx=0 if mx>mxlimit : mx=mxlimit if my<240 : my=240 if my>mylimit : my=mylimit pos mx,my:gmode 2,48,48:gcopy 3,0,0 return
¤ÎÉôʬ¤Î
­¡*my_mouse¤ÎÉôʬ¤¬°ì¹Ô¤´¤È¤Ë²¿¤ò¤·¤Æ¤¤¤ë¤Î¤«¤ï¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£¤ï¤«¤ëÊý¤ª¤é¤ì¤Þ¤·¤¿¤é¤´¶µ¼ø´ê¤¤¤Þ¤¹¡£
­¢*my_check¤âƱÍͤˤ狼¤é¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢¤´»ØƳ´ê¤¨¤ì¤Ð½õ¤«¤ê¤Þ¤¹¡£

¥³¥á¥ó¥È¤ò¤Ä¤±¤Æ¤¯¤À¤µ¤ë¤Î¤Ç¤â½õ¤«¤ê¤Þ¤¹¡£

¤è¤í¤·¤¯¤ª´ê¤¤¤¤¤¿¤·¤Þ¤¹¡£



¤³¤Îµ­»ö¤ËÊÖ¿®¤¹¤ë


¤¢¤Þ¤é

¥ê¥ó¥¯

2018/1/4(Thu) 14:07:50|NO.82159

²èÁü¥Õ¥¡¥¤¥ëµÚ¤Ó¥µ¥¦¥ó¥É¥Õ¥¡¥¤¥ë¤¬Ìµ¤¯¤Æ³Îǧ¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢
¿ä¬¥ì¥Ù¥ë¤Ë¤Ê¤ê¤Þ¤¹¡£


x=mousex-24:y=mousey-24 px = x - mx if px>6 : px=6 if px<-6 : px=-6 mx = mx + px

¡¦¥Þ¥¦¥¹º¸¾å24¥É¥Ã¥È¤ÎºÂɸ¤ò¼èÆÀ¡Ê°ÜÆ°Àè¤È¤Ê¤ëºÂɸ¡Ë

¡¦¸½ºß¤Î¼«µ¡ºÂɸ¤È°ÜÆ°ÀèºÂɸ¤Î£²ÅÀ¤Îµ÷Î¥¤ò»»½Ð
¡¦¤â¤·£²ÅÀ¤Îµ÷Î¥¤¬£¶¥É¥Ã¥È¤è¤ê¤âÂ礭¤±¤ì¤Ð£¶¤Ë¤¹¤ë
¡¦¤â¤·£²ÅÀ¤Îµ÷Î¥¤¬-6¥É¥Ã¥È¤è¤ê¤â¾®¤µ¤±¤ì¤Ð-6¤Ë¤¹¤ë
¡¦¸½ºß¤Î¼«µ¡ºÂɸ¤Î°ÌÃÖ¤ò°ÜÆ°ÀèºÂɸ¤Ë¸þ¤«¤ï¤»¤ë

´Êñ¤ËÀâÌÀ¤¹¤ë¤È¤³¤Î¤è¤¦¤Ê´¶¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£
6¥É¥Ã¥È¤¬1¥Õ¥ì¡¼¥à¤ÎºÇÂç°Üư®Å٤Ȥʤë¤è¤¦¤Ç¤¹¤Í¡£


»ä¤Ê¤é¤³¤¦¤¹¤ë¤«¤Ê¤È¾¯¤·¤À¤±¼ê¤ò²Ã¤¨¤µ¤»¤Æ¤¤¤¿¤À¤¯¤È

#define move_speed 6 ; ¼«µ¡°Üư®ÅÙ¤ÎÀßÄê¡¡¥½¡¼¥¹¤Î½é¤á¤ÎÊÕ¤ê¤ÇÀë¸À ;move_speed = 6 ; ¤³¤Ã¤Á¤Ç¤â²Ä ;************* Ãæά **************** if a&2 : my=my-move_speed if a&8 : my=my+move_speed if a&1 : mx=mx-move_speed if a&4 : mx=mx+move_speed ;************* Ãæά **************** px = x - mx if px>move_speed : px=move_speed if px<-move_speed : px=-move_speed mx = mx + px py = y - my if py>move_speed : py=move_speed if py<-move_speed : py=-move_speed my = my + py

¤³¤¦¤¹¤ë¤È¸å¤Ç®ÅÙ¤òÄ´À°¤¹¤ë¤È¤­¤Ë°ì¡¹Á´¤Æ½ñ¤­ÊѤ¨¤Ê¤¯¤Æ¤â°ì³ç¤ÇÊѹ¹¤Ç¤­¤Þ¤¹¤·¡¢
²¿¤é¤«¤Î¥¢¥¤¥Æ¥à¤ò»È¤¦¤È®ÅÙ¤¬Â®¤¯¤Ê¤ëÃÙ¤¯¤Ê¤ë¤ß¤¿¤¤¤Ê±é½Ð¤â¤ä¤ê¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹¡£

Îã

speed_alpha = 1 ; Ä̾ï®ÅÙ speed_alpha = 0.5 ; ¸ºÂ®¤¹¤ë speed_alpha = 2 ; ²Ã®¤¹¤ë if a&2 : my=my-move_speed*speed_alpha ;******************** °Ê²¼Æ±ÍÍ ***************************
¤³¤¦¤¤¤¦ÊýË¡¤â¤¢¤ê¤Þ¤¹¡£

ÊÑ¿ô̾¤Ï¼«Ê¬¤Ç¤ï¤«¤ê¤ä¤¹¤¤Êª¤ËÊѤ¨¤ë¤Î¤âÍý²ò¤¹¤ë¥³¥Ä¤Ç¤¹¤è¡£
°Âľ¤Ç¤¹¤¬¡¡mx ¢ª jiki_pos_x¡¡¤È¤«¤Ê¤É¡£

¤½¤ì¤«¤éÊÑ¿ô¤ÎƬʸ»ú¤¬ p ¤ÎÊÑ¿ô¤Ï°ÌÃÖºÂɸ¡Êpos¡Ë·Ï¤À¤Ã¤¿¤ê
¥Ñ¥é¥á¡¼¥¿¤Î°ÕÌ£¤Ç¡Êp, pr, prm, param¤Ê¤É¤Ê¤É¡Ë°ì»þŪ¤Ê·×»»¤ËɬÍפÊÊÑ¿ô¤È¤·¤Æ
»È¤ï¤ì¤Æ¤¤¤ë»ö¤¬Â¿¤¤¤è¤¦¤Ç¤¹¡£



¤¢¤Þ¤é

¥ê¥ó¥¯

2018/1/4(Thu) 20:55:53|NO.82164

> ­¢*my_check¤âƱÍͤˤ狼¤é¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢¤´»ØƳ´ê¤¨¤ì¤Ð½õ¤«¤ê¤Þ¤¹¡£
¼ºÎé¡£¤³¤Á¤é¤Îʸ¤ò¸«Æ¨¤·¤Æ¤¤¤Þ¤·¤¿¡£

*my_check if mx<0 : mx=0 if mx>mxlimit : mx=mxlimit if my<240 : my=240 if my>mylimit : my=mylimit pos mx,my:gmode 2,48,48:gcopy 3,0,0
¤³¤Á¤é¤ÏÍÍ¡¹¤Ê¥²¡¼¥à¤Ç¤è¤¯¸«¤ë¥¿¥¤¥×¤ÎÆâÍƤǤ¹¡£
¤ä¤Ã¤Æ¤ë¤³¤È¤Ïñ½ã¤Ë²èÌ̾å¤Ç¼«µ¡¤¬°ÜÆ°¤Ç¤­¤ëÈϰϤòÀßÄꤷ¤Æ¤¤¤ë¤À¤±¤Ç¤¹¡£

mx¡¢my¤Ï¤½¤ì¤¾¤ì¼«µ¡¤Îº¸¾åºÂɸXY¤Ã¤Ý¤¤¤Î¤Ç

if mx<0 : mx=0
if mx>mxlimit : mx=mxlimit
XºÂɸ¤Ï²èÌÌÆ⤫¤é½Ð¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£
²èÌ̤γ°¤Ë¹Ô¤Ã¤Æ¤·¤Þ¤¦¤È¼«µ¡¤¬É½¼¨¤µ¤ì¤Ê¤¯¤Ê¤Ã¤Æ²¿¤â¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¤«¤é¡£

0 <= mx <= mxlimit ¤³¤ì¤¬¼«µ¡¤Î²£Êý¸þ¤Î°ÜÆ°²ÄǽÈÏ°Ï


if my<240 : my=240
if my>mylimit : my=mylimit
YºÂɸ¤ÏÍýͳ¤ÏÉÔÌÀ¤Ç¤¹¤¬²èÌ̤ÎYºÂɸ0¡Á239¤Ë¤Ï°ÜÆ°¤Ç¤­¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£
²¼¤Ï²èÌ̤ΰìÈÖ²¼¤Þ¤Ç¹Ô¤Ã¤¿¤é¤½¤ì°Ê¾å¤Î²¼¤Ë°ÜÆ°¤Ç¤­¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£

240 <= my <= mylimit ¤³¤Á¤é¤¬¼«µ¡¤Î½ÄÊý¸þ¤Î°ÜÆ°²ÄǽÈÏ°Ï


pos mx,my:gmode 2,48,48:gcopy 3,0,0
¤³¤ì¤ÏÀâÌÀ¤¹¤ë¤Þ¤Ç¤â¤Ê¤¯¼«µ¡¤Îɽ¼¨½èÍý¤Ç¤¹¤Í¡£



¤ª¤Ü

¥ê¥ó¥¯

2018/1/5(Fri) 13:26:23|NO.82174

¤³¤ó¤Ë¤Á¤Ï¡£¤ª¤Ü¤Ç¤¹¡£

>>¤¢¤Þ¤é¤µ¤ó

ËÜÅö¤ËÃúÇ«¤Ê²òÀ⤢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£¤ä¤Ï¤ê¤ï¤«¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤òÀè±ä¤Ð¤·¤Ë¤¹¤ë¤Î¤Ï¤è¤¯¤Ê¤¤¤È¤¤¤¦¤³¤È¤¬¤è¤¯¤ï¤«¤ê¤Þ¤·¤¿¡£

º£¸å¡¢¤Þ¤¿½éÊâŪ¤Ê¤³¤È¤ò¼ÁÌ䤹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢¤è¤í¤·¤¯¤ª´ê¤¤¤¤¤¿¤·¤Þ¤¹¡£

¤³¤ÎÅ٤Ϥ¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£



ONION software Copyright 1997-2023(c) All rights reserved.