试图制作一个简单的类似MUD的游戏,但存在嵌套循环的问题



到目前为止,我还只是一个傻瓜,正在学习JavaScript课程。我应该创建一个简单的游戏,使用if、switch和while进行各种选择。

所以我开始了我的游戏,但它有时无法识别用户输入,我认为这与我嵌套循环的方式有关。以下代码首先位于开关内部,然后位于while循环内部

answer = prompt ("Välj SLÅSS eller PRATA?").toLowerCase();

if (answer ==="slåss")
{
console.log("Du närmar dig modigt besten");
alt = prompt("Använder du magi eller ditt vapen?").toLowerCase;   
if (alt ==="magi") // this wont work, if I type in magi the code below won't trigger
{
console.log("Du kastar en eldboll som visar sig vara supereffektiv. Trollet dör.");
console.log ("Skattkistan var bakom trollet! Grattis! Du klarade spelet.");
skog=false;
break;

}

if(alt==="vapen") // this wont work, if I type in "vapen" the code below won't trigger
{
console.log("Du har inte en chans mot trollets styrka i närkamp och dör. Spelet är över.");
skog=false;
break;

}

else
{
console.log("Ange ett giltigt alternativ");


}
}

我还有一个问题,我想要一个if语句来检查前面声明的变量是否为true,同时查看用户输入的字符串是否正确。我写了如下:

else if (stark===true && answer === "prata") 

//如果你选择这个选项并选择";普拉塔;以及";stark";在开始的早些时候。

toLowerCase:之后您丢失了((

alt = prompt("Använder du magi eller ditt vapen?").toLowerCase;   

您的代码将变量设置为(这里有很多术语,抱歉(对函数toLowerCase的引用,而不是调用函数并获取其结果。

问题的第二部分,关于逻辑流,似乎可以通过重新构造代码来解决。有一个想法";变量作用域";这将对你在这里有所帮助。由于这是家庭作业,我不会为您重写它,但请考虑在开始时使用var将这些变量声明为全局变量(作为初学者的第一步——我认识到全局变量不是很好的编程实践(。

最新更新