#!/usr/bin/env python3
"""Test for quickstart.md 'Game Entity' example.

Original (DEPRECATED - lines 133-168):
    mcrfpy.createScene("game")
    grid = mcrfpy.Grid(20, 15, texture, (10, 10), (640, 480))
    ui = mcrfpy.sceneUI("game")
    player = mcrfpy.Entity((10, 7), texture, 85)
    mcrfpy.keypressScene(handle_keys)
    mcrfpy.setScene("game")

Modern equivalent below.
"""
import mcrfpy
from mcrfpy import automation
import sys

# Create scene using modern API
scene = mcrfpy.Scene("game")
scene.activate()
mcrfpy.step(0.01)

# Load texture
texture = mcrfpy.Texture("assets/kenney_tinydungeon.png", 16, 16)

# Create grid using modern keyword API
grid = mcrfpy.Grid(
    grid_size=(20, 15),
    texture=texture,
    pos=(10, 10),
    size=(640, 480)
)
scene.children.append(grid)

# Add player entity
player = mcrfpy.Entity(grid_pos=(10, 7), texture=texture, sprite_index=85)
grid.entities.append(player)

# Add NPC entity
npc = mcrfpy.Entity(grid_pos=(5, 5), texture=texture, sprite_index=109)
grid.entities.append(npc)

# Add treasure chest
treasure = mcrfpy.Entity(grid_pos=(15, 10), texture=texture, sprite_index=89)
grid.entities.append(treasure)

# Movement handler using modern API
def handle_keys(key, state):
    if state == mcrfpy.InputState.PRESSED:
        x, y = player.pos[0], player.pos[1]
        if key == mcrfpy.Key.W:
            player.pos = (x, y - 1)
        elif key == mcrfpy.Key.S:
            player.pos = (x, y + 1)
        elif key == mcrfpy.Key.A:
            player.pos = (x - 1, y)
        elif key == mcrfpy.Key.D:
            player.pos = (x + 1, y)

scene.on_key = handle_keys

# Center grid on player
grid.center = (10, 7)

# Render and screenshot
mcrfpy.step(0.1)
automation.screenshot("/opt/goblincorps/repos/McRogueFace/tests/docs/screenshots/quickstart_entities.png")

print("PASS - quickstart entities")
sys.exit(0)
