¥µ¥¤¥³¥í¥·¥å¥ß¥ì¡¼¥·¥ç¥óÀâÌÀ

´Êñ¤Ê¥×¥í¥°¥é¥à¤Îή¤ì¤È¤·¤Æ¤Ï¡¢¤Þ¤º¡¢

­¡¥Æ¥­¥¹¥È¥Ü¥Ã¥¯¥¹¤Ë¥µ¥¤¥³¥í¤Î¿¶¤ê¤¿¤¤²ó¿ô¤òÆþÎϤ·¤Þ¤¹¡£
­¢¼Â¹Ô¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¡£
­£³ÆÌܤνФ¿²ó¿ô¤È³ä¹ç¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£

¤½¤Î¾
¥¯¥ê¥¢¥Ü¥¿¥ó¤Ï¥Æ¥­¥¹¥È¥Ü¥Ã¥¯¥¹¤ÎÃæ¿È¤È¥Õ¥©¡¼¥à¤ò¥¯¥ê¥¢¤·¤Þ¤¹¡£
¤Þ¤¿º¸¾å¤Ëɽ¼¨¤µ¤ì¤ë¡¢¥µ¥¤¥³¥í¤Î²èÁü¤Ï¤¢¤Þ¤êµ¤¤Ë¤·¤Ê¤¯¤Æ¤â¤¤¤¤¤Ç¤¹¡£µ¤¤Ë¤Ê¤ë¾ì¹ç¤Ï¡¢¥á¡¼¥ë¤ÇÏ¢Íí¤·¤Æ¤¯¤À¤µ¤¤¡£ÀâÌÀ¤·¤Þ¤¹¡£¤³¤Î²èÁü¤â¥¯¥ê¥¢¥Ü¥¿¥ó¤Ç¾Ã¤»¤ë¤Î¤Ç¿´ÇÛ¤¢¤ê¤Þ¤»¤ó¡£
¥µ¥¤¥³¥í¥·¥å¥ß¥ì¡¼¥·¥ç¥ó

 
¥×¥í¥°¥é¥à¥ê¥¹¥È¡Ö¥µ¥¤¥³¥í¥·¥å¥ß¥ì¡¼¥·¥ç¥ó¡×
'Äê¿ô¤ÎÀë¸À
Private Const Sx As Integer = 100          '¥µ¥¤¥³¥í¤Î»ÏÅÀxºÂɸ
Private Const Sy As Integer = 100          '¥µ¥¤¥³¥í¤Î»ÏÅÀyºÂɸ
Private Const Ex As Integer = 1300         '¥µ¥¤¥³¥í¤Î½ªÅÀxºÂɸ
Private Const Ey As Integer = 1300         '¥µ¥¤¥³¥í¤Î½ªÅÀyºÂɸ
Private Const SLong As Integer = 1200   '¥µ¥¤¥³¥í¤ÎŤµ
Private Const Radius1 As Integer = 250  '±ß¤ÎȾ·Â(1¤Î¤È¤­)
Private Const Radius6 As Integer = 130  '±ß¤ÎȾ·Â(6¤Î¤È¤­)
Private Const Radius As Integer = 150   '±ß¤ÎȾ·Â(¤½¤Î¾)

Private Const White = &HFFFFFF           '¿§¤ÎÀßÄê Çò
Private Const Black = &H0&               '¿§¤ÎÀßÄê ¹õ
Private Const Red = &HFF&                '¿§¤ÎÀßÄê ÀÖ

Private Sub Command1_Click()

    'ÊÑ¿ô¤ÎÀë¸À
    Dim Num As Integer    '¥µ¥¤¥³¥í¤ÎÌܤòÆþ¤ì¤ëÊÑ¿ô
    Dim Num1 As Integer   '¥µ¥¤¥³¥í1¤Î¥«¥¦¥ó¥¿¡¼
    Dim Num2 As Integer   '¥µ¥¤¥³¥í2¤Î¥«¥¦¥ó¥¿¡¼
    Dim Num3 As Integer   '¥µ¥¤¥³¥í3¤Î¥«¥¦¥ó¥¿¡¼
    Dim Num4 As Integer   '¥µ¥¤¥³¥í4¤Î¥«¥¦¥ó¥¿¡¼
    Dim Num5 As Integer   '¥µ¥¤¥³¥í5¤Î¥«¥¦¥ó¥¿¡¼
    Dim Num6 As Integer   '¥µ¥¤¥³¥í6¤Î¥«¥¦¥ó¥¿¡¼
    Dim kaisuu As Integer '¿¶¤ë²ó¿ô¤òÆþ¤ì¤ëÊÑ¿ô
    Dim i As Integer      'ºî¶ÈÍѥե饰 
    
    '¥µ¥¤¥³¥í¤ò¿¶¤ë²ó¿ô¤òkaisuu¤ËÆþ¤ì¤ë
    kaisuu = Val(Text1.Text)
    
    '¥Æ¥­¥¹¥È¥Ü¥Ã¥¯¥¹¤Ë²¿¤âÆþÎϤ·¤Æ¤Ê¤¤»þ
    '¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½ÐÎÏ
    If Text1.Text = "" Then
        MsgBox ("¤Á¤ã¤ó¤ÈÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£")
    End If
    
    '¥Æ¥­¥¹¥È¥Ü¥Ã¥¯¥¹¤ÎÆþÎÏÃͤ¬0²ó¤Î»þ
    '¤³¤Î¥×¥í¥·¡¼¥¸¥ã¤òÈ´¤±¤ë
    If kaisuu = 0 Then
        Exit Sub
    End If
        
    'Íð¿ô¤Î½é´ü²½
    Randomize
    
    '·«¤êÊÖ¤¹
    For i = 1 To kaisuu Step 1
        '¥µ¥¤¥³¥í¤ÎÌܤÏ?
        Num = Int((6 * Rnd) + 1)  '1¤«¤é6¤Þ¤Ç¤ÎÀ°¿ô¤Î¤É¤ì¤«¤òNum¤Ë¤¤¤ì¤ë
    
        Select Case Num
            Case 1
                Num1 = Num1 + 1
                Sikoro1           '¥µ¥Ö¥×¥í¥·¡¼¥¸¥ãSikoro1¤Ø
            Case 2
                Num2 = Num2 + 1
                Sikoro2           '¥µ¥Ö¥×¥í¥·¡¼¥¸¥ãSikoro2¤Ø
            Case 3
                Num3 = Num3 + 1
                Sikoro3           '¥µ¥Ö¥×¥í¥·¡¼¥¸¥ãSikoro3¤Ø
            Case 4
                Num4 = Num4 + 1
                Sikoro4           '¥µ¥Ö¥×¥í¥·¡¼¥¸¥ãSikoro4¤Ø
            Case 5
                Num5 = Num5 + 1
                Sikoro5           '¥µ¥Ö¥×¥í¥·¡¼¥¸¥ãSikoro5¤Ø
            Case 6
                Num6 = Num6 + 1
                Sikoro6           '¥µ¥Ö¥×¥í¥·¡¼¥¸¥ãSikoro6¤Ø
        End Select
    Next i
    
    '½Ð¤¿Ìܤγä¹ç¤òɽ¼¨
    With Form1
        .Label11 = Format(Num1 / kaisuu * 100, "0.0") & "%"
        .Label12 = Format(Num2 / kaisuu * 100, "0.0") & "%"
        .Label13 = Format(Num3 / kaisuu * 100, "0.0") & "%"
        .Label14 = Format(Num4 / kaisuu * 100, "0.0") & "%"
        .Label15 = Format(Num5 / kaisuu * 100, "0.0") & "%"
        .Label16 = Format(Num6 / kaisuu * 100, "0.0") & "%"
        
    '²ó¿ô¤òɽ¼¨
        .Label17 = Format(Num1 & "²ó")
        .Label18 = Format(Num2 & "²ó")
        .Label19 = Format(Num3 & "²ó")
        .Label20 = Format(Num4 & "²ó")
        .Label21 = Format(Num5 & "²ó")
        .Label22 = Format(Num6 & "²ó")
        
    End With
    
    '²ó¿ô¤À¤±µá¤á¤ë¤È¤­
    'Form1.Print "1¤ÎÌܤ¬½Ð¤¿²ó¿ô¤Ï" & Num1 & "²ó¤Ç¤¹¡£"
    'Form1.Print "2¤ÎÌܤ¬½Ð¤¿²ó¿ô¤Ï" & Num2 & "²ó¤Ç¤¹¡£"
    'Form1.Print "3¤ÎÌܤ¬½Ð¤¿²ó¿ô¤Ï" & Num3 & "²ó¤Ç¤¹¡£"
    'Form1.Print "4¤ÎÌܤ¬½Ð¤¿²ó¿ô¤Ï" & Num4 & "²ó¤Ç¤¹¡£"
    'Form1.Print "5¤ÎÌܤ¬½Ð¤¿²ó¿ô¤Ï" & Num5 & "²ó¤Ç¤¹¡£"
    'Form1.Print "6¤ÎÌܤ¬½Ð¤¿²ó¿ô¤Ï" & Num6 & "²ó¤Ç¤¹¡£"
    
End Sub

'½ªÎ»
Private Sub Command2_Click()
    End
End Sub

Private Sub Sikoro1()

    '¥µ¥¤¥³¥í1¤ÎÉÁ¼Ì
    Form1.Line (Sx, Sy)-(Ex, Ey), White, BF
    Form1.Line (Sx, Sy)-(Ex, Ey), Black, B
    FillColor = Red  ' FillColor¤òÀÖ¤ËÀßÄꤷ¤Þ¤¹
    FillStyle = 0    ' FillStyle¤ò0-Åɤê¤Ä¤Ö¤·¤Ë¤·¤Þ¤¹
    Form1.Circle (Sx + SLong * (1 / 2), Sy + SLong * (1 / 2)), Radius1, Red '±ß¤ÎÉÁ¼Ì
    FillStyle = 1    ' FillStyle¤ò1-Æ©ÌÀ¤Ë¤·¤Þ¤¹

End Sub

Private Sub Sikoro2()

    '¥µ¥¤¥³¥í2¤ÎÉÁ¼Ì
    Form1.Line (Sx, Sy)-(Ex, Ey), White, BF
    Form1.Line (Sx, Sy)-(Ex, Ey), Black, B
    FillColor = Black  ' FillColor¤òÀÖ¤ËÀßÄꤷ¤Þ¤¹
    FillStyle = 0    ' FillStyle¤ò0-Åɤê¤Ä¤Ö¤·¤Ë¤·¤Þ¤¹
    Form1.Circle (Sx + SLong * (1 / 3), Sy + SLong * (1 / 3)), Radius, Black '±ß¤ÎÉÁ¼Ì
    Form1.Circle (Sx + SLong * (2 / 3), Sy + SLong * (2 / 3)), Radius, Black '±ß¤ÎÉÁ¼Ì
    FillStyle = 1    ' FillStyle¤ò1-Æ©ÌÀ¤Ë¤·¤Þ¤¹

End Sub
Private Sub Sikoro3()

    '¥µ¥¤¥³¥í3¤ÎÉÁ¼Ì
    Form1.Line (Sx, Sy)-(Ex, Ey), White, BF
    Form1.Line (Sx, Sy)-(Ex, Ey), Black, B
    FillColor = Black  ' FillColor¤òÀÖ¤ËÀßÄꤷ¤Þ¤¹
    FillStyle = 0    ' FillStyle¤ò0-Åɤê¤Ä¤Ö¤·¤Ë¤·¤Þ¤¹
    Form1.Circle (Sx + SLong * (1 / 4), Sy + SLong * (1 / 4)), Radius, Black '±ß¤ÎÉÁ¼Ì
    Form1.Circle (Sx + SLong * (2 / 4), Sy + SLong * (2 / 4)), Radius, Black '±ß¤ÎÉÁ¼Ì
    Form1.Circle (Sx + SLong * (3 / 4), Sy + SLong * (3 / 4)), Radius, Black '±ß¤ÎÉÁ¼Ì
    FillStyle = 1    ' FillStyle¤ò1-Æ©ÌÀ¤Ë¤·¤Þ¤¹

End Sub
Private Sub Sikoro4()

    '¥µ¥¤¥³¥í4¤ÎÉÁ¼Ì
    Form1.Line (Sx, Sy)-(Ex, Ey), White, BF
    Form1.Line (Sx, Sy)-(Ex, Ey), Black, B
    FillColor = Black  ' FillColor¤òÀÖ¤ËÀßÄꤷ¤Þ¤¹
    FillStyle = 0    ' FillStyle¤ò0-Åɤê¤Ä¤Ö¤·¤Ë¤·¤Þ¤¹
    For i = 1 To 3 Step 2
        For j = 1 To 3 Step 2
                Form1.Circle (Sx + SLong * (j / 4), Sy + SLong * (i / 4)), Radius, Black '±ß¤ÎÉÁ¼Ì(4¤Ä)
        Next j
    Next i
    FillStyle = 1    ' FillStyle¤ò1-Æ©ÌÀ¤Ë¤·¤Þ¤¹

End Sub
Private Sub Sikoro5()

    '¥µ¥¤¥³¥í5¤ÎÉÁ¼Ì
    Form1.Line (Sx, Sy)-(Ex, Ey), White, BF
    Form1.Line (Sx, Sy)-(Ex, Ey), Black, B
    FillColor = Black  ' FillColor¤òÀÖ¤ËÀßÄꤷ¤Þ¤¹
    FillStyle = 0    ' FillStyle¤ò0-Åɤê¤Ä¤Ö¤·¤Ë¤·¤Þ¤¹
    For i = 1 To 3 Step 2
        For j = 1 To 3 Step 2
                Form1.Circle (Sx + SLong * (j / 4), Sy + SLong * (i / 4)), Radius, Black '±ß¤ÎÉÁ¼Ì(4¤Ä)
        Next j
    Next i
    Form1.Circle (Sx + SLong * (2 / 4), Sy + SLong * (2 / 4)), Radius, Black '±ß¤ÎÉÁ¼Ì
    FillStyle = 1    ' FillStyle¤ò1-Æ©ÌÀ¤Ë¤·¤Þ¤¹

End Sub

Private Sub Sikoro6()

    '¥µ¥¤¥³¥í6¤ÎÉÁ¼Ì
    Form1.Line (Sx, Sy)-(Ex, Ey), White, BF
    Form1.Line (Sx, Sy)-(Ex, Ey), Black, B
    FillColor = Black  ' FillColor¤òÀÖ¤ËÀßÄꤷ¤Þ¤¹
    FillStyle = 0    ' FillStyle¤ò0-Åɤê¤Ä¤Ö¤·¤Ë¤·¤Þ¤¹
    For i = 1 To 3
        For j = 1 To 3 Step 2
                Form1.Circle (Sx + SLong * (j / 4), Sy + SLong * (i / 4)), Radius6, Black '±ß¤ÎÉÁ¼Ì(6¤Ä)
        Next j
    Next i
    FillStyle = 1    ' FillStyle¤ò1-Æ©ÌÀ¤Ë¤·¤Þ¤¹
End Sub

'¥¯¥ê¥¢
Private Sub Command3_Click()

    Text1.Text = ""
    Form1.Cls
    Text1.SetFocus
    
End Sub

'¥Õ¥©¡¼¥à¥í¡¼¥É»þ¤Ë¤É¤¦¤¹¤ë¤«
Private Sub Form_Load()

    Command1.Enabled = False

End Sub

'¥Æ¥­¥¹¥È1Change¥¤¥Ù¥ó¥È
Private Sub Text1_Change()

    If Text1.Text = "" Then
        Command1.Enabled = False
    Else
        Command1.Enabled = True
    End If

End Sub

'¥¢¥¹¥­¡¼¥³¡¼¥É¤Î»ÈÍÑ
'¿ô»ú°Ê³°¤ÏÆþÎϤǤ­¤Ê¤¤
Private Sub Text1_KeyPress(KeyAscii As Integer)
     If KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 8 Then
     Else
          KeyAscii = 0 'NULL¤È¤¤¤¦¤³¤È¡ª
     End If

End Sub