この記事は
一生遊べる野球ゲーム 【ベストプレープロ野球】
をエクセルVBAでオリジナルリーグを作成するツールを作り、自分だけの世界を楽しんでもらえる参考になればと思い書いております。
すでに自作ツールで運用している方にも良い刺激になればと思っております。
前 回 まで
・野手シートと投手シートの選手名を自動で作成しました。
・リーグ運営の設定表作成(選手の能力・成長 決定)
・野手の初期パラメータ作成(16歳)
・野手のプロ入り後パラメータ作成(現在)
・投手の初期パラメータ作成(16歳)
・投手のプロ入り後パラメータ作成(現在)
・オリジナルリーグ 全12球団分の支配下登録後のデータ作成
⇓出来上がっているプログラム
前回で開幕用シートを作成しました。
そのシートを元に、今回はベスプレ(ベストプレープロ野球)で読み込むテキストファイルを作成していきます。
テキストファイル 作成
テキストファイルをベストプレープロ野球で読み込ませれるのが、ベストプレープロ野球’00の最大の売りではないでしょうか。
さて開幕用シートに12球団分の選手が書きこまれましたので、
ベストプレープロ野球で読み込む用のテキストファイルを作成したいと思います。
↓のプログラムをメインモジュールに作成します。
Public Sub テキストファイル作成()
Dim strdir As String
Dim BytLen As Integer ‘書込む文字数
Dim LimLen As Integer ‘調整用文字数
Dim Strlen As String ‘書込み文字
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim Low As Byte
Dim Col As Byte
strdir = strdir & “TeamData.txt”
Open strdir For Output As #1
For k = 0 To 11
Sheets(“リーグ情報”).Activate
‘チーム情報書き込み
‘ヘッダー作成
Print #1, “;——————————————————————–“
Print #1, “; チーム名 略称 記 球場”
Low = 3 + k
Col = 1
BytLen = 0
Strlen = ” “
LimLen = 0
‘2行目作成
For i = 1 To 4
Col = Col + 1
‘文字数取得
‘BytLen = (Len(Cells(Low, Col))) + BytLen
If i = 3 And Len(Cells(Low, Col)) = 2 Then
Strlen = Strlen & StrConv(Cells(Low, Col), vbNarrow)
BytLen = (Len(Cells(Low, Col))) + BytLen – 1
Else
Strlen = Strlen & Cells(Low, Col)
BytLen = (Len(Cells(Low, Col))) + BytLen
End If
Select Case i
Case 1
LimLen = LimLen + (12 / i)
Case 2
LimLen = LimLen + (12 / i)
Case 3
LimLen = LimLen + (12 / i) – 1
End Select
If i <> 4 Then
If BytLen <= LimLen Then
Do Until BytLen = LimLen
Strlen = Strlen & “ ”
BytLen = BytLen + 1
Loop
End If
Else
Strlen = RTrim(Strlen)
End If
Select Case i
Case 1
Strlen = Strlen & ” “
Case 2
Strlen = Strlen & ” “
End Select
Next i
Print #1, Strlen
Print #1, “”
Print #1, “; UNIFORM SYMBOL BGM”
‘2行目作成
Col = 6
BytLen = 0
Strlen = ” “
LimLen = 0
Sheets(“リーグ情報”).Activate
For i = 1 To 4
Col = Col + 1
‘文字数取得
BytLen = (Len(Cells(Low, Col))) + BytLen
Strlen = Strlen & Cells(Low, Col)
LimLen = LimLen + 13
If i <> 4 Then
If BytLen <= LimLen Then
Do Until BytLen = LimLen
Strlen = Strlen & ” “
BytLen = BytLen + 1
Loop
End If
Else
Strlen = RTrim(Strlen)
End If
Next i
Print #1, Strlen
Print #1, “”
Print #1, “; 監督 タ 投 選 打 バ エ 盗 A 抑”
Strlen = ” “
BytLen = 0
LimLen = 14
Col = Col + 1
For i = 0 To 9
If i = 0 Then
Col = 6
ElseIf i = 1 Then
Col = 11
End If
LimLen = LimLen + 3
‘文字数取得
If i = 0 Then
BytLen = ((Len(Cells(Low, Col)) * 2)) + BytLen
Else
BytLen = (Len(Cells(Low, Col))) + BytLen
End If
If i > 0 And Len(Cells(Low, Col)) = 1 Then
Strlen = Strlen & ” ” & Cells(Low, Col)
BytLen = BytLen + 1
Else
Strlen = Strlen & Cells(Low, Col)
End If
If i <> 9 Then
If BytLen <= LimLen Then
Do Until BytLen >= LimLen
Strlen = Strlen & ” “
BytLen = BytLen + 1
Loop
End If
Else
Strlen = RTrim(Strlen)
End If
Col = Col + 1
Next i
Print #1, Strlen
Print #1, “”
Print #1, “; 野手 席 タ C 1 2 3 S O 肩 走 眼 実 ス 巧 長 信 左 指数”
‘野手データ書き込み
Sheets(“開幕用”).Activate
If k < 6 Then
Low = 3 + (k * 35)
Else
Low = 3 + ((k – 6) * 35)
End If
For j = 0 To 15
If j < 8 Then
Strlen = j + 2 & ” “
Else
Strlen = “- “
End If
If k < 6 Then
Col = 1
Else
Col = 21
End If
Low = Low + 1
LimLen = 14
BytLen = 0
For i = 0 To 18
If i = 0 Then
BytLen = ((Len(Cells(Low, Col)) * 2))
Strlen = Strlen & Cells(Low, Col)
ElseIf Len(Cells(Low, Col)) > 0 Then
BytLen = (Len(Cells(Low, Col))) + BytLen
Strlen = Strlen & Cells(Low, Col)
Else
Strlen = Strlen & “-“
BytLen = BytLen + 1
End If
If i >= 3 And i <= 7 Then
LimLen = LimLen + 2
ElseIf i = 15 And Cells(Low, Col + 1) <> 0 Then
LimLen = LimLen + 2
ElseIf i = 16 And Cells(Low, Col) <> 0 And Cells(Low, Col + 1) <> 0 Then
LimLen = LimLen + 3
ElseIf i = 16 And Cells(Low, Col) <> 0 And Cells(Low, Col + 1) = 0 Then
LimLen = LimLen + 4
ElseIf i = 16 And Cells(Low, Col) = 0 And Cells(Low, Col + 1) <> 0 Then
LimLen = LimLen + 2
ElseIf i = 17 And Cells(Low, Col) <> 0 Then
LimLen = LimLen + 4
Else
LimLen = LimLen + 3
End If
If i <> 18 Then
If BytLen <= LimLen Then
Do Until BytLen >= LimLen
Strlen = Strlen & ” “
BytLen = BytLen + 1
Loop
End If
Else
Strlen = RTrim(Strlen)
End If
Col = Col + 1
Next i
Print #1, Strlen
Next j
‘投手データ書き込み
Print #1, “”
Print #1, “; 投手 投 タ 球速 切 制 安 質 術 ス 回 指数”
If k < 6 Then
Low = 22 + (k * 35)
Else
Low = 22 + ((k – 6) * 35)
End If
For j = 0 To 11
If k < 6 Then
Col = 1
Else
Col = 21
End If
Low = Low + 1
BytLen = 0
Strlen = “”
LimLen = 0
For i = 0 To 11
If i = 11 Then
Strlen = Strlen & “200”
Exit For
End If
If i = 0 Then
BytLen = ((Len(Cells(Low, Col)) * 2))
Strlen = “P ” & Cells(Low, Col)
Else
Strlen = Strlen & Cells(Low, Col)
BytLen = BytLen + Len(Cells(Low, Col))
End If
Select Case i
Case 0
LimLen = 17 + LimLen
Case 1, 4 To 9, 11
LimLen = 3 + LimLen
Case 2, 10
LimLen = 4 + LimLen
Case 3
LimLen = 5 + LimLen
End Select
If BytLen <= LimLen Then
Do Until BytLen >= LimLen
Strlen = Strlen & ” “
BytLen = BytLen + 1
Loop
End If
Col = Col + 1
Next i
Print #1, Strlen
Next j
If k <> 11 Then
Print #1, “”
End If
Next k
Close #1
MsgBox (“チームデータのテキストファイルを作成しました。作成先:” & strdir)
Sheets(“リーグ情報”).Activate
End Sub
↑ここまでです。
⇓ボタンを選択して右クリックでマクロの登録でテキストファイル作成を選んでOK。
これで、このボタンを押す事によってテキストファイルが出来上がります。
⇓ボタンを押すと、ドキュメントフォルダにTeamData.txtファイルが作成されます⇓
後はこれをベストプレープロ野球’00で読み込ませればOK!!
⇓出来上がったテキストファイルをダウンロード出来ます。Ver1.0
テキストファイル (479 ダウンロード )
ベストプレープロ野球’00 で各チームのレギュラーの守備位置・打順などを決定。
投手の配置も済ませてさぁ開幕です。
ベストプレープロ野球を知りたい方は
ベストプレープロ野球 ソフトのお求めは⇓の画像から(Win,GBA,PS2)