Stuck on middle point

Patrol up and down, stopping at each X mark, in a loop.

Build "fire-trap"s to stop the ogres from invading.

It’s best if you only build when you see an ogre.

while True:
hero.moveXY(32, 52)
enemy = hero.findNearestEnemy()

if enemy:
    
    enemy = hero.findNearestEnemy()
    if enemy:
        hero.buildXY("fire-trap", 32, 52)
        
    hero.moveXY(32, 34)
    enemy = hero.findNearestEnemy()
    
    if enemy:
        hero.buildXY("fire-trap", 32, 34)
    hero.moveXY(32, 34)
    enemy = hero.findNearestEnemy()
    if enemy:
        hero.buildXY("fire-trap", 31, 16)

This is my new code
while True:

hero.moveXY(32, 52)
    enemy = hero.findNearestEnemy()
    if enemy:
        hero.buildXY("fire-trap", 32, 52)
    hero.moveXY(32, 33)
    enemy = hero.findNearestEnemy()
    if enemy:
        hero.buildXY("fire-trap", 32, 33)
    hero.moveXY(32, 16)
    enemy = hero.findNearestEnemy()
    if enemy:
        hero.buildXY("fire-trap", 32, 16) 
This is my new code it works.
# Patrol up and down, stopping at each X mark, in a loop.
# Build "fire-trap"s to stop the ogres from invading.
# It's best if you only build when you see an ogre.

while True:
    hero.moveXY(32, 52)
    enemy = hero.findNearestEnemy()
    
    if enemy:
        hero.buildXY("fire-trap", 32, 52)
    
    hero.moveXY(32, 33)
    enemy = hero.findNearestEnemy()
    
    if enemy:
        hero.buildXY("fire-trap", 32, 33)
    
    hero.moveXY(32, 16)
    enemy = hero.findNearestEnemy()
    
    if enemy:
        hero.buildXY("fire-trap", 32, 16)
    
    hero.moveXY(32, 33)
    enemy = hero.findNearestEnemy()
    
    if enemy:
        hero.buildXY("fire-trap", 32, 33)

type or paste code here