0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonで簡単に馬券投票を行う

Posted at

はじめに

機械学習の結果で自動的に馬券を買いたい時、ありますよね。私はありました。
各種言語での馬券投票をサポートする「IpatHelper.dll」を紹介します。

IpatHelper.dllについて

C++で書かれたDLL(ダイナミック リンク ライブラリ)です。
DLLのソースコード自体は非公開なのですが、簡易的な関数仕様はこちらに書かれています。

DLLの使用は自己責任でお願いします。

今回はPythonでの使用例の紹介となりますが、その他プログラミング言語でも利用可能です。
動作を確認しているのは下記の5つです。

利用方法

下記コマンドでインストールできます。
PyPiのページはこちら

pip install ipathelper
コード全体
from ipathelper import *

def main():

    try:
        # モジュールのイニシャライズ
        returnValue = init()
        if returnValue == False:
            return

        # ログイン処理(各自自分のIDに変えてください)
        returnValue = login('********', '********', '****', '****')
        if (returnValue & 1) != 1:
            print("ログインに失敗しました。")
            return

        # 馬券購入用のインスタンス取得
        betData = ST_BET_DATA()
        returnValue = get_bet_instance(KAISAI_NAKAYAMA, 11, 2020, 12, 27,
                        HOUSHIKI_FORMATION, SHIKIBETSU_TRIO, 100, "1,9-2,3,13-7,3,8,10", betData)
        if (returnValue & 1) != 1:
            print("馬券購入情報の取得に失敗しました。")
            return

        # 馬券購入処理実行
        betDataList = (ST_BET_DATA * 1)()
        betDataList[0] = betData
        returnValue = bet(betDataList, 1, 0)
        if (returnValue & 1) != 1:
            print("馬券購入に失敗しました。")
            return

        # 馬券購入用のインスタンス取得(WIN5)
        betDataWin5 = ST_BET_DATA_WIN5()
        returnValue = get_bet_instance_win5(100, 2020, 12, 27, "1,14-9,13-12-2-1,1,3,5", betDataWin5)
        if (returnValue & 1) != 1:
            print("馬券購入情報(WIN5)の取得に失敗しました。")
            return

        # 馬券購入処理実行(WIN5)
        returnValue = bet_win5(betDataWin5, 0)
        if (returnValue & 1) != 1:
            print("馬券購入(WIN5)に失敗しました。")
            return

    finally:

        # ログアウト処理
        logout()

        # モジュールのファイナライズ
        uninit()

if __name__ == '__main__':
    main()

余談

IpatHelper.dll自体は約5年前から開発していました。
新人プログラマーだった自分にとって、プログラミングを学ばせてくれるいい教材でした。
サイトリニューアルや細かい仕様の変更に対応するのも今では楽しみの一つです。

そのうちUMACAスマートにも対応しようかなーと画策しています。
いつかコードサイニング証明書を購入して付与したいなあ。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?