我的错误是unexpected T_STRING, expecting '(' on line 22
,但我没有看到任何(
丢失。
谁能向我解释这里发生了什么?我在第 22 行之前错过了什么吗?
这是我的代码:
<?php
class Room {
protected $description = "";
protected $name = "";
protected $rooms = array(
"ne" => NULL,
"n" => NULL,
"nw" => NULL,
"e" => NULL,
"c" => NULL,
"w" => NULL,
"se" => NULL,
"s" => NULL,
"sw" => NULL
);
public function __construct ($n = "", $desc = "") {
$this->description = $desc;
$this->name = $n;
}
public function get Description () {
return $this->description;
}
public function get Name () {
return $this->name;
}
public function set Room ($direction = "c", $room) {
$this->rooms[$direction] = $room; return True;
}
public function getNewRoom ($direction = "") {
return $this->rooms[$direction];
}
}
$start Room = new Room ("First Room", "A small room. There is a door to the north.");
$second Room = new Room ("Second Room", "A short hallway that ends in a dead end. There is a door to the south.");
$start Room->set Room("n", $second Room);
$second Room->set Room("s", $first Room);
$current Room = $start Room;
$play = True;
while ($play) {
print $current Room->get Name();
print $current Room->get Description();
$input = readline("(Enter your command. Type QUIT to quit.) >");
if ($input == "QUIT") {
$play = False;
} else {
if ($input == 'nw' ||
$input == 'n' ||
$input == 'né' ||
$input == 'e' ||
$input == 'e' ||
$input == 'e' ||
$input == 'e' ||
$input == 'e' ||
$input == 'e')
{
$current Room = $current Room->getNewRoom($input);
}
}
}
?>