Skip to main content

decode Touhou Shooting Game's replay files and get the infomation in it

Project description

![build](https://github.com/wasupandceacar/threp/actions/workflows/build.yml/badge.svg)

![pypi](https://github.com/wasupandceacar/threp/actions/workflows/pypi.yml/badge.svg)

![CodeFactor](https://www.codefactor.io/repository/github/wasupandceacar/threp/badge)

一、介绍

threp 用于解析东方 project 系列游戏的 replay 文件,即游戏回放文件,可以获取 replay 文件的通关情况、机师、难度、通关情况、机体、处理落、日期、屏幕移动、按键记录。 支持 TH06-18 整数作以及 TH9.5、12.5、TH12.8、TH14.3、TH16.5(即现有所有非黑历史的东方 STG 全部支持)。

二、安装方法

在 Python 3.6+ 下使用,用 pip 安装:

pip install threp

三、使用方法

from threp import THReplay

# 载入一个 replay 文件,参数为路径 tr = THReplay(‘th14_03.rpy’)

# 获取 replay 基本信息,包含机体,难度,通关情况,字符串 # etc. Reimu A normal all print(tr.getBaseInfo())

# 获取 replay 基本信息的字典,包含机体,难度,通关情况,字符串 # 字典的键分别为 character、shottype、rank、stage # etc. Reimu A Normal All print(tr.getBaseInfoDic())

# 获取 replay 每个 stage 的分数,list,包含一串整数 # etc. [13434600, 50759200, 103025260, 152519820, 230440680, 326777480] print(tr.getStageScore())

# 获取 replay 的屏幕移动,list,包含一些字符串 # etc. # 其中一个字符串:[0 ]→→→→→→→→→→→→→→→→↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↖↖↖↖↖↖↖↖↖↑↑○○○○○○○○○○○○○○○○○○ # 开头括号里的数字表示这是在该 stage 的第几帧,箭头表示方向,圆圈表示不动 print(tr.getScreenAction())

# 获取 replay 的按键记录,list,包含一些子 list,每个子 list 包含 60 个字符串,代表一秒 # etc. # 其中一个子 list:[’→’, ‘→’, ‘→’, ‘→’, ‘→’, ‘→’, ‘→’, ‘→’, ‘→’, ‘→’, ‘→’, ‘→’, ‘→’, ‘→’, ‘→’, ‘→’, ‘↑’, ‘↑’, ‘↑’, ‘↑’, ‘↑’, ‘↑’, ‘↑’, ‘↑’, ‘↑’, ‘↑’, ‘↑’, ‘↑’, ‘↑’, ‘↑’, ‘↑’, ‘↑←’, ‘↑←’, ‘↑←’, ‘↑←’, ‘↑←’, ‘↑←’, ‘↑←’, ‘↑←’, ‘↑←’, ‘↑’, ‘↑’, ‘○’, ‘○’, ‘○’, ‘○’, ‘○’, ‘○’, ‘○’, ‘○’, ‘○’, ‘○’, ‘○’, ‘○’, ‘○’, ‘○’, ‘○’, ‘○’, ‘○’, ‘○’] # 每个字符串记录了这帧按下的方向键,箭头表示方向,圆圈表示没按 print(tr.getKeyboardAction())

# 获取 replay 的机签,字符串 # etc. WASUP print(tr.getPlayer())

# 获取 replay 的处理落,浮点数 # etc. 0.03 print(tr.getSlowRate())

# 获取 replay 的时间,字符串 # etc. 2015/02/17 22:23 print(tr.getDate())

# 获取解析错误信息,list,包含一些字典 # 共有三种错误 # 1.length so short error,单面长度过短错误 # 2.frame read error,单面帧数读取错误 # 3.length read error,单面长度读取错误 print(tr.getError())

# 获取 replay 的总帧数,整数 # etc. 84565 print(tr.getFrameCount())

# 获取 replay 中按下 Z 键的帧数的 list,帧数从 1 开始数 # etc. [63, 98, 136] print(tr.getZ())

# 获取 replay 中按下 X 键的帧数的 list,帧数从 1 开始数 # etc. [193, 480, 766] print(tr.getX())

# 获取 replay 中按下 C 键的帧数的 list,帧数从 1 开始数,这个按键从TH128开始记录,TH125及以前无记录 # etc. [1046, 1260] print(tr.getC())

# 获取 replay 中按下 Shift 键的帧数的 list,帧数从 1 开始数 # etc. [1495, 1532, 1568] print(tr.getShift())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

threp-2.1.1.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

threp-2.1.1-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file threp-2.1.1.tar.gz.

File metadata

  • Download URL: threp-2.1.1.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.15

File hashes

Hashes for threp-2.1.1.tar.gz
Algorithm Hash digest
SHA256 d9589199f37cc2404efb079358f6882755b0cda6fbbbadbddc53ad6fd62ceb00
MD5 b21ffd950dfec688d5a318051b4d57ab
BLAKE2b-256 b5a149dfdda7ba0ddbb6bc30b26f14bc5d105b33d94a89d0113b2a8bb36ffbc7

See more details on using hashes here.

File details

Details for the file threp-2.1.1-py3-none-any.whl.

File metadata

  • Download URL: threp-2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.15

File hashes

Hashes for threp-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5349f81eafd9fbfca62b1b97e21d84d07af8aa2be9de131dc0b6637a1115d9ef
MD5 5f2f37d1aa1b46fa86e6bba0636a016d
BLAKE2b-256 c6c122f3c43b97b6d9292650a2246eceb21fdf6b7925c9694ec7c40ed327636d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page