import rsshogi as rs
record = rs.record.Record.from_kif_str(kif_text)
result = record.result
# 詳細な結果を表示
print(f"結果: {result.name}")
if result == rs.record.GameResult.BLACK_WIN:
print("先手の勝ち(通常)")
elif result == rs.record.GameResult.WHITE_WIN:
print("後手の勝ち(通常)")
elif result.is_win_by_declaration():
winner = "先手" if result.is_black_win() else "後手"
print(f"{winner}の入玉宣言勝ち")
elif result == rs.record.GameResult.DRAW_BY_REPETITION:
print("千日手による引き分け")
elif result == rs.record.GameResult.BLACK_WIN_BY_TIMEOUT:
print("後手の時間切れで先手の勝ち")
elif result == rs.record.GameResult.WHITE_WIN_BY_TIMEOUT:
print("先手の時間切れで後手の勝ち")
import rsshogi as rs
from collections import Counter
results = []
for kif_text in kif_files:
record = rs.record.Record.from_kif_str(kif_text)
results.append(record.result.name)
# 集計
counter = Counter(results)
for name, count in counter.most_common():
print(f"{name}: {count}局")
import rsshogi as rs
result = rs.record.GameResult.from_str("black_win")
assert result == rs.record.GameResult.BLACK_WIN
members = rs.record.GameResult.__members__
assert members["BLACK_WIN"] == rs.record.GameResult.BLACK_WIN