Javascript t
这总是一个错误。如果currentroom是一个变量,请删除其中的引号Javascript t,javascript,Javascript,这总是一个错误。如果currentroom是一个变量,请删除其中的引号 这总是一个错误。如果currentroom是一个变量,请删除其中的引号。只要演示一下我的意思 您应该将任何DOM操作从游戏引擎中分离出来。 另一种情况是,你会得到一些无法支持的东西 简单的步骤是提取回复方法: var game = { reply: function(msg) { $("<p>"+msg+"</p>") .hide() .insertBefore("
这总是一个错误。如果currentroom是一个变量,请删除其中的引号。只要演示一下我的意思
您应该将任何DOM操作从游戏引擎中分离出来。 另一种情况是,你会得到一些无法支持的东西 简单的步骤是提取回复方法:
var game = {
reply: function(msg) {
$("<p>"+msg+"</p>")
.hide()
.insertBefore("#placeholder")
.fadeIn(1000);
}
};
然后我们可以将动作等包含在内:
game.moveTo = function(room) {
// game normally should to know available rooms list
// if (!this.rooms[room]) return this.reply('Unknown room ' + room);
if (room === this.currentRoom) return this.reply('You are already here!');
this.currentRoom = room;
this.reply('You now in '+room);
}
请证明我的意思
您应该将任何DOM操作从游戏引擎中分离出来。 另一种情况是,你会得到一些无法支持的东西 简单的步骤是提取回复方法:
var game = {
reply: function(msg) {
$("<p>"+msg+"</p>")
.hide()
.insertBefore("#placeholder")
.fadeIn(1000);
}
};
然后我们可以将动作等包含在内:
game.moveTo = function(room) {
// game normally should to know available rooms list
// if (!this.rooms[room]) return this.reply('Unknown room ' + room);
if (room === this.currentRoom) return this.reply('You are already here!');
this.currentRoom = room;
this.reply('You now in '+room);
}
这是一个问题,是的。这是一个问题,是的。您应该将任何DOM操作从游戏引擎中分离出来。在另一种情况下,您将收到一些无法支持的内容。“currentroom”=“area_2”。你检查过了吗?你应该将DOM操作从游戏引擎中分离出来。在另一种情况下,您将收到一些无法支持的内容。“currentroom”=“area_2”。你检查过这个了吗?完全重组OP的代码可能是个好主意,但这完全忽略了他们实际提出的问题,即为什么他们的
else
案例总是执行。@nnnn,不要对此进行投票。这不是答案,只是一点帮助。这里已经有了很好且正确的答案。完全重组OP的代码可能是个好主意,但这完全忽略了他们实际提出的问题,即为什么他们的else
案例总是执行。@nnnn,不要对此进行投票。这不是答案,只是一点帮助。这里已经有了很好的正确答案。
if (input == "text 1" && currentroom == "area_1") {
$("<p>reply 1.</p>").hide().insertBefore("#placeholder").fadeIn(1000);
}
else if (input == "text 1" && currentroom != "area_1") {
$("<p>reply 2.</p>").hide().insertBefore("#placeholder").fadeIn(1000);
}
else if (input == "go to area 2" && currentroom == "area_1") {
currentroom = "area_outside";
$("<p>You are now in area 2.</p>")
}
else if (input == "go to area 2" && currentroom != "area_1") {
$("<p>You cant go that way.</p>").hide().insertBefore("#placeholder").fadeIn(1000);
}
else if (input == "go to area 1" && currentroom == "area_2") {
currentroom = "area_outside";
$("<p>You are back in area 1.</p>")
}
else {
//invaild commands/dont understand.
$("<p>" + input + " is not vaild. type help for vaild commands.</p>").hide().insertBefore("#placeholder").fadeIn(1000);
}
"currentroom" == "area_2"
var game = {
reply: function(msg) {
$("<p>"+msg+"</p>")
.hide()
.insertBefore("#placeholder")
.fadeIn(1000);
}
};
switch(input) {
case 'text 1':
game.reply(currentroom == 'area_1' ? "reply 1." : "reply 2.");
break;
case 'go to area 2':
switch(currentroom) {
case 'area_1':
currentroom = 'area_outside';
game.reply("You are now in area 2.");
break;
default:
game.reply("You cant go that way.");
}
break;
default:
game.reply('Wrong input');
}
game.moveTo = function(room) {
// game normally should to know available rooms list
// if (!this.rooms[room]) return this.reply('Unknown room ' + room);
if (room === this.currentRoom) return this.reply('You are already here!');
this.currentRoom = room;
this.reply('You now in '+room);
}