McRogueFace/quick_sprite_test.py
John McCardle cb0130b46e Implement sprite index validation for Issue #33
Added validation to prevent setting sprite indices outside the valid
range for a texture. The implementation:
- Adds getSpriteCount() method to PyTexture to expose total sprites
- Validates sprite_number setter to ensure index is within bounds
- Provides clear error messages showing valid range
- Works for both Sprite and Entity objects

closes #33
2025-07-03 21:09:06 -04:00

25 lines
No EOL
605 B
Python

import mcrfpy
# Test sprite index validation
t = mcrfpy.Texture("assets/kenney_ice.png", 16, 16)
s = mcrfpy.Sprite(10, 10, t, 5)
print(f"Initial sprite index: {s.sprite_number}")
# Try valid index
s.sprite_number = 50
print(f"Set to 50: {s.sprite_number}")
# Try invalid index
try:
s.sprite_number = 200
print("ERROR: Should have rejected index 200")
except ValueError as e:
print(f"✓ Correctly rejected: {e}")
# Try negative
try:
s.sprite_number = -1
print("ERROR: Should have rejected negative index")
except ValueError as e:
print(f"✓ Correctly rejected negative: {e}")