Keep nearby group numbers associated and strengthen light ribbon visibility

This commit is contained in:
NINI
2026-10-05 15:30:01 +09:00
parent bcc5c9a7b9
commit 64689afdc9
6 changed files with 31 additions and 12 deletions
+13 -6
View File
@@ -32,6 +32,11 @@ function BallPoint($Board,[string]$Id) {
return @([int][Math]::Round(($width/2)+$local.X*$scale),[int][Math]::Round(($height/2)-$local.Y*$scale))
}
function TapBall([string]$Name,$Board,[string]$Id) { $point=BallPoint $Board $Id; Step $Name @('shell','input','tap',"$($point[0])","$($point[1])") }
function MergeStage([string]$Name,[int]$Id) {
$save=Save "$Name-before"; $board=@($save.puzzleStates | Where-Object stageId -eq $Id)[0]
$start=BallPoint $board $board.groups[0].ballIds[0]; $end=BallPoint $board $board.groups[1].ballIds[0]
Step $Name @('shell','input','swipe',"$($start[0])","$($start[1])","$($end[0]-45)","$($end[1])",'650')
}
function StagePoint([int]$Id) { $index=$Id-1; return @([int][Math]::Round((.12+($index%6)*.152)*2400),[int][Math]::Round((1-(.76-[Math]::Floor($index/6)*.123))*1080)) }
function SelectStage([string]$Name,[int]$Id) {
Step "$Name-selection" @('shell','input','tap','1200','616')
@@ -91,7 +96,7 @@ try {
CompareAudio 'audio-one-offline' @('guide_collect','guide_find','guide_count','count_01')
StartAudio 'audio-two-help' 23
Step 'next-two' @('shell','input','tap','2064','648') 2500; Step 'two-help-find' @('shell','input','tap','312','713') 4500
Step 'two-direct-merge' @('shell','input','swipe','1009','510','1291','510','650') 4000
MergeStage 'two-direct-merge' 2; Start-Sleep -Seconds 4
$twoCollected=Save 'two-collected'; $board=@($twoCollected.puzzleStates | Where-Object stageId -eq 2)[0]
Check 'two-real-collected' ($board.groups.Count -eq 1 -and $board.collectedBallIds.Count -eq 2) 'Real confirmed merge collects both'
TapBall 'two-first-count' $board $board.balls[0].id; Start-Sleep -Seconds 1
@@ -115,13 +120,14 @@ try {
CompareAudio 'audio-six-demo' @('demo_merge6','guide_merge')
Restart 'six-reentry'; SelectStage 'six-reentered' 6
$sixAgain=Save 'six-reentry-save'; Check 'six-seen-board-preserved' (Same $sixBefore $sixAgain) 'Reentry preserves seen merge and real unfinished board'
Step 'six-real-solve' @('shell','input','swipe','1009','510','1291','510','650')
MergeStage 'six-real-solve' 6
$sixSuccess=Save 'six-success'; Check 'six-free-final' ($sixSuccess.completedStageIds -contains 6 -and $sixSuccess.latestFreePlay.groups.Count -eq 1 -and $sixSuccess.latestFreePlay.groups[0].ballIds.Count -eq 2) 'Actual merge solves6 to one2 group'
Step 'next-seven' @('shell','input','tap','2064','648'); $seven=Save 'seven-next'; $sevenBoard=@($seven.puzzleStates | Where-Object stageId -eq 7)[0]
Check 'actual-next-seven' ($sevenBoard.stageId -eq 7) 'Next enters7 without automatic prior transition'
Step 'seven-partial-drag' @('shell','input','swipe','1106','503','1050','503','650')
$point=BallPoint $sevenBoard $sevenBoard.groups[0].ballIds[0]
Step 'seven-partial-drag' @('shell','input','swipe',"$($point[0])","$($point[1])","$($point[0]-60)","$($point[1])",'650')
$sevenPartial=Save 'seven-partial'; Step 'seven-home' @('shell','input','tap','312','108'); SelectStage 'six-replay-again' 6
Step 'six-replay-solve' @('shell','input','swipe','1009','510','1291','510','650'); Step 'next-seven-resume' @('shell','input','tap','2064','648')
MergeStage 'six-replay-solve' 6; Step 'next-seven-resume' @('shell','input','tap','2064','648')
$sevenResume=Save 'seven-next-resumed'; Check 'next-prefers-seven-save' (Same @($sevenPartial.puzzleStates | Where-Object stageId -eq 7)[0] @($sevenResume.puzzleStates | Where-Object stageId -eq 7)[0]) 'Next resumes existing7 state'
Fixture 10; StartAudio 'audio-ten-demo-help' 20
$ten=StagePoint 10; Step 'ten-ghost-start' @('shell','input','tap',"$($ten[0])","$($ten[1])") 1200
@@ -132,8 +138,9 @@ try {
CompareAudio 'audio-ten-demo-help' @('demo_split10','guide_split_2_1')
Restart 'ten-reentry'; SelectStage 'ten-reentered' 10
Check 'ten-seen-and-board-preserved' (Same $tenBefore (Save 'ten-reentry-save')) 'No second first-entry mutation'
Step 'ten-choose-real' @('shell','input','tap','1120','510'); Step 'ten-split-mode' @('shell','input','tap','312','832'); Step 'ten-select-real' @('shell','input','tap','1120','510')
Step 'ten-real-split' @('shell','input','swipe','1120','510','850','510','650'); $tenSuccess=Save 'ten-success'
$point=BallPoint $tenBefore.puzzleStates[0] $tenBefore.puzzleStates[0].groups[0].ballIds[0]
TapBall 'ten-choose-real' $tenBefore.puzzleStates[0] $tenBefore.puzzleStates[0].groups[0].ballIds[0]; Step 'ten-split-mode' @('shell','input','tap','312','832'); TapBall 'ten-select-real' $tenBefore.puzzleStates[0] $tenBefore.puzzleStates[0].groups[0].ballIds[0]
Step 'ten-real-split' @('shell','input','swipe',"$($point[0])","$($point[1])","$($point[0]-190)","$($point[1])",'650'); $tenSuccess=Save 'ten-success'
Check 'ten-final-one-one' ($tenSuccess.completedStageIds -contains 10 -and $tenSuccess.latestFreePlay.groups.Count -eq 2 -and @($tenSuccess.latestFreePlay.groups | Where-Object {$_.ballIds.Count -ne 1}).Count -eq 0) 'Actual select/drag yields1,1 and success'
Step 'next-eleven-cloud' @('shell','input','tap','2064','648'); $eleven=Save 'eleven-next'
Check 'actual-next-eleven' (@($eleven.puzzleStates | Where-Object stageId -eq 11)[0].stageId -eq 11) 'Stage11 opens with its Cloud theme source'