£Ã£è£á£ð£ô£å£ò.£µ£· [ ¥·¥å¡¼¥Æ¥£¥ó¥°¥²¡¼¥à£±£·¡§¥¿¥¤¥È¥ë²èÌÌ ]
¢£¥¿¥¤¥È¥ë
¥²¡¼¥à¤ò³«»Ï¤·¤Æ¤«¤é¡¢¥æ¡¼¥¶¡¼¤¬ºÇ½é¤ËÌܤˤ¹¤ë¤Î¤Ï¥¿¥¤¥È¥ë²èÌ̤Ǥ¹¡£
º£²ó¤Ï¡¢¤³¤Î¥¿¥¤¥È¥ë²èÌ̤ˤĤ¤¤Æ¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¥¿¥¤¥È¥ë²èÌ̤ϡ¢ÍѰդ·¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢¤½¤ì¤Ï¤½¤ì¤Ç¤É¤¦¤Ë¤«¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¤Ç¤¹¤¬¡¢¥«¥Ã¥³¤¤¤¤¥¿¥¤¥È¥ë²èÌ̤¬¤É¡¼¤ó¤Èɽ¼¨¤µ¤ì¤ë¤È¡¢¥²¡¼¥à¤ÎÂè°ì°õ¾Ý¤¬¤°¤Ã¤È¤è¤¯¤Ê¤ê¤Þ¤¹¡£
¥¿¥¤¥È¥ë²èÌ̤ˤÁ¤«¤é¤òÆþ¤ì¤¹¤®¤Æ¡¢´Î¿´¤ÎÃæ¿È¤¬Ìµ¤¤¤È¤¤¤¦¤Î¤â¹Í¤¨Êª¤Ç¤¹¤¬¡¢¤Ç¤¤ë¸Â¤ê¥«¥Ã¥³¤¤¤¤±é½Ð¤ò¤·¤Æ¤ª¤¤¤ÆÂ»¤Ï̵¤¤¤Ç¤·¤ç¤¦¡£º£²ó¤Ï¡¢¥æ¡¼¥¶¡¼¥Õ¥©¡¼¥à¤Î¥é¥Ù¥ë¥³¥ó¥È¥í¡¼¥ë¤ò»È¤Ã¤Æ¡¢¤Á¤ç¤Ã¤È¤·¤¿¥¿¥¤¥È¥ë²èÌ̤αé½Ð¤ò¹Ô¤Ã¤Æ¤ß¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
¢£¥æ¡¼¥¶¡¼¥Õ¥©¡¼¥à¤Î½àÈ÷
¤Þ¤º¤Ï¡¢¥æ¡¼¥¶¡¼¥Õ¥©¡¼¥à¾å¤Ë¡¢¥¿¥¤¥È¥ë¥í¥´¤ÎÌò³ä¤ò²Ì¤¿¤¹¥é¥Ù¥ë¤òÇÛÃÖ¤·¤Þ¤¹¡£

¤³¤Î¥é¥Ù¥ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê´¶¤¸¤Ç¥×¥í¥Ñ¥Æ¥£¤òÊѹ¹¤·¤Æ¤¤¤Þ¤¹¡£
»ú¤¬Â礤¯¤Ê¤Ã¤Æ¤ª¤ê¡¢Ê¸»ú¿§¤¬À֤ˤʤäƤ¤¤Þ¤¹¡£¤½¤·¤Æ¡¢ÇطʤòÆ©²á¤¹¤ë¤è¤¦¤Ë¤·¤Æ¡¢Ê¸»ú¤òÃæ±û·¤¨¤Ë¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¡£¤Ò¤È¤Ä¤Ò¤È¤Ä¾Ç¤é¤ºÀßÄꤷ¤Þ¤·¤ç¤¦¡£
ÀßÄ꤬¤¦¤Þ¤¯¤¤¤Ã¤¿¤é¡¢¤³¤Î¥é¥Ù¥ë¤Î̾Á°¤ò¡Ø
¤½¤·¤Æ¡¢¼¡¤Ï¤³¤Î¥é¥Ù¥ë¤Î¾å¤Ç±¦¥¯¥ê¥Ã¥¯¤·¤Æ¡¢¥³¥Ô¡¼¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£

¼¡¤Ë¡¢¥Õ¥ì¡¼¥à¤ÎÃæ¤Ç±¦¥¯¥ê¥Ã¥¯¤·¤Æ¡¢Å½¤êÉÕ¤±¤òÁªÂò¤·¤Þ¤¹¡£¤¹¤ë¤È¡¢Àè¤Û¤É¤Î¥é¥Ù¥ë¤¬¥Õ¥ì¡¼¥à¤ÎÃæ¤ËޤêÉÕ¤±¤µ¤ì¤Þ¤¹¡£Á´¤¯Æ±¤¸¾ì½ê¤ËޤêÉÕ¤±¤µ¤ì¤ë¤Î¤Ç¡¢°ì¸«¤¹¤ë¤È²¿¤âÊѤï¤Ã¤Æ¤¤¤Ê¤¤¤è¤¦¤Ë¸«¤¨¤Þ¤¹¤¬¡¢¥é¥Ù¥ë¤òư¤«¤·¤Æ¤ß¤ë¤È¡¢Å½¤êÉÕ¤±¤µ¤ì¤Æ¤¤¤ë¤Î¤¬¤ï¤«¤ë¤Ï¤º¤Ç¤¹¡£

¢§

¤³¤Î¡¢¿·¤·¤¯Å½¤êÉÕ¤±¤é¤ì¤¿¥é¥Ù¥ë¤Î¡¢Ê¸»ú¿§¤òÊѤ¨¤Æ¡¢¤µ¤é¤Ë

¤É¤¦¤Ç¤¹¤«¡©¡¡±Æ¤Ä¤¤Îʸ»ú¤ß¤¿¤¯¤Ê¤ê¤Þ¤·¤¿¤Í¡£¤Á¤ç¤Ã¤È¥í¥´¤Ã¤Ý¤¯¤Ê¤ê¤Þ¤·¤¿¡£
¤³¤ì¤Ï¡¢¥é¥Ù¥ë¤ò¤Õ¤¿¤Ä½Å¤Í¤ÆÉ½¼¨¤¹¤ë¤³¤È¤Ç¡¢¤¢¤¿¤«¤â±Æ¤¬¤Ä¤¤¤Æ¤¤¤ë¤«¤Î¤è¤¦¤Ë¸«¤»¤Æ¤¤¤ë¤È¤¤¤¦¡¢±é½Ð¤Î¤·¤«¤¿¤Î°ìÎã¤Ç¤¹¡£
¤¢¤È¤«¤éޤêÉÕ¤±¤¿¤Û¤¦¤Î¥é¥Ù¥ë¤â¡¢Ì¾Á°¤òÊѹ¹¤·¤Æ¡Ø
¤³¤³¤Þ¤Ç¤Ç¤¤¿¤é¡¢¥æ¡¼¥¶¡¼¥Õ¥©¡¼¥à¤Î½àÈ÷¤Ï´°Î»¤Ç¤¹¡£
¤¢¤È¤Ï¡¢¤³¤ì¤ò¥²¡¼¥àÃæ¤Ë¤É¤Î¤è¤¦¤Ë½èÍý¤¹¤ë¤«¡¢¤½¤ì¤ò¸«¤Æ¤¤¤¤Þ¤·¤ç¤¦¡£
¢£¥¿¥¤¥È¥ë²èÌ̤μÂÁõ
¤µ¤Æ¡¢¥¿¥¤¥È¥ë²èÌ̤ò¹Í¤¨¤ë¤È¤¤Ë¤Ï¡¢º£¤Þ¤Ç½ñ¤¤¤Æ¤¤¿¥³¡¼¥É¤ò¡¢ÂçÉý¤Ë½¤Àµ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¤Ê¤¼¤Ç¤·¤ç¤¦¤«¡£
º£¤Þ¤Ç¤Ï¡¢¥²¡¼¥à¤Î³«»Ï¤ÈƱ»þ¤Ë¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤¬Åо줷¡¢¤¢¤È¤Ï¾¡¼ê¤ËŨ¥¥ã¥é¥¯¥¿¡¼¤¬¥¨¥ó¥É¥ì¥¹¤ÇÅо줹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤·¤¿¡£
¤·¤«¤·¡¢º£²ó¥¿¥¤¥È¥ë²èÌ̤ò¼ÂÁõ¤¹¤ë¤È¤Ê¤ë¤È¡¢¤Þ¤º¤Ï¥²¡¼¥à¤Î³«»Ï»þ¤Ë¤Ï¡¢¥¿¥¤¥È¥ë²èÌ̤òɽ¼¨¤·¤Æ¤ª¤¯¤è¤¦¤Ë¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¤è¤Í¡£
¤½¤ì¤Ë¡¢¥²¡¼¥à¤ò¥¯¥ê¥¢¤·¤¿¤È¤¤ä¡¢¥²¡¼¥à¥ª¡¼¥Ð¡¼¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤È¤¤Î¤³¤È¤â¡¢ºÇ½ªÅª¤Ë¤Ï¹Í¤¨¤Æ¤¤¤«¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
¤½¤³¤Ç¡¢¥²¡¼¥à¤¬º£¸½ºß¤É¤Î¤è¤¦¤Ê¿Ê¹Ô¾õ¶·¤Ê¤Î¤«¡¢¤½¤ì¤ò´ÉÍý¤Ç¤¤ë¤è¤¦¤Ë¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£¥²¡¼¥à¤Î³«»ÏÁ°¤Ê¤Î¤«¡¢¤½¤ì¤È¤â¥²¡¼¥à¤ò¥×¥ì¥¤¤·¤Æ¤¤¤ëºÇÃæ¤Ê¤Î¤«¡¢¤Ï¤¿¤Þ¤¿¥²¡¼¥à¥ª¡¼¥Ð¡¼¤È¤Ê¤ê¡¢¿Ê¹Ô¤¬»ß¤Þ¤Ã¤Æ¤·¤Þ¤Ã¤¿¾õÂ֤ʤΤ«¡Ä¡Ä¡£¤³¤ì¤Ï¤Á¤ç¤Ã¤È¤á¤ó¤É¤¯¤µ¤½¤¦¤Ç¤¹¤Í¡£
¤³¤ì¤ò´Êñ¤Ë¼ÂÁõ¤µ¤»¤ë¤Ë¤Ï¡¢¤ä¤Ï¤êÊÑ¿ô¤ò¤¦¤Þ¤¯»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£º£¸½ºß¡¢¥²¡¼¥à¤¬¤É¤Î¤è¤¦¤Ê¿Ê¹Ô¾õ¶·¤Ê¤Î¤«¤ò¡¢¤¢¤ëÊÑ¿ô¤Ë³ÎÊݤ·¤Æ¤ª¤¡¢¤½¤ÎÆâÍÆ¤Ë±þ¤¸¤Æ½èÍý¤òʬ´ô¤µ¤»¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤³¤Î¤è¤¦¤Ë¡¢¸½ºß¤Î¥·¡¼¥ó¤Ë±þ¤¸¤Æ¡¢½èÍý¤¬Ê¬´ô¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤±¤Ð¡¢¤É¤Î¤è¤¦¤Ê¾õÂ֤Ǥ¢¤Ã¤Æ¤â¡¢Å¬Àڤ˽èÍý¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤Î¤¿¤á¤Ë¡¢¤Þ¤º¤ÏÊÑ¿ô¤ò¤Ò¤È¤ÄÄɲä·¤Þ¤·¤ç¤¦¡£
¤³¤ÎÊÑ¿ô
¤¢¤È¤Ï¡¢¤³¤ÎÊÑ¿ô
¿§¤Ä¤¤Ë¤Ê¤Ã¤Æ¤¤¤ëÉôʬ¤¬¡¢Äɲ䵤줿Éôʬ¤Ç¤¹¡£
º£¤Þ¤Ç¤Ï¡¢Ä¾ÀÜ¥²¡¼¥à¥×¥ì¥¤Ãæ¤Î½èÍý¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤ë¤À¤±¤Ç¤·¤¿¡£¤·¤«¤·¡¢º£²ó¤ÎÊѹ¹¤Ëȼ¤Ã¤Æ¡¢¥²¡¼¥à¤Î³Æ¿Ê¹Ô¾õÂ֤˱þ¤¸¤¿½èÍý¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
²«¿§¤¤»ú¤Çɽ¼¨¤µ¤ì¤Æ¤¤¤ë¡¢
¤³¤Î¥×¥í¥·¡¼¥¸¥ã¤òºîÀ®¤¹¤ì¤Ð¡¢¥¿¥¤¥È¥ë²èÌ̤μÂÁõ¤Ï´°Î»¤Ç¤¹¡£
¢£¥¿¥¤¥È¥ë¥í¥´¤Î½èÍý
¤½¤ì¤Ç¤Ï¡¢¥¿¥¤¥È¥ë¤Î¥¢¥¯¥·¥ç¥ó¤ò¹Ô¤¦¥×¥í¥·¡¼¥¸¥ã¡Ø
¤³¤Î¥×¥í¥·¡¼¥¸¥ã¤Ï¡¢¥²¡¼¥à¤Î³«»Ï¤ÈƱ»þ¤Ë²èÌ̾å¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥¿¥¤¥È¥ë¥í¥´¤ò¡¢²èÌ̾夫¤é¾Ã¤¹¤È¤¤Î¥¢¥¯¥·¥ç¥ó¤ò¹Ô¤¦¥×¥í¥·¡¼¥¸¥ã¤Ç¤¹¡£
¤¿¤À¥Ñ¥Ã¤È¾Ã¤¨¤Æ¤·¤Þ¤¦¤Î¤Ç¤Ï¤Ä¤Þ¤é¤Ê¤¤¤Î¤Ç¡¢¥¿¥¤¥È¥ë¥í¥´¤¬²£¤Ë¥¹¥é¥¤¥É¤·¤Æ²èÌ̳°¤Ø¤È¾Ã¤¨¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Æ¤ß¤Þ¤¹¡£
¤³¤Î¥×¥í¥·¡¼¥¸¥ã¤Ï¡¢¸Æ¤Ó½Ð¤µ¤ì¤ë¤¿¤Ó¤Ë¥é¥Ù¥ë¤ò°Üư¤¹¤ë¤À¤±¤Î¥×¥í¥·¡¼¥¸¥ã¤Ç¤¹¡£
¡¤ÎÉôʬ¤Ç¼¨¤¹¤è¤¦¤Ë¡¢Ëè²ó¥é¥Ù¥ë¤Î°ÌÃÖ¤ò£³¥Ý¥¤¥ó¥È¤º¤Ä°Üư¤·¤Æ¤¤¤ë¤À¤±¤Ç¤¹¡£¤¿¤À¤·¡¢
¢£¤Þ¤È¤á
º£²ó¤Ï¡¢¥á¥¤¥ó¥×¥í¥»¥¹¤ÎÉôʬ¤òÊѹ¹¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢¤Á¤ç¤Ã¤ÈÊ£»¨¤Ë´¶¤¸¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤Ç¤¹¤¬¡¢½ç¤òÄɤäƤҤȤĤҤȤĤ³¤Ê¤·¤Æ¤¤¤±¤Ð¡¢¤¤Ã¤ÈÂç¾æÉפʤϤº¤Ç¤¹¡£
¥Ý¥¤¥ó¥È¤È¤Ê¤ë¤Î¤Ï¡¢¥²¡¼¥à¤Î¿Ê¹Ô¾õ¶·¤Ë¤è¤Ã¤Æ¡¢½èÍý¤òʬ´ô¤¹¤ë¤È¤¤¤¦»ÅÁȤߤǤ¹¡£
Á´¤Æ¤Î¥³¡¼¥É¤ò·ÇºÜ¤·¤Þ¤¹¤Î¤Ç¡¢¿§¤¬ÉÕ¤¤¤Æ¤¤¤ëÉôʬ¤òÃæ¿´¤Ë¡¢Á´ÂÎÁü¤ò¤¦¤Þ¤¯Çİ®¤·¤Æ¤¯¤À¤µ¤¤¡£
Declare Function GetTickCount Lib "kernel32" () As Long
Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMillsecounds As Long)
Type Chara
X As Single
Y As Single
W As Single
H As Single
Lif As Long
Typ As Long
Par As Long
End Type
Type Shot
X As Single
Y As Single
Vis As Boolean
Typ As Long
End Type
Type Obj
X As Single
Y As Single
W As Single
H As Single
Par As Long
End Type
Public Player_Data As Chara
Public Enemy_Data(9) As Chara
Public P_Shot_Data(4) As Shot
Public E_Shot_Data(9) As Shot
Public Burst_Data(2) As Obj
Public Shot_Interval As Long
Public Total_Count As Long
Public Player_Stock As Long
Public Score As Long
Public Game_Mode As Long
Public Const Left_Key As Long = 37
Public Const Up_Key As Long = 38
Public Const Right_Key As Long = 39
Public Const Down_Key As Long = 40
Public Const Esc_Key As Long = 27
Public Const Shot_Key As Long = 90
Public Const Player_Size As Single = 9
Public Const Shot_Size As Single = 3
Public Const Enemy_Size As Single = 9
Public Const Burst_Size As Single = 15
Sub Init()
With Player_Data
.X = 100
.Y = 210
.W = 3
.H = 3
.Lif = 1
.Typ = 0
.Par = 1
End With
Erase P_Shot_Data
Erase E_Shot_Data
Erase Enemy_Data
Erase Burst_Data
Shot_Interval = 0
Total_Count = 0
Player_Stock = 2
Score = 0
Game_Mode = 0
With UserForm1.Player
.Visible = True
.Top = 200
End With
UserForm1.Lab_Score.Caption = "00000000"
End Sub
Sub Main()
Dim Flg As Boolean
Dim Stm As Long
Init
Flg = False
Do Until Flg
Stm = GetTickCount
Total_Count = Total_Count + 1
Select Case Game_Mode
Case 0
Call Tytle_Action
Case 1
Call Stage_Count
Call Player_Action
Call Enemy_Action
Call P_Shot_Action
Call E_Shot_Action
Call Burst_Action
UserForm1.Lab_Score.Caption = Format(Score, "00000000")
Case 2
MsgBox "Game Over!!"
Flg = True
Case 3
MsgBox "Clear!!"
Flg = True
End Select
DoEvents
Do
Call Sleep(1)
Loop Until GetTickCount - Stm > 30
If GetAsyncKeyState(27) < 0 Then Flg = True
Loop
End Sub
Sub Tytle_Action()
With UserForm1
.Lab_Cap1.Left = .Lab_Cap1.Left + 3
.Lab_Cap2.Left = .Lab_Cap2.Left - 3
If .Lab_Cap1.Left > 200 Then
.Lab_Cap1.Visible = False
.Lab_Cap2.Visible = False
Game_Mode = 1
End If
End With
End Sub
Sub Stage_Count()
Randomize
Select Case Total_Count Mod 200
Case 0
Call Enemy_Begin(Int(Rnd * 120) + 40, -10, 1)
Case 50
Call Enemy_Begin(Int(Rnd * 120) + 40, -10, 2)
Case 100
Call Enemy_Begin(Int(Rnd * 120) + 40, -10, 3)
End Select
End Sub
Sub Player_Action()
Dim S As Single
Dim SS As Single
Randomize
With Player_Data
If .Lif > 0 Then
If .Par > 0 Then
If .Y > 180 Then
.Y = .Y - 1
Else
.Par = 0
End If
Else
If GetAsyncKeyState(Left_Key) < 0 Then .X = .X - 3
If GetAsyncKeyState(Up_Key) < 0 Then .Y = .Y - 3
If GetAsyncKeyState(Right_Key) < 0 Then .X = .X + 3
If GetAsyncKeyState(Down_Key) < 0 Then .Y = .Y + 3
If .X - Player_Size < 0 Then .X = Player_Size
If .X + Player_Size > 200 Then .X = 200 - Player_Size
If .Y - Player_Size < 0 Then .Y = Player_Size
If .Y + Player_Size > 200 Then .Y = 200 - Player_Size
If Shot_Interval = 0 Then
If GetAsyncKeyState(Shot_Key) < 0 Then
Call P_Shot_Begin(.X, .Y, 1)
Shot_Interval = 1
End If
Else
Shot_Interval = Shot_Interval + 1
If Shot_Interval > 7 Then Shot_Interval = 0
End If
End If
Else
.Par = .Par + 1
If .Par > 50 Then
.X = 100
.Y = 210
.Lif = 1
.Par = 1
Player_Stock = Player_Stock - 1
Select Case Player_Stock
Case Is < 0
Game_Mode = 2
Case 0
UserForm1.Stock1.Visible = False
Case 1
UserForm1.Stock2.Visible = False
End Select
Else
If .Par Mod 9 = 1 Then
S = Int(Rnd * 20) - 9
SS = Int(Rnd * 20) - 9
Call Burst_Begin(.X + S, .Y + SS)
End If
End If
End If
With UserForm1.Player
.Left = Player_Data.X - Player_Size
.Top = Player_Data.Y - Player_Size
End With
End With
End Sub
Sub P_Shot_Begin(X As Single, Y As Single, Typ As Long)
Dim L As Long
For L = 0 To 4
With P_Shot_Data(L)
If Not .Vis Then
.X = X
.Y = Y
.Typ = Typ
.Vis = True
UserForm1.Controls("P_Shot" & L + 1).Visible = True
Exit For
End If
End With
Next
End Sub
Sub P_Shot_Action()
Dim L As Long
Dim LL As Long
For L = 0 To 4
With P_Shot_Data(L)
If .Vis Then
.Y = .Y - 6
If .Y < -5 Then .Vis = False
For LL = 0 To 9
If Enemy_Data(LL).Lif > 0 Then
If .X - 2 < Enemy_Data(LL).X + Enemy_Data(LL).W Then
If .X + 2 > Enemy_Data(LL).X - Enemy_Data(LL).W Then
If .Y - 2 < Enemy_Data(LL).Y + Enemy_Data(LL).H Then
If .Y + 2 > Enemy_Data(LL).Y - Enemy_Data(LL).H Then
.Vis = False
With Enemy_Data(LL)
Call Burst_Begin(.X, .Y)
.Lif = 0
End With
Score = Score + 100
Exit For
End If
End If
End If
End If
End If
Next
With UserForm1.Controls("P_Shot" & L + 1)
If P_Shot_Data(L).Vis Then
.Left = P_Shot_Data(L).X - Shot_Size
.Top = P_Shot_Data(L).Y - Shot_Size
Else
.Visible = False
End If
End With
End If
End With
Next
End Sub
Sub Enemy_Begin(X As Single, Y As Single, Typ As Long)
Dim L As Long
For L = 0 To 9
With Enemy_Data(L)
If .Lif = 0 Then
.X = X
.Y = Y
.W = 5
.H = 5
.Typ = Typ
.Lif = 1
.Par = 0
With UserForm1.Controls("Enemy" & L + 1)
.Visible = True
Select Case Typ
Case 1
.Picture = UserForm1.Enemy_s1.Picture
Case 2, 3
.Picture = UserForm1.Enemy_s2.Picture
End Select
End With
Exit For
End If
End With
Next
End Sub
Sub Enemy_Action()
Dim L As Long
Dim TCMOD
TCMOD = Total_Count Mod 30
For L = 0 To 9
With Enemy_Data(L)
If .Lif > 0 Then
Select Case .Typ
Case 1
.Y = .Y + 1.5
Case 2
.X = .X + 0.5
.Y = .Y + 1
Case 3
.X = .X - 0.5
.Y = .Y + 1
End Select
If .X > 220 Then .Lif = 0
If .Y > 220 Then .Lif = 0
If .X < -20 Then .Lif = 0
If .Y < -20 Then .Lif = 0
If TCMOD = 0 Then
Select Case .Typ
Case 2
.Typ = 3
Case 3
.Typ = 2
End Select
Call E_Shot_Begin(.X, .Y + 2, .Typ)
End If
End If
End With
With UserForm1.Controls("Enemy" & L + 1)
If Enemy_Data(L).Lif > 0 Then
.Left = Enemy_Data(L).X - Enemy_Size
.Top = Enemy_Data(L).Y - Enemy_Size
Else
.Visible = False
End If
End With
Next
End Sub
Sub E_Shot_Begin(X As Single, Y As Single, Typ As Long)
Dim L As Long
For L = 0 To 9
With E_Shot_Data(L)
If Not .Vis Then
.X = X
.Y = Y
.Typ = Typ
.Vis = True
With UserForm1.Controls("E_Shot" & L + 1)
.Visible = True
End With
Exit For
End If
End With
Next
End Sub
Sub E_Shot_Action()
Dim L As Long
Dim LL As Long
For L = 0 To 9
With E_Shot_Data(L)
If .Vis Then
Select Case .Typ
Case 1
.Y = .Y + 4.5
Case 2
.X = .X + 0.5
.Y = .Y + 3.5
Case 3
.X = .X - 0.5
.Y = .Y + 3.5
End Select
If .X > 205 Then .Vis = 0
If .Y > 205 Then .Vis = 0
If .X < -5 Then .Vis = 0
If .Y < -5 Then .Vis = 0
If .X - 2 < Player_Data.X + Player_Data.W Then
If .X + 2 > Player_Data.X - Player_Data.W Then
If .Y - 2 < Player_Data.Y + Player_Data.H Then
If .Y + 2 > Player_Data.Y - Player_Data.H Then
.Vis = False
With Player_Data
Call Burst_Begin(.X, .Y)
.Lif = 0
End With
End If
End If
End If
End If
With UserForm1.Controls("E_Shot" & L + 1)
If E_Shot_Data(L).Vis Then
.Left = E_Shot_Data(L).X - Shot_Size
.Top = E_Shot_Data(L).Y - Shot_Size
Else
.Visible = False
End If
End With
End If
End With
Next
End Sub
Sub Burst_Begin(X As Single, Y As Single)
Dim L As Long
For L = 0 To 2
With Burst_Data(L)
If .Par = 0 Then
.X = X
.Y = Y
.W = Burst_Size
.H = Burst_Size
.Par = 1
UserForm1.Controls("Burst" & L + 1).Visible = True
Exit For
End If
End With
Next
End Sub
Sub Burst_Action()
Dim L As Long
Dim Pict As Long
For L = 0 To 2
With Burst_Data(L)
If .Par > 0 Then
Select Case .Par
Case 1
Pict = 1
Case 2, 3
Pict = 2
Case 4, 5
Pict = 3
Case 6, 7
Pict = 4
Case 8
Pict = 5
Case 9
.Par = -1
End Select
.Par = .Par + 1
With UserForm1.Controls("Burst" & L + 1)
If Burst_Data(L).Par > 0 Then
.Left = Burst_Data(L).X - Burst_Size
.Top = Burst_Data(L).Y - Burst_Size
.Picture = UserForm1.Controls("Burst_s" & Pict).Picture
Else
.Visible = False
End If
End With
End If
End With
Next
End Sub
Private Sub Com_Start_Click()
Com_Start.Enabled = False
Call Main
Unload UserForm1
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
End
End Sub
Private Sub UserForm_Initialize()
UserForm1.Width = 220
End Sub
¥²¡¼¥à¤Î¿Ê¹Ô¾õ¶·¤òɽ¤¹ÊÑ¿ô
¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤¬£³²ó»à¤ó¤Ç¤·¤Þ¤Ã¤¿¤È¤¤Ë¤Ï¡¢¤³¤ì¤Ï¥²¡¼¥à¥ª¡¼¥Ð¡¼¤ËÁêÅö¤·¤Þ¤¹¤Î¤Ç¡¢¤³¤³¤Ç¤âÊÑ¿ô
¤Á¤Ê¤ß¤Ë¡¢º£²ó¤ÎÊѹ¹¤ò¹Ô¤Ã¤¿»þÅÀ¤Ç¡¢¥²¡¼¥à¤Î¥¯¥ê¥¢¤Ë¤âÂбþ¤Ç¤¤ë»ÅÁȤߤˤʤäƤ¤¤Þ¤¹¡£ºÇ½ªÅª¤Ë¥²¡¼¥à¤Î¥¯¥ê¥¢¤ÈȽÃǤµ¤ì¤ë¾õ¶·¤Ë¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ÊÑ¿ô
¥á¥¤¥ó¥×¥í¥»¥¹¤È¤Ê¤ë¥×¥í¥·¡¼¥¸¥ã
¤³¤ì¤¬¤ï¤«¤Ã¤Æ¤¤¤ì¤Ð¡¢º£²ó¤Î¹ÖºÂÆâÍÆ¤Ï¤Û¤Ü´°àú¤ËÍý²ò¤Ç¤¤¿¤È¸À¤Ã¤Æ¤¤¤¤¤Ç¤·¤ç¤¦¡£
º£²ó¤â¥µ¥ó¥×¥ë¤òÍѰդ·¤Þ¤·¤¿¤Î¤Ç¡¢¼ÂºÝ¤Ëư¤«¤·¤Æ¤ß¤ë¤È¤ï¤«¤ê¤ä¤¹¤¤¤Î¤Ç¤Ï¤Ê¤¤¤«¤È»×¤¤¤Þ¤¹¡£Á´ÂΤÎή¤ì¤ò¤è¤¯Íý²ò¤·¤Æ¡¢¤æ¤Ã¤¯¤ê¤Ç¹½¤¤¤Þ¤»¤ó¤«¤é¡¢¤¬¤ó¤Ð¤Ã¤Æ½¤Àµ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¥·¥å¡¼¥Æ¥£¥ó¥°¥²¡¼¥à¤â¤³¤³¤é¤Ç¤¤¤è¤¤¤èÂçµÍ¤á¤Ç¤¹¡£¼¡²ó¤«¤é¤Ï¡¢ºÇ¸å¤ÎÆñ´Ø¡¢¥Ü¥¹¥¥ã¥é¥¯¥¿¡¼¤ò¼è¤ê¾å¤²¤Þ¤¹¡£
¥Ü¥¹¥¥ã¥é¥¯¥¿¡¼¤ò¼ÂÁõ¤Ç¤¤ì¤Ð¡¢À²¤ì¤Æ¥²¡¼¥à¤Ï´°À®¤Ç¤¹¡£
¥µ¥ó¥×¥ë¥À¥¦¥ó¥í¡¼¥É¡¡¢Í¡¡¥³¥Á¥é¤è¤ê¥À¥¦¥ó¥í¡¼¥É¤Ç¤¤Þ¤¹¡£¡ÊÊÌ´Û¡Ë
¢£³Ê¸À
¥¿¥¤¥È¥ë¤Ï¥²¡¼¥à¤Î´é
¿Ê¹Ô¾õ¶·¤Ë¹ç¤ï¤»¤Æ½èÍý¤òʬ´ô¤¹¤ë
¾õ¶·¤Ë¹ç¤ï¤»½ÀÆð¤Ë½èÍý¤Ç¤¤ë»ÅÁȤߤò¹½ÃÛ¤·¤Þ¤·¤ç¤¦¡£
¥²¡¼¥à¤ò³«»Ï¤·¤Æ¤«¤é¡¢¥æ¡¼¥¶¡¼¤¬ºÇ½é¤ËÌܤˤ¹¤ë¤Î¤Ï¥¿¥¤¥È¥ë²èÌ̤Ǥ¹¡£
º£²ó¤Ï¡¢¤³¤Î¥¿¥¤¥È¥ë²èÌ̤ˤĤ¤¤Æ¹Í¤¨¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¥¿¥¤¥È¥ë²èÌ̤ϡ¢ÍѰդ·¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢¤½¤ì¤Ï¤½¤ì¤Ç¤É¤¦¤Ë¤«¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¤Ç¤¹¤¬¡¢¥«¥Ã¥³¤¤¤¤¥¿¥¤¥È¥ë²èÌ̤¬¤É¡¼¤ó¤Èɽ¼¨¤µ¤ì¤ë¤È¡¢¥²¡¼¥à¤ÎÂè°ì°õ¾Ý¤¬¤°¤Ã¤È¤è¤¯¤Ê¤ê¤Þ¤¹¡£
¥¿¥¤¥È¥ë²èÌ̤ˤÁ¤«¤é¤òÆþ¤ì¤¹¤®¤Æ¡¢´Î¿´¤ÎÃæ¿È¤¬Ìµ¤¤¤È¤¤¤¦¤Î¤â¹Í¤¨Êª¤Ç¤¹¤¬¡¢¤Ç¤¤ë¸Â¤ê¥«¥Ã¥³¤¤¤¤±é½Ð¤ò¤·¤Æ¤ª¤¤¤ÆÂ»¤Ï̵¤¤¤Ç¤·¤ç¤¦¡£º£²ó¤Ï¡¢¥æ¡¼¥¶¡¼¥Õ¥©¡¼¥à¤Î¥é¥Ù¥ë¥³¥ó¥È¥í¡¼¥ë¤ò»È¤Ã¤Æ¡¢¤Á¤ç¤Ã¤È¤·¤¿¥¿¥¤¥È¥ë²èÌ̤αé½Ð¤ò¹Ô¤Ã¤Æ¤ß¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
¢£¥æ¡¼¥¶¡¼¥Õ¥©¡¼¥à¤Î½àÈ÷
¤Þ¤º¤Ï¡¢¥æ¡¼¥¶¡¼¥Õ¥©¡¼¥à¾å¤Ë¡¢¥¿¥¤¥È¥ë¥í¥´¤ÎÌò³ä¤ò²Ì¤¿¤¹¥é¥Ù¥ë¤òÇÛÃÖ¤·¤Þ¤¹¡£

¤³¤Î¥é¥Ù¥ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê´¶¤¸¤Ç¥×¥í¥Ñ¥Æ¥£¤òÊѹ¹¤·¤Æ¤¤¤Þ¤¹¡£
BackStyle¥×¥í¥Ñ¥Æ¥£ ¢Í fmBackStyleTransparent(Æ©ÌÀ¤Ë¤¹¤ë)
TextAlign ¢Í fmTextAlignCenter(Ãæ±û·¤¨)
Font ¢Í MS UI Gothic 20¥Ý¥¤¥ó¥È ÂÀ»ú¼ÐÂÎ

ForeColor ¢Í ¥Ñ¥ì¥Ã¥È¥¿¥Ö¤è¤êÀÖ¤òÁªÂò

»ú¤¬Â礤¯¤Ê¤Ã¤Æ¤ª¤ê¡¢Ê¸»ú¿§¤¬À֤ˤʤäƤ¤¤Þ¤¹¡£¤½¤·¤Æ¡¢ÇطʤòÆ©²á¤¹¤ë¤è¤¦¤Ë¤·¤Æ¡¢Ê¸»ú¤òÃæ±û·¤¨¤Ë¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¡£¤Ò¤È¤Ä¤Ò¤È¤Ä¾Ç¤é¤ºÀßÄꤷ¤Þ¤·¤ç¤¦¡£
ÀßÄ꤬¤¦¤Þ¤¯¤¤¤Ã¤¿¤é¡¢¤³¤Î¥é¥Ù¥ë¤Î̾Á°¤ò¡Ø
Lab_Cap1 ¡Ù¤ËÊѹ¹¤·¤Þ¤¹¡£¤½¤·¤Æ¡¢¼¡¤Ï¤³¤Î¥é¥Ù¥ë¤Î¾å¤Ç±¦¥¯¥ê¥Ã¥¯¤·¤Æ¡¢¥³¥Ô¡¼¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£

¼¡¤Ë¡¢¥Õ¥ì¡¼¥à¤ÎÃæ¤Ç±¦¥¯¥ê¥Ã¥¯¤·¤Æ¡¢Å½¤êÉÕ¤±¤òÁªÂò¤·¤Þ¤¹¡£¤¹¤ë¤È¡¢Àè¤Û¤É¤Î¥é¥Ù¥ë¤¬¥Õ¥ì¡¼¥à¤ÎÃæ¤ËޤêÉÕ¤±¤µ¤ì¤Þ¤¹¡£Á´¤¯Æ±¤¸¾ì½ê¤ËޤêÉÕ¤±¤µ¤ì¤ë¤Î¤Ç¡¢°ì¸«¤¹¤ë¤È²¿¤âÊѤï¤Ã¤Æ¤¤¤Ê¤¤¤è¤¦¤Ë¸«¤¨¤Þ¤¹¤¬¡¢¥é¥Ù¥ë¤òư¤«¤·¤Æ¤ß¤ë¤È¡¢Å½¤êÉÕ¤±¤µ¤ì¤Æ¤¤¤ë¤Î¤¬¤ï¤«¤ë¤Ï¤º¤Ç¤¹¡£

¢§

¤³¤Î¡¢¿·¤·¤¯Å½¤êÉÕ¤±¤é¤ì¤¿¥é¥Ù¥ë¤Î¡¢Ê¸»ú¿§¤òÊѤ¨¤Æ¡¢¤µ¤é¤Ë
Top¥×¥í¥Ñ¥Æ¥£¤ÈLeft¥×¥í¥Ñ¥Æ¥£¤ò¤¦¤Þ¤¯Ä´À°¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê´¶¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£
¤É¤¦¤Ç¤¹¤«¡©¡¡±Æ¤Ä¤¤Îʸ»ú¤ß¤¿¤¯¤Ê¤ê¤Þ¤·¤¿¤Í¡£¤Á¤ç¤Ã¤È¥í¥´¤Ã¤Ý¤¯¤Ê¤ê¤Þ¤·¤¿¡£
¤³¤ì¤Ï¡¢¥é¥Ù¥ë¤ò¤Õ¤¿¤Ä½Å¤Í¤ÆÉ½¼¨¤¹¤ë¤³¤È¤Ç¡¢¤¢¤¿¤«¤â±Æ¤¬¤Ä¤¤¤Æ¤¤¤ë¤«¤Î¤è¤¦¤Ë¸«¤»¤Æ¤¤¤ë¤È¤¤¤¦¡¢±é½Ð¤Î¤·¤«¤¿¤Î°ìÎã¤Ç¤¹¡£
¤¢¤È¤«¤éޤêÉÕ¤±¤¿¤Û¤¦¤Î¥é¥Ù¥ë¤â¡¢Ì¾Á°¤òÊѹ¹¤·¤Æ¡Ø
Lab_Cap2 ¡Ù¤È¤·¤Æ¤ª¤¤Þ¤¹¡£¤³¤³¤Þ¤Ç¤Ç¤¤¿¤é¡¢¥æ¡¼¥¶¡¼¥Õ¥©¡¼¥à¤Î½àÈ÷¤Ï´°Î»¤Ç¤¹¡£
¤¢¤È¤Ï¡¢¤³¤ì¤ò¥²¡¼¥àÃæ¤Ë¤É¤Î¤è¤¦¤Ë½èÍý¤¹¤ë¤«¡¢¤½¤ì¤ò¸«¤Æ¤¤¤¤Þ¤·¤ç¤¦¡£
¢£¥¿¥¤¥È¥ë²èÌ̤μÂÁõ
¤µ¤Æ¡¢¥¿¥¤¥È¥ë²èÌ̤ò¹Í¤¨¤ë¤È¤¤Ë¤Ï¡¢º£¤Þ¤Ç½ñ¤¤¤Æ¤¤¿¥³¡¼¥É¤ò¡¢ÂçÉý¤Ë½¤Àµ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¤Ê¤¼¤Ç¤·¤ç¤¦¤«¡£
º£¤Þ¤Ç¤Ï¡¢¥²¡¼¥à¤Î³«»Ï¤ÈƱ»þ¤Ë¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤¬Åо줷¡¢¤¢¤È¤Ï¾¡¼ê¤ËŨ¥¥ã¥é¥¯¥¿¡¼¤¬¥¨¥ó¥É¥ì¥¹¤ÇÅо줹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤·¤¿¡£
¤·¤«¤·¡¢º£²ó¥¿¥¤¥È¥ë²èÌ̤ò¼ÂÁõ¤¹¤ë¤È¤Ê¤ë¤È¡¢¤Þ¤º¤Ï¥²¡¼¥à¤Î³«»Ï»þ¤Ë¤Ï¡¢¥¿¥¤¥È¥ë²èÌ̤òɽ¼¨¤·¤Æ¤ª¤¯¤è¤¦¤Ë¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¤è¤Í¡£
¤½¤ì¤Ë¡¢¥²¡¼¥à¤ò¥¯¥ê¥¢¤·¤¿¤È¤¤ä¡¢¥²¡¼¥à¥ª¡¼¥Ð¡¼¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤È¤¤Î¤³¤È¤â¡¢ºÇ½ªÅª¤Ë¤Ï¹Í¤¨¤Æ¤¤¤«¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
¤½¤³¤Ç¡¢¥²¡¼¥à¤¬º£¸½ºß¤É¤Î¤è¤¦¤Ê¿Ê¹Ô¾õ¶·¤Ê¤Î¤«¡¢¤½¤ì¤ò´ÉÍý¤Ç¤¤ë¤è¤¦¤Ë¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£¥²¡¼¥à¤Î³«»ÏÁ°¤Ê¤Î¤«¡¢¤½¤ì¤È¤â¥²¡¼¥à¤ò¥×¥ì¥¤¤·¤Æ¤¤¤ëºÇÃæ¤Ê¤Î¤«¡¢¤Ï¤¿¤Þ¤¿¥²¡¼¥à¥ª¡¼¥Ð¡¼¤È¤Ê¤ê¡¢¿Ê¹Ô¤¬»ß¤Þ¤Ã¤Æ¤·¤Þ¤Ã¤¿¾õÂ֤ʤΤ«¡Ä¡Ä¡£¤³¤ì¤Ï¤Á¤ç¤Ã¤È¤á¤ó¤É¤¯¤µ¤½¤¦¤Ç¤¹¤Í¡£
¤³¤ì¤ò´Êñ¤Ë¼ÂÁõ¤µ¤»¤ë¤Ë¤Ï¡¢¤ä¤Ï¤êÊÑ¿ô¤ò¤¦¤Þ¤¯»È¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£º£¸½ºß¡¢¥²¡¼¥à¤¬¤É¤Î¤è¤¦¤Ê¿Ê¹Ô¾õ¶·¤Ê¤Î¤«¤ò¡¢¤¢¤ëÊÑ¿ô¤Ë³ÎÊݤ·¤Æ¤ª¤¡¢¤½¤ÎÆâÍÆ¤Ë±þ¤¸¤Æ½èÍý¤òʬ´ô¤µ¤»¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¥²¡¼¥à¤Î¿Ê¹Ô¾õ¶·
¥²¡¼¥à³«»ÏÁ°¤Ê¤é ޥޥޥ ¥¿¥¤¥È¥ë²èÌ̤òɽ¼¨
¥²¡¼¥à¤ò³«»Ï¤·¤¿¤Ê¤é ޥޥޥ ¥¿¥¤¥È¥ë¤ò½ªÎ»¤·¥¥ã¥é¥¯¥¿¡¼¤òÅо줵¤»¤ë
¥²¡¼¥à¥×¥ì¥¤Ãæ¤Ê¤é ޥޥޥ ¥²¡¼¥àÃæ¤Î½èÍý
¥²¡¼¥à¥¯¥ê¥¢¤·¤¿¤é ޥޥޥ ¥¯¥ê¥¢»þ¤Î±é½Ð¤ò¹Ô¤¦
¥²¡¼¥à¥ª¡¼¥Ð¡¼¤Ë¤Ê¤Ã¤¿¤é ޥޥޥ ¥²¡¼¥à¥ª¡¼¥Ð¡¼¤Î±é½Ð¤ò¹Ô¤¦
¥²¡¼¥à³«»ÏÁ°¤Ê¤é ޥޥޥ ¥¿¥¤¥È¥ë²èÌ̤òɽ¼¨
¥²¡¼¥à¤ò³«»Ï¤·¤¿¤Ê¤é ޥޥޥ ¥¿¥¤¥È¥ë¤ò½ªÎ»¤·¥¥ã¥é¥¯¥¿¡¼¤òÅо줵¤»¤ë
¥²¡¼¥à¥×¥ì¥¤Ãæ¤Ê¤é ޥޥޥ ¥²¡¼¥àÃæ¤Î½èÍý
¥²¡¼¥à¥¯¥ê¥¢¤·¤¿¤é ޥޥޥ ¥¯¥ê¥¢»þ¤Î±é½Ð¤ò¹Ô¤¦
¥²¡¼¥à¥ª¡¼¥Ð¡¼¤Ë¤Ê¤Ã¤¿¤é ޥޥޥ ¥²¡¼¥à¥ª¡¼¥Ð¡¼¤Î±é½Ð¤ò¹Ô¤¦
¤³¤Î¤è¤¦¤Ë¡¢¸½ºß¤Î¥·¡¼¥ó¤Ë±þ¤¸¤Æ¡¢½èÍý¤¬Ê¬´ô¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤±¤Ð¡¢¤É¤Î¤è¤¦¤Ê¾õÂ֤Ǥ¢¤Ã¤Æ¤â¡¢Å¬Àڤ˽èÍý¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤Î¤¿¤á¤Ë¡¢¤Þ¤º¤ÏÊÑ¿ô¤ò¤Ò¤È¤ÄÄɲä·¤Þ¤·¤ç¤¦¡£
Public Game_Mode As Long
'¸½ºß¤Î¥²¡¼¥à¥â¡¼¥É'£°¡á¥¿¥¤¥È¥ë'£±¡á¥²¡¼¥àÃæ'£²¡á¥²¡¼¥à¥ª¡¼¥Ð¡¼'£³¡á¥²¡¼¥à¥¯¥ê¥¢¤³¤ÎÊÑ¿ô
Game_Mode¤ËÆþ¤Ã¤Æ¤¤¤ëÃͤ˱þ¤¸¤Æ¡¢½èÍý¤òʬ´ô¤µ¤»¤ë¤è¤¦¤Ë¤¹¤ì¤Ð¤¤¤¤¤ï¤±¤Ç¤¹¡£¤¢¤È¤Ï¡¢¤³¤ÎÊÑ¿ô
Game_Mode¤ÎÃͤò¥Á¥§¥Ã¥¯¤·¤Ê¤¬¤é½èÍý¤òʬ´ô¤¹¤ë¤è¤¦¤Ë¡¢¥á¥¤¥ó¥×¥í¥»¥¹¤òÊѹ¹¤·¤Æ¤ä¤ì¤Ð¤¤¤¤¤Î¤Ç¤¹¡£Sub Main()
Dim Flg As Boolean
Dim Stm As Long
Init
Flg = False
Do Until Flg
Stm = GetTickCount
Total_Count = Total_Count + 1
Select Case Game_Mode
Case 0
Call Tytle_Action
Case 1
Call Stage_Count
Call Player_Action
Call Enemy_Action
Call P_Shot_Action
Call E_Shot_Action
Call Burst_Action
UserForm1.Lab_Score.Caption = Format(Score, "00000000")
Case 2
MsgBox "Game Over!!"
Flg = True
Case 3
MsgBox "Clear!!"
Flg = True
End Select
DoEvents
Do
Call Sleep(1)
Loop Until GetTickCount - Stm > 30
If GetAsyncKeyState(27) < 0 Then Flg = True
Loop
End Sub
'¥á¥¤¥ó¥ë¡¼¥×¤È¤Ê¤ë¥×¥í¥·¡¼¥¸¥ãDim Flg As Boolean
Dim Stm As Long
Init
Flg = False
Do Until Flg
Stm = GetTickCount
Total_Count = Total_Count + 1
Select Case Game_Mode
Case 0
Call Tytle_Action
Case 1
Call Stage_Count
Call Player_Action
Call Enemy_Action
Call P_Shot_Action
Call E_Shot_Action
Call Burst_Action
UserForm1.Lab_Score.Caption = Format(Score, "00000000")
Case 2
MsgBox "Game Over!!"
Flg = True
Case 3
MsgBox "Clear!!"
Flg = True
End Select
DoEvents
Do
Call Sleep(1)
Loop Until GetTickCount - Stm > 30
If GetAsyncKeyState(27) < 0 Then Flg = True
Loop
End Sub
¿§¤Ä¤¤Ë¤Ê¤Ã¤Æ¤¤¤ëÉôʬ¤¬¡¢Äɲ䵤줿Éôʬ¤Ç¤¹¡£
º£¤Þ¤Ç¤Ï¡¢Ä¾ÀÜ¥²¡¼¥à¥×¥ì¥¤Ãæ¤Î½èÍý¤ò¸Æ¤Ó½Ð¤·¤Æ¤¤¤ë¤À¤±¤Ç¤·¤¿¡£¤·¤«¤·¡¢º£²ó¤ÎÊѹ¹¤Ëȼ¤Ã¤Æ¡¢¥²¡¼¥à¤Î³Æ¿Ê¹Ô¾õÂ֤˱þ¤¸¤¿½èÍý¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
²«¿§¤¤»ú¤Çɽ¼¨¤µ¤ì¤Æ¤¤¤ë¡¢
Tytle_Action¤È¤¤¤¦¥×¥í¥·¡¼¥¸¥ã¤Ï¡¢¤Þ¤ÀºîÀ®¤·¤Æ¤¤¤Ê¤¤¥×¥í¥·¡¼¥¸¥ã¤Ç¤¹¡£¤³¤Î¥×¥í¥·¡¼¥¸¥ã¤Ï¡¢¥¿¥¤¥È¥ë²èÌ̤«¤éÄ̾ï¤Î¥²¡¼¥à¥×¥ì¥¤Ãæ¤Î½èÍý¤Ë°Ü¹Ô¤¹¤ëºÝ¤Ë¡¢¥¿¥¤¥È¥ë¥í¥´¤ò¾Ã¤¹Ìò³ä¤ò²Ì¤¿¤¹¥×¥í¥·¡¼¥¸¥ã¤Ç¤¹¡£¤³¤Î¥×¥í¥·¡¼¥¸¥ã¤òºîÀ®¤¹¤ì¤Ð¡¢¥¿¥¤¥È¥ë²èÌ̤μÂÁõ¤Ï´°Î»¤Ç¤¹¡£
¢£¥¿¥¤¥È¥ë¥í¥´¤Î½èÍý
¤½¤ì¤Ç¤Ï¡¢¥¿¥¤¥È¥ë¤Î¥¢¥¯¥·¥ç¥ó¤ò¹Ô¤¦¥×¥í¥·¡¼¥¸¥ã¡Ø
Tytle_Action¡Ù¤òºîÀ®¤·¤Þ¤·¤ç¤¦¡£¤³¤Î¥×¥í¥·¡¼¥¸¥ã¤Ï¡¢¥²¡¼¥à¤Î³«»Ï¤ÈƱ»þ¤Ë²èÌ̾å¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥¿¥¤¥È¥ë¥í¥´¤ò¡¢²èÌ̾夫¤é¾Ã¤¹¤È¤¤Î¥¢¥¯¥·¥ç¥ó¤ò¹Ô¤¦¥×¥í¥·¡¼¥¸¥ã¤Ç¤¹¡£
¤¿¤À¥Ñ¥Ã¤È¾Ã¤¨¤Æ¤·¤Þ¤¦¤Î¤Ç¤Ï¤Ä¤Þ¤é¤Ê¤¤¤Î¤Ç¡¢¥¿¥¤¥È¥ë¥í¥´¤¬²£¤Ë¥¹¥é¥¤¥É¤·¤Æ²èÌ̳°¤Ø¤È¾Ã¤¨¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Æ¤ß¤Þ¤¹¡£
Sub Tytle_Action()
With UserForm1
.Lab_Cap1.Left = .Lab_Cap1.Left + 3
.Lab_Cap2.Left = .Lab_Cap2.Left - 3
If .Lab_Cap1.Left > 200 Then
.Lab_Cap1.Visible = False
.Lab_Cap2.Visible = False
Game_Mode = 1
End If
End With
End Sub
With UserForm1
.Lab_Cap1.Left = .Lab_Cap1.Left + 3
'¡.Lab_Cap2.Left = .Lab_Cap2.Left - 3
'¡If .Lab_Cap1.Left > 200 Then
.Lab_Cap1.Visible = False
.Lab_Cap2.Visible = False
Game_Mode = 1
'¢End If
End With
End Sub
¤³¤Î¥×¥í¥·¡¼¥¸¥ã¤Ï¡¢¸Æ¤Ó½Ð¤µ¤ì¤ë¤¿¤Ó¤Ë¥é¥Ù¥ë¤ò°Üư¤¹¤ë¤À¤±¤Î¥×¥í¥·¡¼¥¸¥ã¤Ç¤¹¡£
¡¤ÎÉôʬ¤Ç¼¨¤¹¤è¤¦¤Ë¡¢Ëè²ó¥é¥Ù¥ë¤Î°ÌÃÖ¤ò£³¥Ý¥¤¥ó¥È¤º¤Ä°Üư¤·¤Æ¤¤¤ë¤À¤±¤Ç¤¹¡£¤¿¤À¤·¡¢
Lab_Cap1¤¬²èÌ̤γ°¤Ë½Ð¤¿Ãʳ¬¤Ç¡¢¥²¡¼¥à¤Î¿Ê¹Ô¾õÂÖ¤òÀÚ¤êÂØ¤¨¤Æ¤¤¤Þ¤¹¡£¤½¤ì¤¬¢¤ÎÉôʬ¡£¥²¡¼¥à¤Î¥â¡¼¥É¤ò¡¢¥¿¥¤¥È¥ë²èÌ̤Υ¢¥¯¥·¥ç¥ó¤«¤é¡¢¥²¡¼¥à¤Î¥×¥ì¥¤Ãæ¤ËÊѹ¹¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤¹¤Í¡£¢£¤Þ¤È¤á
º£²ó¤Ï¡¢¥á¥¤¥ó¥×¥í¥»¥¹¤ÎÉôʬ¤òÊѹ¹¤¹¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢¤Á¤ç¤Ã¤ÈÊ£»¨¤Ë´¶¤¸¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤Ç¤¹¤¬¡¢½ç¤òÄɤäƤҤȤĤҤȤĤ³¤Ê¤·¤Æ¤¤¤±¤Ð¡¢¤¤Ã¤ÈÂç¾æÉפʤϤº¤Ç¤¹¡£
¥Ý¥¤¥ó¥È¤È¤Ê¤ë¤Î¤Ï¡¢¥²¡¼¥à¤Î¿Ê¹Ô¾õ¶·¤Ë¤è¤Ã¤Æ¡¢½èÍý¤òʬ´ô¤¹¤ë¤È¤¤¤¦»ÅÁȤߤǤ¹¡£
Á´¤Æ¤Î¥³¡¼¥É¤ò·ÇºÜ¤·¤Þ¤¹¤Î¤Ç¡¢¿§¤¬ÉÕ¤¤¤Æ¤¤¤ëÉôʬ¤òÃæ¿´¤Ë¡¢Á´ÂÎÁü¤ò¤¦¤Þ¤¯Çİ®¤·¤Æ¤¯¤À¤µ¤¤¡£
'ɸ½à¥â¥¸¥å¡¼¥ëÀèÆ¬Éôʬ
'¢¡API¡¡Àë¸ÀDeclare Function GetTickCount Lib "kernel32" () As Long
Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMillsecounds As Long)
'¢£¥¥ã¥é¥¯¥¿¡¼¡¡¹½Â¤ÂÎÀë¸ÀType Chara
X As Single
Y As Single
W As Single
H As Single
Lif As Long
Typ As Long
Par As Long
End Type
'¢£¥·¥ç¥Ã¥È¡¡¹½Â¤ÂÎÀë¸ÀType Shot
X As Single
Y As Single
Vis As Boolean
Typ As Long
End Type
'¢£ÈÆÍÑ¥ª¥Ö¥¸¥§¥¯¥È¡¡¹½Â¤ÂÎÀë¸ÀType Obj
X As Single
Y As Single
W As Single
H As Single
Par As Long
End Type
'¡ü¥¥ã¥é¥¯¥¿¡¼¡¡ÊÑ¿ôÀë¸ÀPublic Player_Data As Chara
Public Enemy_Data(9) As Chara
'¡ü¥·¥ç¥Ã¥È¡¡ÊÑ¿ôÀë¸ÀPublic P_Shot_Data(4) As Shot
Public E_Shot_Data(9) As Shot
'¡üÈÆÍÑ¥ª¥Ö¥¸¥§¥¯¥È¡¡ÊÑ¿ôÀë¸ÀPublic Burst_Data(2) As Obj
'¡ý¤½¤Î¾¡¡ÊÑ¿ôÀë¸ÀPublic Shot_Interval As Long
Public Total_Count As Long
'¥²¡¼¥àÃæ¤Î¥«¥¦¥ó¥¿Public Player_Stock As Long
'¥×¥ì¥¤¥ä¡¼¤Î»Äµ¡¿ôPublic Score As Long
'¥²¡¼¥à¤Î¥¹¥³¥¢Public Game_Mode As Long
'¸½ºß¤Î¥²¡¼¥à¥â¡¼¥É'£°¡á¥¿¥¤¥È¥ë'£±¡á¥²¡¼¥àÃæ'£²¡á¥²¡¼¥à¥ª¡¼¥Ð¡¼'£³¡á¥²¡¼¥à¥¯¥ê¥¢'¢¥Äê¿ôÀë¸ÀPublic Const Left_Key As Long = 37
'¥«¡¼¥½¥ëº¸Public Const Up_Key As Long = 38
'¥«¡¼¥½¥ë¾åPublic Const Right_Key As Long = 39
'¥«¡¼¥½¥ë±¦Public Const Down_Key As Long = 40
'¥«¡¼¥½¥ë²¼Public Const Esc_Key As Long = 27
'£Å£ó£ã¥¡¼Public Const Shot_Key As Long = 90
'£Ú¥¡¼Public Const Player_Size As Single = 9
'¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤Î¼ÂºÝ¤ÎÂ礤µPublic Const Shot_Size As Single = 3
'ÃÆ³Æ¼ï¤Î¼ÂºÝ¤ÎÂ礤µPublic Const Enemy_Size As Single = 9
'Ũ¥¥ã¥é¥¯¥¿¡¼¤Î¼ÂºÝ¤ÎÂ礤µPublic Const Burst_Size As Single = 15
'Çúȯ¥¨¥Õ¥§¥¯¥È¤Î¼ÂºÝ¤ÎÂ礤µ'½é´ü²½¤òôÅö¤¹¤ë¥×¥í¥·¡¼¥¸¥ãSub Init()
With Player_Data
.X = 100
.Y = 210
.W = 3
.H = 3
.Lif = 1
.Typ = 0
.Par = 1
End With
Erase P_Shot_Data
Erase E_Shot_Data
Erase Enemy_Data
Erase Burst_Data
Shot_Interval = 0
Total_Count = 0
Player_Stock = 2
Score = 0
Game_Mode = 0
With UserForm1.Player
.Visible = True
.Top = 200
End With
UserForm1.Lab_Score.Caption = "00000000"
End Sub
'¥á¥¤¥ó¥×¥í¥»¥¹¤òôÅö¤¹¤ë¥×¥í¥·¡¼¥¸¥ãSub Main()
Dim Flg As Boolean
Dim Stm As Long
Init
Flg = False
Do Until Flg
Stm = GetTickCount
Total_Count = Total_Count + 1
Select Case Game_Mode
Case 0
Call Tytle_Action
Case 1
Call Stage_Count
Call Player_Action
Call Enemy_Action
Call P_Shot_Action
Call E_Shot_Action
Call Burst_Action
UserForm1.Lab_Score.Caption = Format(Score, "00000000")
Case 2
MsgBox "Game Over!!"
Flg = True
Case 3
MsgBox "Clear!!"
Flg = True
End Select
DoEvents
Do
Call Sleep(1)
Loop Until GetTickCount - Stm > 30
If GetAsyncKeyState(27) < 0 Then Flg = True
Loop
End Sub
'¥¿¥¤¥È¥ë¤Î¥¢¥¯¥·¥ç¥ó¤ò´ÉÍý¤¹¤ë¥×¥í¥·¡¼¥¸¥ãSub Tytle_Action()
With UserForm1
.Lab_Cap1.Left = .Lab_Cap1.Left + 3
.Lab_Cap2.Left = .Lab_Cap2.Left - 3
If .Lab_Cap1.Left > 200 Then
.Lab_Cap1.Visible = False
.Lab_Cap2.Visible = False
Game_Mode = 1
End If
End With
End Sub
'Ũ¥¥ã¥é¥¯¥¿¡¼¤Î½Ð¸½´ÉÍý¥×¥í¥·¡¼¥¸¥ãSub Stage_Count()
Randomize
Select Case Total_Count Mod 200
Case 0
Call Enemy_Begin(Int(Rnd * 120) + 40, -10, 1)
Case 50
Call Enemy_Begin(Int(Rnd * 120) + 40, -10, 2)
Case 100
Call Enemy_Begin(Int(Rnd * 120) + 40, -10, 3)
End Select
End Sub
'¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤òôÅö¤¹¤ë¥×¥í¥·¡¼¥¸¥ãSub Player_Action()
Dim S As Single
Dim SS As Single
Randomize
With Player_Data
If .Lif > 0 Then
If .Par > 0 Then
If .Y > 180 Then
.Y = .Y - 1
Else
.Par = 0
End If
Else
If GetAsyncKeyState(Left_Key) < 0 Then .X = .X - 3
If GetAsyncKeyState(Up_Key) < 0 Then .Y = .Y - 3
If GetAsyncKeyState(Right_Key) < 0 Then .X = .X + 3
If GetAsyncKeyState(Down_Key) < 0 Then .Y = .Y + 3
If .X - Player_Size < 0 Then .X = Player_Size
If .X + Player_Size > 200 Then .X = 200 - Player_Size
If .Y - Player_Size < 0 Then .Y = Player_Size
If .Y + Player_Size > 200 Then .Y = 200 - Player_Size
If Shot_Interval = 0 Then
If GetAsyncKeyState(Shot_Key) < 0 Then
Call P_Shot_Begin(.X, .Y, 1)
Shot_Interval = 1
End If
Else
Shot_Interval = Shot_Interval + 1
If Shot_Interval > 7 Then Shot_Interval = 0
End If
End If
Else
.Par = .Par + 1
If .Par > 50 Then
.X = 100
.Y = 210
.Lif = 1
.Par = 1
Player_Stock = Player_Stock - 1
Select Case Player_Stock
Case Is < 0
Game_Mode = 2
Case 0
UserForm1.Stock1.Visible = False
Case 1
UserForm1.Stock2.Visible = False
End Select
Else
If .Par Mod 9 = 1 Then
S = Int(Rnd * 20) - 9
SS = Int(Rnd * 20) - 9
Call Burst_Begin(.X + S, .Y + SS)
End If
End If
End If
With UserForm1.Player
.Left = Player_Data.X - Player_Size
.Top = Player_Data.Y - Player_Size
End With
End With
End Sub
'¥·¥ç¥Ã¥ÈÀ¸À®¥×¥í¥·¡¼¥¸¥ãSub P_Shot_Begin(X As Single, Y As Single, Typ As Long)
Dim L As Long
For L = 0 To 4
With P_Shot_Data(L)
If Not .Vis Then
.X = X
.Y = Y
.Typ = Typ
.Vis = True
UserForm1.Controls("P_Shot" & L + 1).Visible = True
Exit For
End If
End With
Next
End Sub
'¥·¥ç¥Ã¥È°Üư´ÉÍý¥×¥í¥·¡¼¥¸¥ãSub P_Shot_Action()
Dim L As Long
Dim LL As Long
For L = 0 To 4
With P_Shot_Data(L)
If .Vis Then
.Y = .Y - 6
If .Y < -5 Then .Vis = False
For LL = 0 To 9
If Enemy_Data(LL).Lif > 0 Then
If .X - 2 < Enemy_Data(LL).X + Enemy_Data(LL).W Then
If .X + 2 > Enemy_Data(LL).X - Enemy_Data(LL).W Then
If .Y - 2 < Enemy_Data(LL).Y + Enemy_Data(LL).H Then
If .Y + 2 > Enemy_Data(LL).Y - Enemy_Data(LL).H Then
.Vis = False
With Enemy_Data(LL)
Call Burst_Begin(.X, .Y)
.Lif = 0
End With
Score = Score + 100
Exit For
End If
End If
End If
End If
End If
Next
With UserForm1.Controls("P_Shot" & L + 1)
If P_Shot_Data(L).Vis Then
.Left = P_Shot_Data(L).X - Shot_Size
.Top = P_Shot_Data(L).Y - Shot_Size
Else
.Visible = False
End If
End With
End If
End With
Next
End Sub
'Ũ¥¥ã¥é¥¯¥¿¡¼À¸À®¥×¥í¥·¡¼¥¸¥ãSub Enemy_Begin(X As Single, Y As Single, Typ As Long)
Dim L As Long
For L = 0 To 9
With Enemy_Data(L)
If .Lif = 0 Then
.X = X
.Y = Y
.W = 5
.H = 5
.Typ = Typ
.Lif = 1
.Par = 0
With UserForm1.Controls("Enemy" & L + 1)
.Visible = True
Select Case Typ
Case 1
.Picture = UserForm1.Enemy_s1.Picture
Case 2, 3
.Picture = UserForm1.Enemy_s2.Picture
End Select
End With
Exit For
End If
End With
Next
End Sub
'Ũ¥¥ã¥é¥¯¥¿¡¼¤òôÅö¤¹¤ë¥×¥í¥·¡¼¥¸¥ãSub Enemy_Action()
Dim L As Long
Dim TCMOD
TCMOD = Total_Count Mod 30
For L = 0 To 9
With Enemy_Data(L)
If .Lif > 0 Then
Select Case .Typ
Case 1
.Y = .Y + 1.5
Case 2
.X = .X + 0.5
.Y = .Y + 1
Case 3
.X = .X - 0.5
.Y = .Y + 1
End Select
If .X > 220 Then .Lif = 0
If .Y > 220 Then .Lif = 0
If .X < -20 Then .Lif = 0
If .Y < -20 Then .Lif = 0
If TCMOD = 0 Then
Select Case .Typ
Case 2
.Typ = 3
Case 3
.Typ = 2
End Select
Call E_Shot_Begin(.X, .Y + 2, .Typ)
End If
End If
End With
With UserForm1.Controls("Enemy" & L + 1)
If Enemy_Data(L).Lif > 0 Then
.Left = Enemy_Data(L).X - Enemy_Size
.Top = Enemy_Data(L).Y - Enemy_Size
Else
.Visible = False
End If
End With
Next
End Sub
'Ũ¥¥ã¥é¥¯¥¿¡¼¥·¥ç¥Ã¥ÈÀ¸À®¥×¥í¥·¡¼¥¸¥ãSub E_Shot_Begin(X As Single, Y As Single, Typ As Long)
Dim L As Long
For L = 0 To 9
With E_Shot_Data(L)
If Not .Vis Then
.X = X
.Y = Y
.Typ = Typ
.Vis = True
With UserForm1.Controls("E_Shot" & L + 1)
.Visible = True
End With
Exit For
End If
End With
Next
End Sub
'Ũ¥¥ã¥é¥¯¥¿¡¼¥·¥ç¥Ã¥È°Üư´ÉÍý¥×¥í¥·¡¼¥¸¥ãSub E_Shot_Action()
Dim L As Long
Dim LL As Long
For L = 0 To 9
With E_Shot_Data(L)
If .Vis Then
Select Case .Typ
Case 1
.Y = .Y + 4.5
Case 2
.X = .X + 0.5
.Y = .Y + 3.5
Case 3
.X = .X - 0.5
.Y = .Y + 3.5
End Select
If .X > 205 Then .Vis = 0
If .Y > 205 Then .Vis = 0
If .X < -5 Then .Vis = 0
If .Y < -5 Then .Vis = 0
If .X - 2 < Player_Data.X + Player_Data.W Then
If .X + 2 > Player_Data.X - Player_Data.W Then
If .Y - 2 < Player_Data.Y + Player_Data.H Then
If .Y + 2 > Player_Data.Y - Player_Data.H Then
.Vis = False
With Player_Data
Call Burst_Begin(.X, .Y)
.Lif = 0
End With
End If
End If
End If
End If
With UserForm1.Controls("E_Shot" & L + 1)
If E_Shot_Data(L).Vis Then
.Left = E_Shot_Data(L).X - Shot_Size
.Top = E_Shot_Data(L).Y - Shot_Size
Else
.Visible = False
End If
End With
End If
End With
Next
End Sub
'Çúȯ¥¨¥Õ¥§¥¯¥ÈÀ¸À®¥×¥í¥·¡¼¥¸¥ãSub Burst_Begin(X As Single, Y As Single)
Dim L As Long
For L = 0 To 2
With Burst_Data(L)
If .Par = 0 Then
.X = X
.Y = Y
.W = Burst_Size
.H = Burst_Size
.Par = 1
UserForm1.Controls("Burst" & L + 1).Visible = True
Exit For
End If
End With
Next
End Sub
'Çúȯ¥¨¥Õ¥§¥¯¥È´ÉÍý¥×¥í¥·¡¼¥¸¥ãSub Burst_Action()
Dim L As Long
Dim Pict As Long
For L = 0 To 2
With Burst_Data(L)
If .Par > 0 Then
Select Case .Par
Case 1
Pict = 1
Case 2, 3
Pict = 2
Case 4, 5
Pict = 3
Case 6, 7
Pict = 4
Case 8
Pict = 5
Case 9
.Par = -1
End Select
.Par = .Par + 1
With UserForm1.Controls("Burst" & L + 1)
If Burst_Data(L).Par > 0 Then
.Left = Burst_Data(L).X - Burst_Size
.Top = Burst_Data(L).Y - Burst_Size
.Picture = UserForm1.Controls("Burst_s" & Pict).Picture
Else
.Visible = False
End If
End With
End If
End With
Next
End Sub
'ɸ½à¥â¥¸¥å¡¼¥ë¤Ï¤³¤³¤Þ¤Ç'¤³¤³¤«¤é²¼¤Ï¥Õ¥©¡¼¥à¥â¥¸¥å¡¼¥ë¤Ëµ½Ò'¥³¥Þ¥ó¥É¥Ü¥¿¥ó¤Î¥¯¥ê¥Ã¥¯¥¤¥Ù¥ó¥ÈPrivate Sub Com_Start_Click()
Com_Start.Enabled = False
Call Main
Unload UserForm1
End Sub
'¥æ¡¼¥¶¡¼¥Õ¥©¡¼¥à¤Î¥¯¥¨¥ê¥¯¥í¡¼¥¹¥¤¥Ù¥ó¥ÈPrivate Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
End
End Sub
'¥æ¡¼¥¶¡¼¥Õ¥©¡¼¥à¤Î¥¤¥Ë¥·¥ã¥é¥¤¥º¥¤¥Ù¥ó¥ÈPrivate Sub UserForm_Initialize()
UserForm1.Width = 220
End Sub
¥²¡¼¥à¤Î¿Ê¹Ô¾õ¶·¤òɽ¤¹ÊÑ¿ô
Game_Mode¤¬¡¢¤É¤Î¤è¤¦¤Ê¥¿¥¤¥ß¥ó¥°¤ÇÊѹ¹¤µ¤ì¤Æ¤¤¤ë¤«¡¢¤³¤ì¤òÍý²ò¤¹¤ë¤³¤È¤¬ÂçÀڤǤ¹¡£¥×¥ì¥¤¥ä¡¼¥¥ã¥é¥¯¥¿¡¼¤¬£³²ó»à¤ó¤Ç¤·¤Þ¤Ã¤¿¤È¤¤Ë¤Ï¡¢¤³¤ì¤Ï¥²¡¼¥à¥ª¡¼¥Ð¡¼¤ËÁêÅö¤·¤Þ¤¹¤Î¤Ç¡¢¤³¤³¤Ç¤âÊÑ¿ô
Game_Mode¤¬Êѹ¹¤µ¤ì¤Æ¤¤¤Þ¤¹¤è¤Í¡£¤Á¤Ê¤ß¤Ë¡¢º£²ó¤ÎÊѹ¹¤ò¹Ô¤Ã¤¿»þÅÀ¤Ç¡¢¥²¡¼¥à¤Î¥¯¥ê¥¢¤Ë¤âÂбþ¤Ç¤¤ë»ÅÁȤߤˤʤäƤ¤¤Þ¤¹¡£ºÇ½ªÅª¤Ë¥²¡¼¥à¤Î¥¯¥ê¥¢¤ÈȽÃǤµ¤ì¤ë¾õ¶·¤Ë¤Ê¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ÊÑ¿ô
Game_Mode¤Ë£³¤òÀßÄꤹ¤ì¤Ð¤¤¤¤¤ï¤±¤Ç¤¹¡£¥á¥¤¥ó¥×¥í¥»¥¹¤È¤Ê¤ë¥×¥í¥·¡¼¥¸¥ã
Main¤Ç¤Ï¡¢Game_Mode¤ËÆþ¤Ã¤Æ¤¤¤ëÃͤˤè¤Ã¤Æ¡¢¥¿¥¤¥È¥ë¤Î¥¢¥¯¥·¥ç¥ó¤ò¹Ô¤Ã¤¿¤ê¡¢¥²¡¼¥à¤Î¥×¥ì¥¤Ãæ¤Î½èÍý¤ò¹Ô¤Ã¤¿¤ê¡¢¤¢¤ë¤¤¤Ï¥²¡¼¥à¥ª¡¼¥Ð¡¼¤Î¥á¥Ã¥»¡¼¥¸¤ò½Ð¤·¤¿¤ê¤È¡¢Ê¬´ô¤·¤Ê¤¬¤é½èÍý¤·¤Þ¤¹¡£¤³¤ì¤¬¤ï¤«¤Ã¤Æ¤¤¤ì¤Ð¡¢º£²ó¤Î¹ÖºÂÆâÍÆ¤Ï¤Û¤Ü´°àú¤ËÍý²ò¤Ç¤¤¿¤È¸À¤Ã¤Æ¤¤¤¤¤Ç¤·¤ç¤¦¡£
º£²ó¤â¥µ¥ó¥×¥ë¤òÍѰդ·¤Þ¤·¤¿¤Î¤Ç¡¢¼ÂºÝ¤Ëư¤«¤·¤Æ¤ß¤ë¤È¤ï¤«¤ê¤ä¤¹¤¤¤Î¤Ç¤Ï¤Ê¤¤¤«¤È»×¤¤¤Þ¤¹¡£Á´ÂΤÎή¤ì¤ò¤è¤¯Íý²ò¤·¤Æ¡¢¤æ¤Ã¤¯¤ê¤Ç¹½¤¤¤Þ¤»¤ó¤«¤é¡¢¤¬¤ó¤Ð¤Ã¤Æ½¤Àµ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¥·¥å¡¼¥Æ¥£¥ó¥°¥²¡¼¥à¤â¤³¤³¤é¤Ç¤¤¤è¤¤¤èÂçµÍ¤á¤Ç¤¹¡£¼¡²ó¤«¤é¤Ï¡¢ºÇ¸å¤ÎÆñ´Ø¡¢¥Ü¥¹¥¥ã¥é¥¯¥¿¡¼¤ò¼è¤ê¾å¤²¤Þ¤¹¡£
¥Ü¥¹¥¥ã¥é¥¯¥¿¡¼¤ò¼ÂÁõ¤Ç¤¤ì¤Ð¡¢À²¤ì¤Æ¥²¡¼¥à¤Ï´°À®¤Ç¤¹¡£
¥µ¥ó¥×¥ë¥À¥¦¥ó¥í¡¼¥É¡¡¢Í¡¡¥³¥Á¥é¤è¤ê¥À¥¦¥ó¥í¡¼¥É¤Ç¤¤Þ¤¹¡£¡ÊÊÌ´Û¡Ë
¢£³Ê¸À
¥¿¥¤¥È¥ë¤Ï¥²¡¼¥à¤Î´é
¿Ê¹Ô¾õ¶·¤Ë¹ç¤ï¤»¤Æ½èÍý¤òʬ´ô¤¹¤ë
¾õ¶·¤Ë¹ç¤ï¤»½ÀÆð¤Ë½èÍý¤Ç¤¤ë»ÅÁȤߤò¹½ÃÛ¤·¤Þ¤·¤ç¤¦¡£





