update tests: new scene API

This commit is contained in:
John McCardle 2026-01-03 10:59:52 -05:00
commit 838da4571d
142 changed files with 616 additions and 601 deletions

View file

@ -28,7 +28,7 @@ def create_map():
"""Create a map with obstacles to show pathfinding differences"""
global grid, color_layer
mcrfpy.createScene("pathfinding_comparison")
pathfinding_comparison = mcrfpy.Scene("pathfinding_comparison")
# Create grid
grid = mcrfpy.Grid(grid_x=30, grid_y=20)
@ -198,7 +198,7 @@ print("Dijkstra explores in all directions (good for multiple targets)")
create_map()
# Set up UI
ui = mcrfpy.sceneUI("pathfinding_comparison")
ui = pathfinding_comparison.children
ui.append(grid)
# Scale and position
@ -230,8 +230,8 @@ legend2.fill_color = mcrfpy.Color(150, 150, 150)
ui.append(legend2)
# Set scene and input
mcrfpy.setScene("pathfinding_comparison")
mcrfpy.keypressScene(handle_keypress)
pathfinding_comparison.activate()
pathfinding_comparison.on_key = handle_keypress
# Show initial A* path
show_astar()

View file

@ -7,7 +7,7 @@ import sys
print("Debug visibility...")
# Create scene and grid
mcrfpy.createScene("debug")
debug = mcrfpy.Scene("debug")
grid = mcrfpy.Grid(grid_x=5, grid_y=5)
# Initialize grid

View file

@ -30,7 +30,7 @@ def create_map():
"""Create the map with entities"""
global grid, color_layer, entities, all_combinations
mcrfpy.createScene("dijkstra_all")
dijkstra_all = mcrfpy.Scene("dijkstra_all")
# Create grid
grid = mcrfpy.Grid(grid_x=14, grid_y=10)
@ -178,7 +178,7 @@ print()
create_map()
# Set up UI
ui = mcrfpy.sceneUI("dijkstra_all")
ui = dijkstra_all.children
ui.append(grid)
# Scale and position
@ -221,8 +221,8 @@ expected.fill_color = mcrfpy.Color(255, 150, 150)
ui.append(expected)
# Set scene first, then set up input handler
mcrfpy.setScene("dijkstra_all")
mcrfpy.keypressScene(handle_keypress)
dijkstra_all.activate()
dijkstra_all.on_key = handle_keypress
# Show first combination
show_combination(0)

View file

@ -28,7 +28,7 @@ def create_map():
"""Create the map with entities"""
global grid, color_layer, entities
mcrfpy.createScene("dijkstra_cycle")
dijkstra_cycle = mcrfpy.Scene("dijkstra_cycle")
# Create grid
grid = mcrfpy.Grid(grid_x=14, grid_y=10)
@ -189,7 +189,7 @@ print()
create_map()
# Set up UI
ui = mcrfpy.sceneUI("dijkstra_cycle")
ui = dijkstra_cycle.children
ui.append(grid)
# Scale and position
@ -222,8 +222,8 @@ legend.fill_color = mcrfpy.Color(150, 150, 150)
ui.append(legend)
# Show first valid path
mcrfpy.setScene("dijkstra_cycle")
mcrfpy.keypressScene(handle_keypress)
dijkstra_cycle.activate()
dijkstra_cycle.on_key = handle_keypress
# Display initial path
if path_combinations:

View file

@ -27,7 +27,7 @@ def create_simple_map():
"""Create a simple test map"""
global grid, color_layer, entities
mcrfpy.createScene("dijkstra_debug")
dijkstra_debug = mcrfpy.Scene("dijkstra_debug")
# Small grid for easy debugging
grid = mcrfpy.Grid(grid_x=10, grid_y=10)
@ -140,7 +140,7 @@ grid = create_simple_map()
test_path_highlighting()
# Set up UI
ui = mcrfpy.sceneUI("dijkstra_debug")
ui = dijkstra_debug.children
ui.append(grid)
# Position and scale
@ -158,8 +158,8 @@ info.fill_color = mcrfpy.Color(200, 200, 200)
ui.append(info)
# Set up scene
mcrfpy.keypressScene(handle_keypress)
mcrfpy.setScene("dijkstra_debug")
dijkstra_debug.on_key = handle_keypress
dijkstra_debug.activate()
print("\nScene ready. The path should be highlighted in cyan.")
print("If you don't see the path, there may be a rendering issue.")

View file

@ -38,7 +38,7 @@ def create_map():
"""Create the interactive map with the layout specified by the user"""
global grid, color_layer, entities
mcrfpy.createScene("dijkstra_interactive")
dijkstra_interactive = mcrfpy.Scene("dijkstra_interactive")
# Create grid - 14x10 as specified
grid = mcrfpy.Grid(grid_x=14, grid_y=10)
@ -194,7 +194,7 @@ print(" Q/ESC - Quit")
grid = create_map()
# Set up UI
ui = mcrfpy.sceneUI("dijkstra_interactive")
ui = dijkstra_interactive.children
ui.append(grid)
# Scale and position grid for better visibility
@ -235,10 +235,10 @@ for i, entity in enumerate(entities):
ui.append(marker)
# Set up input handling
mcrfpy.keypressScene(handle_keypress)
dijkstra_interactive.on_key = handle_keypress
# Show the scene
mcrfpy.setScene("dijkstra_interactive")
dijkstra_interactive.activate()
print("\nVisualization ready!")
print("Entities are at:")

View file

@ -46,7 +46,7 @@ def create_map():
"""Create the interactive map with the layout specified by the user"""
global grid, color_layer, entities, original_positions
mcrfpy.createScene("dijkstra_enhanced")
dijkstra_enhanced = mcrfpy.Scene("dijkstra_enhanced")
# Create grid - 14x10 as specified
grid = mcrfpy.Grid(grid_x=14, grid_y=10)
@ -286,7 +286,7 @@ print(" Q/ESC - Quit")
grid = create_map()
# Set up UI
ui = mcrfpy.sceneUI("dijkstra_enhanced")
ui = dijkstra_enhanced.children
ui.append(grid)
# Scale and position grid for better visibility
@ -332,13 +332,13 @@ for i, entity in enumerate(entities):
ui.append(marker)
# Set up input handling
mcrfpy.keypressScene(handle_keypress)
dijkstra_enhanced.on_key = handle_keypress
# Set up animation timer (60 FPS)
mcrfpy.setTimer("animation", update_animation, 16)
# Show the scene
mcrfpy.setScene("dijkstra_enhanced")
dijkstra_enhanced.activate()
print("\nVisualization ready!")
print("Entities are at:")

View file

@ -12,7 +12,7 @@ import sys
def create_test_map():
"""Create a test map with obstacles"""
mcrfpy.createScene("dijkstra_test")
dijkstra_test = mcrfpy.Scene("dijkstra_test")
# Create grid
grid = mcrfpy.Grid(grid_x=20, grid_y=12)
@ -120,7 +120,7 @@ print("Creating Dijkstra pathfinding test...")
grid, entities = create_test_map()
# Set up UI
ui = mcrfpy.sceneUI("dijkstra_test")
ui = dijkstra_test.children
ui.append(grid)
# Position and scale grid
@ -138,7 +138,7 @@ legend.fill_color = mcrfpy.Color(180, 180, 180)
ui.append(legend)
# Set scene
mcrfpy.setScene("dijkstra_test")
dijkstra_test.activate()
# Run test after scene loads
mcrfpy.setTimer("test", run_test, 100)

View file

@ -15,7 +15,7 @@ import mcrfpy
import sys
# Create scene and grid
mcrfpy.createScene("visibility_demo")
visibility_demo = mcrfpy.Scene("visibility_demo")
grid = mcrfpy.Grid(grid_x=30, grid_y=20)
grid.fill_color = mcrfpy.Color(20, 20, 30) # Dark background
@ -77,7 +77,7 @@ current_perspective = -1
perspective_names = ["Omniscient", "Player", "Enemy"]
# UI Setup
ui = mcrfpy.sceneUI("visibility_demo")
ui = visibility_demo.children
ui.append(grid)
grid.position = (50, 100)
grid.size = (900, 600) # 30*30, 20*30
@ -187,10 +187,10 @@ def handle_keys(key, state):
update_info()
# Set scene first
mcrfpy.setScene("visibility_demo")
visibility_demo.activate()
# Register key handler (operates on current scene)
mcrfpy.keypressScene(handle_keys)
visibility_demo.on_key = handle_keys
print("Interactive Visibility Demo")
print("===========================")

View file

@ -6,7 +6,7 @@ import sys
# Create scene and grid
print("Creating scene...")
mcrfpy.createScene("vis_test")
vis_test = mcrfpy.Scene("vis_test")
print("Creating grid...")
grid = mcrfpy.Grid(grid_x=10, grid_y=10)
@ -33,7 +33,7 @@ entity.update_visibility()
# Set up UI
print("Setting up UI...")
ui = mcrfpy.sceneUI("vis_test")
ui = vis_test.children
ui.append(grid)
grid.position = (50, 50)
grid.size = (300, 300)
@ -44,6 +44,6 @@ grid.perspective = -1 # Omniscient
print(f"Perspective set to: {grid.perspective}")
print("Setting scene...")
mcrfpy.setScene("vis_test")
vis_test.activate()
print("Ready!")

View file

@ -7,7 +7,7 @@ import sys
print("Simple visibility test...")
# Create scene and grid
mcrfpy.createScene("simple")
simple = mcrfpy.Scene("simple")
print("Scene created")
grid = mcrfpy.Grid(grid_x=5, grid_y=5)