That's my point, it shouldn't "goto w" at all, it should just restart the loop, asking the player to attack again. (I assume you have other actions planned aside from "attack", otherwise asking the player to type it is pointless, and would be annoying in the case of a typo.)
Also, why do you have multiple loops? Your game should be running under one loop, calling multiple functions to do different tasks, such as going to the store, fighting a monster, etc.
-- variables in such
while true do
-- walking around i suppose
if iCanEncounterAMonster then
approach(someRandomMonster)
end
if iCanGoToTheScore then
gotoTheStore()
end
end
That should be the extent of your program. Using gotos to hop to and from different loops is extremely bad logic.