| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4580 人关注过本帖
标题:一个古堡救美的文字游戏
只看楼主 加入收藏
野人王
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-4-7
收藏
 问题点数:0 回复次数:20 
一个古堡救美的文字游戏
古堡救美游戏

描述
一个命令行游戏,让玩家在一个有很多楼层和很多房间的古堡中探险,玩家的任
务是找到公主并带她离开古堡。房间有很多种,不同种类的房间有不同的出口,
有的房间里有怪物。如果遇到怪物,游戏就失败了。
游戏启动时,玩家位于古堡一楼的大厅,程序显示大厅的信息:房间的名字、有
几个出口、每个出口的名字(如"east"、"south"、"up")。
    Welcome to the lobby. There are 3 exits as: east, west and up.
    Enter your direction to go:
然后玩家可以输入出口的名字来进入那个出口联接的房间,如
    east
则游戏进入那个房间,程序显示那个房间的信息,如大厅一样。玩家则可以继续
选择下一个房间。
一旦进入有怪物的房间,则显示怪物的信息并结束游戏。
一旦进入有公主的房间,则显示公主的信息,玩家还必须寻找出去的路直到大
厅,然后从大厅寻找出口离开古堡。
所有的显示信息和用户输入都采用英文,以简化程序。

要求
1. 至少三种不同种类的房间;
2. 至少五个房间;
3. 怪物和公主所在的房间是随机的。
一下是我写的代码,但是在编译play_game.cpp的时候出现错误:
Compiling...
paly_game.cpp
E:\编程\gubaojiumei\paly_game.cpp(221) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

paly_game.obj - 1 error(s), 0 warning(s)
望牛人帮忙改下错,不胜感激;
搜索更多相关主题的帖子: 古堡 美的 游戏 文字 
2008-04-03 21:27
野人王
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-4-7
收藏
得分:0 
//room.h

//build the class of room
//room header that prevents re-definition
#ifndef ROOM_H
#define ROOM_H
#include <string>
using namespace std;
class room
{
protected:
    string name;      //the name of the room
    int exits_num;    // the number of the exits
    string exits[6];  // store the exits
public:
    room();      //
    ~room();
    void getname(string name);
    virtual void set_exits();
    void show();
    friend void play_game();
};
#endif
2008-04-03 21:28
野人王
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-4-7
收藏
得分:0 
//room1.h

#ifndef ROOM1_H
#define ROOM1_H
#include "room.h"
class room1:public room
{
public:
    room1()
    {
        getname("lobby");
        set_exits();
    }
    void set_exits()
    {
        exits_num = 2;
        exits[0] = "east";
        exits[1] = "south";
    }
    friend void play_game();
};
#endif
2008-04-03 21:28
野人王
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-4-7
收藏
得分:0 
//room2.h

#ifndef ROOM2_H
#define ROOM2_H
#include "room.h"
class room2:public room
{
public:
    room2()
    {
        getname("sunroom");
        set_exits();
    }
    void set_exits()
    {
        exits_num = 2;
        exits[0] = "north";
        exits[1] = "up";
    }
    friend void play_game();
};
#endif

//room3.h

#ifndef ROOM3_H
#define ROOM3_H
#include "room.h"
class room3:public room
{
public:
    room3()
    {
        getname("WC");
        set_exits();
    }
    void set_exits()
    {
        exits_num = 1;
        exits[0] = "north";
    }
    friend void play_game();
};
#endif

//room4.h

#ifndef ROOM4_H
#define ROOM4_H
#include "room.h"
class room4:public room
{
public:
    room4()
    {
        getname("rosegarden");
        set_exits();
    }
    void set_exits()
    {
        exits_num = 3;
        exits[0] = "south";
        exits[1] = "west";
        exits[2] = "up";
    }
    friend void play_game();
};
#endif
2008-04-03 21:31
野人王
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-4-7
收藏
得分:0 
//room5.h
#ifndef ROOM5_H
#define ROOM5_H
#include "room.h"
class room5:public room
{
public:
    room5()
    {
        getname("storeroom");
        set_exits();
    }
    void set_exits()
    {
        exits_num = 2;
        exits[0] = "east";
        exits[1] = "south";
    }
    friend void play_game();
};
#endif
2008-04-03 21:32
野人王
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-4-7
收藏
得分:0 
//room6.h

#ifndef ROOM6_H
#define ROOM6_H
#include "room.h"
class room6:public room
{
public:
    room6()
    {
        getname("funroom");
        set_exits();
    }
    void set_exits()
    {
        exits_num = 3;
        exits[0] = "east";
        exits[1] = "west";
        exits[2] = "down";
    }
    friend void play_game();
#endif
2008-04-03 21:32
野人王
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-4-7
收藏
得分:0 
//room7.h
#ifndef ROOM7_H
#define ROOM7_H
#include "room.h"
class room7:public room
{
public:
    room7()
    {
        getname("babyroom");
        set_exits();
    }
    void set_exits()
    {
        exits_num = 2;
        exits[0] = "west";
        exits[1] = "north";
    }
    friend void play_game();
};
#endif
2008-04-03 21:33
野人王
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-4-7
收藏
得分:0 
#ifndef ROOM8_H
#define ROOM8_H
//room8.h
#include "room.h"
class room8:public room
{
public:
    room8()
    {
        getname("readroom");
        set_exits();
    }
    void set_exits()
    {
        exits_num = 2;
        exits[0] = "south";
        exits[1] = "north";
    }
    friend void play_game();
};
#endif
2008-04-03 21:33
野人王
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-4-7
收藏
得分:0 
//room9.h

#ifndef ROOM9_H
#define ROOM9_H
#include "room.h"
class room9:public room
{
public:
    room9()
    {
        getname("readroom");
        set_exits();
    }
    void set_exits()
    {
        exits_num = 3;
        exits[0] = "south";
        exits[1] = "west";
        exits[2] = "down";
    }
    friend void play_game();
};
#endif
2008-04-03 21:34
野人王
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-4-7
收藏
得分:0 
//room.cpp

#include <iostream>
#include "room.h"
using namespace std;

room::room()
{

}

room::~room()
{

}
 void room::getname(string name)  //get the name of the room
{
    this->name = name;
}


void room::set_exits()  //get the exits of the room
{
    exits_num = 0;
}

void room::show()   //to show the information of the room
{
    int i;
    cout << "Welcome to the " << name << " ! There are " << exits_num <<" exits as:";
    for (i = 0; i < exits_num; i++)
        cout << exits[i] << ' ';
    cout << endl;
    cout << "Enter your direction to go:" << endl;
}
2008-04-03 21:35
快速回复:一个古堡救美的文字游戏
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019452 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved