Skip to content

kmycode/kmy-keiba

Repository files navigation

KMY競馬

Windowsで動作する競馬情報閲覧用のアプリです。JRA-VAN、地方競馬DATAのデータを使用します。
アプリの説明書、利用方法についてはWikiを参照してください。

プロジェクト

プロジェクト名 説明
KmyKeiba メインアプリ。64bitでのビルドを想定しています
KmyKeiba.Downloader 競馬データをダウンロードするアプリ。
現状はハードコーディングです。プログラムコードを書き換えながら使ってます。
後述する特殊な場合を除き、32bitでビルドしてください
KmyKeiba.JVLink JV-LINK、地方競馬DATAよりデータをダウンロードするためのプログラムです
KmyKeiba.Data 競馬データの型定義が含まれます。ここにあるMyContextBaseを継承したクラスを利用することで、データベースへアクセスできます
それ以外 今はメンテナンスしていません。Keras.NETを使用したディープラーニングとかとかのコードが入ってます。欲しい人は適当に持ってってください。サポートはしません

動作に必要なもの

現在バイナリは配布していないので、ビルドしないと起動できない状態です。(後日Releaseより配布予定です)
アプリそのものは無償ですが、競馬データを入手するには以下の利用キーが必須です。

利用キー(有償)およびデータ取得のためのソフト

競馬データの取得には、別途有償契約が必要です。(中央+地方の場合、毎月約4000円)
下記の片方または両方を契約しないと、競馬データが取得できず、事実上本アプリをご利用いただけません。

アプリは、必要なものだけをインストールいただいて差し支えありません。

  • JRA-VANデータラボ会員
    • 対応アプリ:JV-Link - 「動作環境(JV-Link)」タブよりダウンロードできます
    • 中央競馬のデータ取得に必要です
    • 契約後、利用キーを取得してください
  • 地方競馬DATA
    • 対応アプリ:UmaConn - ダウンロードボタンよりダウンロードできます
    • 地方競馬のデータ取得に必要です
    • 契約後、利用キーを取得してください。利用キー以外にも多数の購入オプションがありますが全て不要です

利用キーはデータベースインストール時に設定が可能です。

レース・調教動画閲覧のためのソフト

中央競馬の全ての動画を見る場合は、上記とは別にレーシングビューアーの契約(毎月550円)が必要です。
地方競馬の場合、アプリ内の動画ボタンをクリックすると楽天競馬の動画サイトへジャンプしますが(別途契約不要)、直近1年間のレースしか閲覧できません。

馬券購入のためのソフト

本アプリを利用して実際に馬券を購入するには、別途以下のアプリのインストールが必要です。

  • KSC馬券購入プラグイン
    • 中央競馬版と地方競馬版の2つに分かれています。必要なものをダウンロードしてください

ダウンロードした後は、それぞれのアプリでIPATログイン情報、楽天競馬ログイン情報を登録してください。

ビルド

.NET 6.0とC# 10で開発しているため、Visual Studio 2022以降が必要です。VSインストール時に、デスクトップアプリにチェックを入れてください。

ビルドする場合の制約事項

GitHubにて公開しているソースコードには、以下の機能が含まれません。

  • タイム偏差値の計算ロジック
  • KSC馬券購入プラグインとの連携ロジック

ソースコードを下記の手順に従ってビルドすると、タイム偏差値・馬券購入機能はご利用になれません。これらは別途Releaseより配布するバイナリには含まれています。あらかじめご了承ください。Wikiのライセンスもお読みになってください。

ビルドに必要なもの

アプリの実行では片方だけで構わないのですが、ビルドする場合は、上記「JV-Link」「UmaConn」の両方が必要です。

また、このリポジトリでは、著作権の関係で欠落しているファイルが存在しており、それがないとビルドできません。
Data Lab. SDKよりSDK本体をダウンロードしてください。Ver.4.6.0では、以下のような構成になっています。

JV-Data構造体
JV-Link
サンプルプログラム
ドキュメント

このうち「JV-Data構造体」フォルダの中の「C#版」に含まれる JVData_Struct.cs ファイルを structures.cs にリネームのうえ、以下のディレクトリにコピーしてください。
JVLib フォルダがない場合は作成してください。

KmyKeiba.JVLink/JVLib/structures.cs

さらに、 structures.cs を以下のように編集してください。

using System.Text;

#nullable disable

namespace KmyKeiba.JVLink.Wrappers.JVLib
{

    // <ここに元々のstructures.csの内容を挿入>

    // <JVData_Structの最初の行にpartialを追加してください>
    // public static partial class JVData_Struct

}

ビルド手順

以下の手順でビルド・実行してください。

KmyKeiba.Downloader (x86) -> KmyKeiba (x64)

なおDEBUGビルドで起動すると、アプリ実行中にたくさんのコンソール画面が出てきます。これらはRELEASEビルドすることで抑制されますが、アプリのデバッグをする場合はお勧めしません。

Add-Migration について

このプログラムはEntityFrameworkCoreを使用しています。Add-Migration を実行するときには、以下の手順が必要です。

  • プロジェクトのソリューションプラットフォームをx64にしてください
  • パッケージマネージャーコンソール、スタートアッププロジェクト、いずれもKmyKeiba.Downloaderに設定してください
  • Add-Migrationの前に、KmyKeiba(アプリ本体)をリビルドしてください