|
这是梅林中的一条小路。四处遍地都是梅树,枝叶茂密地连天空都被遮住
了,很难看清周围的情况。
#define MAZE_WIDTH 12 //梅林宽(东西向)
#define MAZE_HEIGHT 10 //梅林深(南北向)
void init()
{
object me = this_player();
int x, y;
x = me->query_temp("plum_maze/x");
y = me->query_temp("plum_maze/y");
if (!x || !y) {
make_maze(me);
me->set_temp("plum_maze/x", random(MAZE_WIDTH) + 1);
me->set_temp("plum_maze/y", random(MAZE_HEIGHT - 6) + 4);
/*按照上面第一部分:
就是当见面就给你set
x=random(12)+1
y=random(4)+4
*/
}
int valid_leave(object me, string dir)
{
object ob;
int x, y, can_n, can_e, can_w, can_s, path;
string min;
x = me->query_temp("plum_maze/x") - 1;
y = me->query_temp("plum_maze/y") - 1;
path = me->query_temp("plum_maze/" + x + "_" + y);
if (dir == "north") {
if (x == me->query_temp("plum_maze/north_exit") && y == 0) {
me->delete_temp("plum_maze");
me->move(__DIR__"road2");
}
if (can_n) {
me->add_temp("plum_maze/y", -1);
return 1;
}
return notify_fail("这个方向没有出路。\n");
}
if (dir == "south") {
if (x == me->query_temp("plum_maze/south_exit") && y == MAZE_HEIGHT - 1) {
me->delete_temp("plum_maze");
me->move(__DIR__"road3");
}
if (can_s) {
me->add_temp("plum_maze/y", 1);
return 1;
}
return notify_fail("这个方向没有出路。\n");
}
if (dir == "west" && can_w) {
me->add_temp("plum_maze/x", -1);
return 1;
}
if (dir == "east" && can_e) {
me->add_temp("plum_maze/x", 1);
return 1;
}
return notify_fail("这个方向没有出路。\n");
}
晚上回家分析
要下班了。 |
|