I am making a basic text adventure RPG game in Python. My problem is with the movement system, where the dungeon is broken into squares each with a coordinate. The player is asked for a coordinate of where to move which is then passed into the function move2, then the program checks a bunch of if statements, similar to the one below, and prints the according map of the floor. There is an if statement for each coordinate, so there are 40 different if statements, each with an image of the map. The problem is that nothing happens after the player is asked for a coordinate. The program ends after asking for a coordinate, but does not give any error (and I know I'm inputting a correct coordinate.)
move = input("\n To move around the room Hero, simply think the coordinates of the tile you want to move to! However, you can only move one tile at a time Ex: You are at tile 5,4. You can move to 5,3 5,5 or 4,4")
move2(move)
I apologize for the bad code. I'm sure there is a far better method to do this, but none that I know of yet...
def move2 (move):
while move == "5,1" "5,2" "5,3" "5,4" "5,5" "5,6" "5,7" "5,8" "4,1" "4,2" "4,3" "4,4" "4,5" "4,6" "4,7" "4,8" "3,1" "3,2" "3,3" "3,4" "3,5" "3,6" "3,7" "3,8" "2,1" "2,2" "2,3" "2,4" "2,5" "2,6" "2,7" "2,8" "1,1" "1,2" "1,3" "1,4" "1,5" "1,6" "1,7" "1,8":
if move == "5,3":
move = input("""
1 2 3 4 5 6 7 8
__ __ __ D_ __ __ __ __
1 |_ |_ |_ |_ |_ |_ |_ |_C|
2 |_ |_ |_ |_ |_ |_ |_ |_ |
3 |_ |?_|_ |_ |_ |_ |_ |_ |
4 |_ |_ |_ |_ |_ |_ |_ |_ |
5 |_ |_ |_x|_ |_ |_ |_ |_ |
D""")
while move == "5,1" "5,2" "5,3"..."1,8":is equivalent towhile move == "5,15,25,3...1,71,8", the interpreter concatenates strings that are adjacent. I doubtmovewill ever equal that monster string, so it will never run the loop. If it did it might be worse: if statement would always be false so it would run forever.whileis True, then the condition inifwill never be True.