Building Games in SC#: Icy Tower-like tower jumper
1 passed12 failed1 broken |
7.1% |
IN118 127
OUT25 634 |
| ! |
IcyTowerThe model builds an Icy Tower style game from the task as an agent; this item passes when the app compiles and can be exported, and each hidden test is its own item.1 AI query
4 tool calls |
Broken |
IN118 127
OUT25 634 |
| × |
Hidden_CameraFollowsThe camera keeps the top of the player at least 60 px below the top of the screen.0 AI queries
0 tool callsHiddenTestAssertion expression evaluated to false: cameraY == -384 - 24 - 60
Context: cameraY -200
Values:
cameraY = -200 (line 376) |
Failed |
IN0
OUT0 |
| × |
Hidden_ComboTwo or more combo jumps of at least 2 floors each add (floors of the combo)^2 when the combo ends with a short jump.0 AI queries
0 tool callsHiddenTestAssertion expression evaluated to false: floor == 4 && comboJumps == 1 && comboFloors == 2 && comboTimer == 89
Context: first combo jump: jumps 0, floors 0, timer 0
Values:
floor = 2
comboJumps = 0
comboFloors = 0
comboTimer = 0 (line 316) |
Failed |
IN0
OUT0 |
| × |
Hidden_ComboTimerThe combo ends when its timer runs out, 90 frames after the last combo jump.0 AI queries
0 tool callsHiddenTestAssertion expression evaluated to false: comboJumps == 2 && comboTimer == 89
Context: jumps 0, timer 0
Values:
comboJumps = 0
comboTimer = 0 (line 336) |
Failed |
IN0
OUT0 |
| × |
Hidden_FloorsGrowThe floor lists grow with the player and keep following the floor rule.0 AI queries
0 tool callsHiddenTestAssertion expression evaluated to false: highestFloor == 30
Context: highestFloor 0
Values:
highestFloor = 0 (line 422) |
Failed |
IN0
OUT0 |
| × |
Hidden_GameOverAndRestartA player whose top goes below the bottom of the screen loses; nothing moves then, and Enter starts a new game.0 AI queries
0 tool callsHiddenTestAssertion expression evaluated to false: cameraY == -263 && !gameOver
Context: the top of the player is 239 px below the top of the screen: still on the screen (cameraY -262)
Values:
cameraY = -262
gameOver = false (line 391) |
Failed |
IN0
OUT0 |
| ✓ |
Hidden_InitialStateAfter AppInit the player stands on the ground, the counters have their starting values, and the floors follow the floor rule.0 AI queries
0 tool callsHiddenTest |
Passed |
IN0
OUT0 |
| × |
Hidden_JumpingA jump starts with vy = -(8 + 0.5 * |vx|), only from a floor; gravity adds 0.5 per frame up to 10.0 AI queries
0 tool callsHiddenTestAssertion expression evaluated to false: !onGround && Hidden_Near(vy, -7.5) && Hidden_Near(playerY, -7.5)
Context: a standing jump: vy 0, y 0
Values:
onGround = true (line 250) |
Failed |
IN0
OUT0 |
| × |
Hidden_LandingA falling player lands on a floor it overlaps; it jumps through floors from below.0 AI queries
0 tool callsHiddenTestAssertion expression evaluated to false: hiddenTop < -48 && onGround && floor == 1 && playerY == -48 && vy == 0
Context: through floor 1 from below and onto it: floor 0, y 0, highest point 0
Values:
hiddenTop = 0
onGround = true
floor = 0
playerY = 0
vy = 0 (line 281) |
Failed |
IN0
OUT0 |
| × |
Hidden_RunningLeft and Right speed the player up by 0.4 per frame up to 6; without keys the speed shrinks by 15 % per frame and stops below 0.05.0 AI queries
0 tool callsHiddenTestAssertion expression evaluated to false: Hidden_Near(vx, 1.2) && Hidden_Near(playerX, 152 + 0.4 + 0.8 + 1.2)
Context: speeding up: vx 0, x 152 (line 212) |
Failed |
IN0
OUT0 |
| × |
Hidden_ScreenShowsTheTowerThe screen shows the walls, the floors on the screen in their colors, the player and the texts. Texts and part B drawings may cover a few pixels, so the pixel counts allow a small loss but nothing extra.0 AI queries
0 tool callsHiddenTestAssertion expression evaluated to false: cameraY == -320 && playerY == -200.5
Context: cameraY -320, playerY -192
Values:
cameraY = -320
playerY = -192 (line 458) |
Failed |
IN0
OUT0 |
| × |
Hidden_ScrollingScrolling starts at floor 5, moves the camera up by scrollSpeed every frame and gets 0.5 faster every 900 frames, up to 5.0 AI queries
0 tool callsHiddenTestAssertion expression evaluated to false: scrolling && scrollFrames == 1 && scrollSpeed == 1
Context: started: frames 0, speed 0
Values:
scrolling = false
scrollFrames = 0
scrollSpeed = 0 (line 352) |
Failed |
IN0
OUT0 |
| × |
Hidden_WalkingOffA player who walks off the end of a floor falls, and lands on a lower floor.0 AI queries
0 tool callsHiddenTestAssertion expression evaluated to false: !onGround
Context: walked off the end at x 157
Values:
onGround = true (line 303) |
Failed |
IN0
OUT0 |
| × |
Hidden_WallBounceThe player bounces off a wall with three quarters of the speed in the other direction.0 AI queries
0 tool callsHiddenTestAssertion expression evaluated to false: playerX == 288 && Hidden_Near(vx, -6 * 0.85 * 0.75)
Context: right wall: x 285, vx 6
Values:
playerX = 285 (line 237) |
Failed |
IN0
OUT0 |