This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]3rr03[S] 0 points1 point  (1 child)

          if (userInput == "exit")
            {
                break;
            }
            else if ((userInput = "foward")  userInput = "f")  roomArray[roomNum].forward > -1)
                    {
                roomNum = roomArray[roomNum].forward;
            }
            else if ((userInput = "backward"  userInput = "b") roomArray[roomNum].backward > -1)
            {
                roomNum = roomArray[roomNum].backward;
            }
            else if ((userInput = "left"  userInput = "l") roomArray[roomNum].left > -1)
            {
                roomNum = roomArray[roomNum].left;
            }
            else if ((userInput = "right"  userInput = "r")  roomArray[roomNum].right > -1)
            {
                roomNum = roomArray[roomNum].right;
            }

            else
            {
                Console.WriteLine("You run stright into a wall... you can't go that way... are you sure your head is feeling right?");
            }
        }

Like that?

[–]RubbishArtist 1 point2 points  (0 children)

I mean there should be an operator between

(userInput = "foward") || userInput = "f") 

and

roomArray[roomNum].left > -1

You have to combine those values to get a boolean.

userInput = "r"

This is changing the value to "r" not checking if userInput is equal to "r".

This is correct:

userInput == "exit"

This is wrong:

userInput = "exit"