我正在用js创建一个基于文本的游戏。当我在本地运行它时工作得很好但是当我将它上传到我的服务器并运行时没有任何显示。有一些我不知道的。它可能是关于& #34;附加"但我不确定。你能告诉我是什么导致了这个问题。提前谢谢。
代码:
var currentRoom = "start";
var commands = ["go", "pickup", "inventory", "talk",];
var inventory = ["sword", "shield"];
function changeRoom(dir) {
if (rooms[currentRoom].directions[dir] !== undefined) {
currentRoom = rooms[currentRoom].directions[dir]
$('#game-text').append("<p>" + rooms[currentRoom].description + "</p>");
} else {
$('#game-text').append("<p>You cannot go that way!</p>");
}
}
function showHelp() {
$('#game-text').append("<p>Here are the possible commands: </p>");
$('#game-text').append("<p><ul>");
for (var i = 0; i < commands.length; i++) {
$('#game-text').append("<li>" + commands[i] + "</li>");
}
$('#game-text').append("</ul></p>");
}
function showInventory() {
if (inventory.length === 0) {
$('#game-text').append("<p>You are not carrying anything!</p>");
return;
}
$('#game-text').append("<p>Here is your inventory: </p>");
$('#game-text').append("<p><ul>");
for (var i = 0; i < inventory.length; i++) {
$('#game-text').append("<li>" + inventory[i] + "</li>");
}
$('#game-text').append("</ul></p>");
}
function playerInput(input) {
var command = input.split(" ")[0];
switch (command) {
case "go":
var dir = input.split(" ")[1];
changeRoom(dir);
break;
case "help":
showHelp();
break;
case "inventory":
showInventory();
break;
default:
$('#game-text').append("<p>Invalid command!</p>");
}
}
$(document).ready(function() {
$('#game-text').append("<p>" + rooms.start.description + "</p>");
$(document).keypress(function(key){
if (key.which === 13 && $('#user-input').is(':focus')) {
var value = $('#user-input').val().toLowerCase();
$('#user-input').val("");
playerInput(value);
}
})
})
HTML:
<html>
<head>
<title>Androideas</title>
<link rel="stylesheet" type="text/css" href="index.css">
</head>
<body>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="rooms.js"></script>
<script type="text/javascript" src="script.js"></script>
<div id="game-text" style="color:white;">
<p>Welcome to Zork!</p>
</div>
<input id="user-input" placeholder="Please type your command..."></input>
</body>
</html>
rooms.js文件:
var rooms = {
"start": {
"description": "You are in a dark, cold place and you see a light to <b>north</b>\
and you hear the sound of running water to the <b>west</b>",
"directions": {
"north": "clearing1",
"west": "bridge1"
}
},
"clearing1": {
"description": "You arrive to a clearing, you see a lighthouse to the <b>north</b>\
and there is a strange smell coming from the <b>east</b>",
"directions": {
"south": "start",
"north": "lighthouse",
"east": "trolls"
}
},
"lighthouse": {
"description": "You arrive to the lighthouse and walk up to the door. A strange old lady\
opens the door. What do you do?",
"directions": {
"south": "clearing1"
}
},
"trolls": {
"description": "You arrive to another clearing, there are some trolls roasting some mysterious meat\
They haven't seen you yet. What do you do?",
"directions": {
"west": "clearing1"
}
},
"bridge1": {
"description": "You see a river and there is a bridge to the <b>west</b>",
"directions": {
"east": "start",
"west": "bridge2"
}
},
"bridge2": {
"description": "You try to cross the bridge but a troll jumps out and bites your leg!",
"directions": {
"east": "bridge1"
}
}
}