Thanks guys!

The game can't automatically work out where to place the words, because there could be more than one location and words don't have to join up with others.
Random letters will be available for the user to make words from. When the player puts a wall down, the rarity of the letters is used to determine the strength, which is averaged out over the whole wall. For example, if you put down "qwexz" (probably not a real word!) you get a nice strong wall all the way across, rather than a strong wall with a useless bit in the middle. The wall also gets a strength bonus if it's connected to another wall.
The enemy soldiers appear from the top and then attack the walls. If they get through, they start attacking the castle. If they damage the castle too much, the level is lost. Each level will require the player to defend the castle for a certain amount of time, until the attackers give up and retreat. If they are successful, they go onto the next level, which is just a bit harder. The player gets a cumulative score all the way through and there will be a high-score list.
Enemy soldiers have to go around trees, but they can walk slowly through water. Placing a word down over a soldier squishes them

I'm trying to work out the simplest+fastest way for the user to tell the computer the word they want, the starting square and the direction. So far my best idea is telepathy, but I'm not sure how to write the code for that.
