File size: 4,286 Bytes
b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 18f4e71 b3ea2a5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
from tools.obr import (
create_shape,
create_token,
game_state,
move_item,
delete_item,
fill_fog,
clear_fog,
add_token_light,
animate_token_viewport,
insert_map,
clean_map
)
import time
# === TEST FUNCTION ===
def test_function(tab_id):
"""Test function that demonstrates all OBR functionalities"""
results = []
try:
# 1. Clean the map
results.append({"step": "1. Cleaning map", "result": clean_map(tab_id)})
time.sleep(1)
# 2. Clear fog
results.append({"step": "2. Clearing fog", "result": clear_fog(tab_id)})
time.sleep(1)
# 3. Insert map
results.append({"step": "3. Inserting map", "result": insert_map(tab_id, "FOREST")})
time.sleep(1)
# 4. Create geometric shapes (red circles in diagonal)
for i in range(0, 30, 6):
shape_result = create_shape(
width=2,
height=2,
x=i,
y=i,
shape_type="CIRCLE",
fill_color="#FF0000",
stroke_color="#FF0000",
tab_id=tab_id
)
results.append({"step": f"4. Creating circle at ({i},{i})", "result": shape_result})
time.sleep(0.5)
# 5. Create main token (Knight)
knight_result = create_token(
name="Knight",
type="KNIGHT",
x=0,
y=0,
size=1,
tab_id=tab_id
)
knight_id = [i for i in knight_result['result']["gameState"]['images'] if i["name"] == "Knight"][0]["id"]
results.append({"step": "5. Creating Knight", "result": knight_result, "token_id": knight_id})
time.sleep(1)
# 6. Move the knight to intermediate position
if knight_id:
results.append({"step": "6. Moving Knight to (14,14)", "result": move_item(tab_id, knight_id, 14, 14)})
time.sleep(1)
# 7. Move the knight to final position
results.append({"step": "7. Moving Knight to (29,29)", "result": move_item(tab_id, knight_id, 29, 29)})
time.sleep(1)
# 8. Create dragon token
dragon_result = create_token(
name="Red Dragon",
type="DRAGON",
x=14,
y=14,
size=3,
tab_id=tab_id
)
dragon_id = [i for i in dragon_result['result']["gameState"]['images'] if i["name"] == "Red Dragon"][0]["id"]
results.append({"step": "8. Creating Red Dragon", "result": dragon_result, "token_id": dragon_id})
time.sleep(1)
# 9. Animate viewport to dragon
if dragon_id:
results.append({"step": "9. Animating viewport to dragon", "result": animate_token_viewport(tab_id, dragon_id)})
time.sleep(1)
# 10. Fill with fog
results.append({"step": "10. Filling with fog", "result": fill_fog(tab_id)})
time.sleep(1) # 11. Add light to knight
if knight_id:
results.append({"step": "11. Adding light to Knight", "result": add_token_light(tab_id, knight_id, 5)})
time.sleep(1)
# 12. Move knight back to center
results.append({"step": "12. Moving Knight back to (14,14)", "result": move_item(tab_id, knight_id, 14, 14)})
time.sleep(1)
# 13. Animate viewport to knight
results.append({"step": "13. Animating viewport to Knight", "result": animate_token_viewport(tab_id, knight_id)})
time.sleep(1)
# 14. Get final game state
final_state = game_state(tab_id)
results.append({"step": "14. Final game state", "result": final_state})
time.sleep(5)
#15. Clean map at the end
results.append({"step": "15. Cleaning map", "result": clean_map(tab_id)})
return {
"success": True,
"message": "Test completed successfully",
"total_steps": len(results),
"results": results
}
except Exception as e:
return {
"success": False,
"error": str(e),
"completed_steps": len(results),
"results": results
} |