Zombi Ubisoft (1986) PHP

par espritm · Remakes
pas encore noté
▶ Jouer 💬 Avis 1 Sources 🕘 Versions Éditer GitHub
games/zombi-ubisoft-1986-php / tools / extract / sources / verify-lifts-rope.py · commit 5c56e28
"""Regression evidence from the original; all starts and electrical/enemy overrides are controlled."""from pathlib import Pathimport jsonroot=Path('/workspace/analysis');checks=[]def load(name,file='results.json'):    return json.loads((root/'runs'/name/file).read_text())def check(name,condition):    assert condition,name    checks.append(name)s=load('lift-36-power-0-passenger','lift-states.json')check('call-with-power-zero',s[0]['lift_cells']==[58] and s[1]['lift_cells']==[114]    and s[1]['landing_south']['33']==10 and s[1]['landing_south']['36']==0)check('passenger-transport',s[0]['positions']==[58,316,316,122] and s[1]['positions']==[114,316,316,122])for power in (0,1):    s=load(f'lift-63-power-{power}','lift-states.json')    check(f'cabin-to-basement-power-{power}',s[0]['lift_cells']==[58] and s[-1]['lift_cells']==[2]        and s[-1]['positions'][3]==2 and s[-1]['landing_south']['8']==0        and s[-1]['landing_south']['33']==10 and s[-1]['landing_south']['59']==30)for room,target in ((35,64),(38,66),(46,65)):    r=load(f'rope-{room}-1')['results']    check(f'rope-route-{room}',r[0]['held']==41 and r[-1]['held']==0 and r[-1]['used_item']==0        and r[-1]['room_id']==target and r[-1]['state']==0)r=load('rope-38-0')['results']check('window-without-active-rope',r[0]['state']==0 and r[-1]['state']==255 and r[-1]['room_id']==38)(root/'extracted/lifts-rope-rules.json').write_text(json.dumps({'controlled':True,'checks':checks},indent=2))print(len(checks),'original lift/rope checks passed')