# -*- coding: utf-8 -*-
"""慎重すぎるClaude(ショート専用・舞台型・2026-11-07)
エイイチの言葉: 前から何度も言っているけど、安全性を重視しすぎて制限が多すぎ
事実: AI は物理保護を理由に作業を止めるだけで終わらず、危険の種類・実ログ上の原因・代わりの手順・dry-run で見る所を出し、決めるのはエイイチ(MASTER の物理保護ガードの扱い)"""
from butai_parts import *
OUTRO_K = 5
NAME, VER = "慎重すぎるClaude", 5
HEAD = "Claude
慎重すぎ?"
T_ON = (0, 0.8)
def stops(t0, n, step, seed):
"""「停止」の札が次々に積み重なる"""
import random
random.seed(seed)
out = ""
for k in range(n):
x, y, r = random.randint(40, 600), random.randint(110, 470), random.randint(-12, 12)
out += (f'
停止
')
return out
def scene(T, S):
h = CSS
# 0: 実機の話になると、止めてばかり
t0 = T(*T_ON)
h += win(t0, T(2, 0), kick("実機の作業") + stops(t0 + 0.6, 6, 0.32, 3) + stops(T(1, 0.1), 9, 0.2, 8))
# 2: 制限が多すぎ(エイイチの言葉)
t2, s2 = T(2, 0), S(2)
h += win(t2, T(3, 0), kick("エイイチの声")
+ f'安全性を重視しすぎて
'
+ f'制限多すぎ
')
# 3: 止めるだけは、ナシ(札が崩れて消える)
t3, s3 = T(3, 0), S(3)
fall = "".join(f'停止
' for k in range(5))
h += win(t3, T(4, 0), kick("なので") + fall
+ f'止めるだけは、ナシ
')
# 4: 危ない所・原因・試し方 → 決めるのはエイイチ
t4, s4 = T(4, 0), S(4)
three = "".join(f'{n_ + 1}{nm}
'
for k, (n_, nm) in enumerate(enumerate(["危ない所", "原因", "試し方"])))
h += win(t4, None, kick("代わりに出すもの") + three
+ f'決めるのは
'
+ f'エイイチ
')
h += outro(T, OUTRO_K)
return h
def OVER(T):
return stage_fx(T, shakes=[(T(2, 1.4), 0.6)], fx=[dict(kind="speed", t=T(2, 1.3), d=1.2), dict(kind="spot", t=T(4, 3.0), d=2.2, x=690)])
FACE = [(-1, 0.0, 1.0, "smile"), (1, 0.0, 2.6, "trouble"), (2, 0.0, 3.1, "trouble"), (3, 0.0, 2.7, "surprise"), (4, 0.0, 4.6, "joy"), ("end", 0.0, 3.0, "smile")]
POSE = [(-1, 0.0, 1), (0, 0.0, 2), (2, 0.0, 3), (3, 0.0, 1), (4, 3.0, 4)]
LEAN = []
INTRO = "spin"
MOVES = [(1, 0.2, "bow", 1.2), (2, 1.3, "shake", 0.8), (3, 0.6, "jump", 0.9), (4, 3.0, "turn", 1.6)]
SE = [(-1, 0.0, "se_whoosh", -9), (0, 0.8, "se_boot", -12)] + [(0, 0.6 + 0.32 * k, "se_tick", -13) for k in range(6)] \
+ [(1, 0.1 + 0.2 * k, "se_pop", -15) for k in range(9)] \
+ [(2, 1.3, "se_pechin", -9), (3, 0.3, "se_whoosh", -11), (3, 0.9, "se_ding", -11),
(4, 0.2, "se_pop", -13), (4, 0.65, "se_pop", -13), (4, 1.1, "se_pop", -13), (4, 3.2, "se_jaran", -10)]
ENDING = dict(kind="jump", at=(4, 3.2))