このきなんのき


書き直した形跡があるが捏造ではなく素で間違えた。
将来が暗そうな理系じゃなくて文学とかやりたいから文系に移ろうかな…


注:正解はx=-21です。



冗談も大概にしてくれ…どう考えても生粋のマイラーであるマイティスピードが凱旋門賞へ行って勝てるわけないじゃないか!*1

ウルトラpre記法を使ってみた。結構使えるジャマイカ

Sub Weekstart()

Dim Money
Dim GIWinning
Dim Years
Dim Weeks
Dim Horses

Money = Cells(4, 4).Value
Years = Cells(5, 4).Value
Weeks = Cells(5, 6).Value
GIWinning = Cells(6, 4).Value
Horses = Cells(7, 4).Value

'Weeksに1を足す

Weeks = Weeks + 1

'Weeksが4の倍数+1であった場合は維持費20万×頭数を支出

Select Case Weeks
    Case 5
    Money = Money - (Horses * 20)
    Case 9
    Money = Money - (Horses * 20)
    Case 13
    Money = Money - (Horses * 20)
    Case 17
    Money = Money - (Horses * 20)
    Case 21
    Money = Money - (Horses * 20)
    Case 25
    Money = Money - (Horses * 20)
    Case 29
    Money = Money - (Horses * 20)
    Case 33
    Money = Money - (Horses * 20)
    Case 37
    Money = Money - (Horses * 20)
    Case 41
    Money = Money - (Horses * 20)
    Case 45
    Money = Money - (Horses * 20)
    Case 49
    Money = Money - (Horses * 20)
    Case 53
    Money = Money - (Horses * 20)

End Select

'Weeksが4の倍数+1であり、かつ難易度がLunaticである場合はさらに10万×頭数+53週のみ500万(牧場維持費)を支出

If Worksheets("Sheet1").Range("F6") = "Lunatic" Then
Select Case Weeks
    Case 5
    Money = Money - (Horses * 10)
    Case 9
    Money = Money - (Horses * 10)
    Case 13
    Money = Money - (Horses * 10)
    Case 17
    Money = Money - (Horses * 10)
    Case 21
    Money = Money - (Horses * 10)
    Case 25
    Money = Money - (Horses * 10)
    Case 29
    Money = Money - (Horses * 10)
    Case 33
    Money = Money - (Horses * 10)
    Case 37
    Money = Money - (Horses * 10)
    Case 41
    Money = Money - (Horses * 10)
    Case 45
    Money = Money - (Horses * 10)
    Case 49
    Money = Money - (Horses * 10)
    Case 53
    Money = Money - (Horses * 10) - 500

End Select
End If

'値が52を超えていた場合は1に戻し、Yearsを1進める
   
If Weeks > 52 Then
    Years = Years + 1
    Weeks = 1
End If

'種付した週になったら幼駒誕生

    Dim Name As String
    Dim ans As Integer
    Dim PapaName As String
    Dim MamapapaName As String
    Dim PapaLine As String
    Dim Price As Long
    Dim Colls As Byte
    Dim Gender As Double

If Weeks = Range("H10") Then

'リストを上から見ていき、埋まっていた場合は1行ずつずらす。入りきれない場合は評価額の半分で売却
If Worksheets("幼駒リスト").Range("A2") = "" Then

    Colls = 2

ElseIf Worksheets("幼駒リスト").Range("A3") = "" Then

    Colls = 3

ElseIf Worksheets("幼駒リスト").Range("A4") = "" Then

    Colls = 4

ElseIf Worksheets("幼駒リスト").Range("A5") = "" Then

    Colls = 5

ElseIf Worksheets("幼駒リスト").Range("A6") = "" Then

    Colls = 6

Else
        ans = MsgBox("幼駒が誕生しましたが、牧場が一杯なので売却しました。", vbOKOnly + vbInfomation, "売却")
        Money = Money + (Worksheets("FlagData").Range("C10") / 2)
        GoTo Rabel002
End If

Gender = Rnd()

    ans = MsgBox("幼駒が誕生しました。名前をつけましょう。", vbOKOnly + vbInfomation, "幼駒誕生")
    PapaName = Worksheets("FlagData").Range("B10")
    Price = Worksheets("FlagData").Range("C10") + Int((2500 - -2500 + 1) * Rnd - 3000)
    MamapapaName = Worksheets("繁殖牝馬リスト").Range("D2")
    
    If Gender < 0.492 Then
        Worksheets("幼駒リスト").Cells(Colls, 7) = "牡"
    Else
        Worksheets("幼駒リスト").Cells(Colls, 7) = "牝"
    End If

Rabel001:
    Name = InputBox("幼駒の名前を入力してください" & vbNewLine & Worksheets("幼駒リスト").Cells(Colls, 7) + "馬" & vbNewLine & "父:" + PapaName & vbNewLine & "母父:" + MamapapaName, "命名", "")
        If Name <> "" Then
            Worksheets("幼駒リスト").Cells(Colls, 1).Value = Name
            Else
            ans = MsgBox("名前は決めましょう。", vbOKOnly + vbCritical, "名無しの権兵衛はダメ!")
            GoTo Rabel001
        End If
        
        Worksheets("幼駒リスト").Cells(Colls, 2) = Price
        Worksheets("幼駒リスト").Cells(Colls, 3) = Worksheets("FlagData").Range("D10")
        Worksheets("幼駒リスト").Cells(Colls, 4) = PapaName
        Worksheets("幼駒リスト").Cells(Colls, 5) = MamapapaName
        Worksheets("幼駒リスト").Cells(Colls, 6) = Worksheets("FlagData").Range("H10")
        Worksheets("幼駒リスト").Cells(Colls, 8) = Worksheets("FlagData").Range("E10")
        Worksheets("幼駒リスト").Cells(Colls, 9) = Worksheets("FlagData").Range("F10")
        Worksheets("幼駒リスト").Cells(Colls, 10) = Worksheets("FlagData").Range("G10")
        
'種付した週、種付した牡馬の情報を消し、種付可能な状態にする。
Rabel002:
Worksheets("Sheet1").Activate
Worksheets("FlagData").Range("A10:H10") = ""

End If



If Weeks = Range("H11") Then

'リストを上から見ていき、埋まっていた場合は1行ずつずらす。入りきれない場合は評価額の半分で売却
If Worksheets("幼駒リスト").Range("A2") = "" Then

    Colls = 2

ElseIf Worksheets("幼駒リスト").Range("A3") = "" Then

    Colls = 3

ElseIf Worksheets("幼駒リスト").Range("A4") = "" Then

    Colls = 4

ElseIf Worksheets("幼駒リスト").Range("A5") = "" Then

    Colls = 5

ElseIf Worksheets("幼駒リスト").Range("A6") = "" Then

    Colls = 6

Else
        ans = MsgBox("幼駒が誕生しましたが、牧場が一杯なので売却しました。", vbOKOnly + vbInfomation, "売却")
        Money = Money + (Worksheets("FlagData").Range("C11") / 2)
        GoTo Rabel004
End If

Gender = Rnd()

    ans = MsgBox("幼駒が誕生しました。名前をつけましょう。", vbOKOnly + vbInfomation, "幼駒誕生")
    PapaName = Worksheets("FlagData").Range("B11")
    Price = Worksheets("FlagData").Range("C11") + Int((2500 - -2500 + 1) * Rnd - 3000)
    MamapapaName = Worksheets("繁殖牝馬リスト").Range("D3")
    
    If Gender < 0.492 Then
        Worksheets("幼駒リスト").Cells(Colls, 7) = "牡"
    Else
        Worksheets("幼駒リスト").Cells(Colls, 7) = "牝"
    End If

Rabel003:
    Name = InputBox("幼駒の名前を入力してください" & vbNewLine & Worksheets("幼駒リスト").Cells(Colls, 7) + "馬" & vbNewLine & "父:" + PapaName & vbNewLine & "母父:" + MamapapaName, "命名", "")
        If Name <> "" Then
            Worksheets("幼駒リスト").Cells(Colls, 1).Value = Name
            Else
            ans = MsgBox("名前は決めましょう。", vbOKOnly + vbCritical, "名無しの権兵衛はダメ!")
            GoTo Rabel003
        End If
        
        Worksheets("幼駒リスト").Cells(Colls, 2) = Price
        Worksheets("幼駒リスト").Cells(Colls, 3) = Worksheets("FlagData").Range("D11")
        Worksheets("幼駒リスト").Cells(Colls, 4) = PapaName
        Worksheets("幼駒リスト").Cells(Colls, 5) = MamapapaName
        Worksheets("幼駒リスト").Cells(Colls, 6) = Worksheets("FlagData").Range("H11")
        Worksheets("幼駒リスト").Cells(Colls, 8) = Worksheets("FlagData").Range("E11")
        Worksheets("幼駒リスト").Cells(Colls, 9) = Worksheets("FlagData").Range("F11")
        Worksheets("幼駒リスト").Cells(Colls, 10) = Worksheets("FlagData").Range("G11")
        
'種付した週、種付した牡馬の情報を消し、種付可能な状態にする。
Rabel004:
Worksheets("Sheet1").Activate
Worksheets("FlagData").Range("A11:H11") = ""

End If

'資金が100億円突破=税金取り立て←ダビスタか
    If Money >= 1000000 Then
        ans = MsgBox("突然ですが税務署です。" & vbNewLine & "確定申告は済みましたか、税金はきちんと納めましょう", vbOKOnly + vbCritical, "税金はきちんと納めましょう")
        Money = Money - (Money / 2)
    End If

'新しい値をシートに書き込む

Worksheets("Sheet1").Activate

Worksheets("FlagData").Cells(3, 1).Value = Money

Worksheets("FlagData").Cells(4, 1).Value = Years

Worksheets("FlagData").Cells(5, 1).Value = Weeks

'資金がマイナス=死亡
    If Money < 0 Then
        ans = MsgBox("資金が底をつきました。これ以上馬主を続けられません。", vbOKOnly + vbCritical, "ゲームオーバー")
        Call GameStart1
    End If

End Sub

*1:前走宝塚記念を楽勝してしまったのが原因だな、まあ勝ったけど。