2015-10-09 43 views
0

我正在用java编写基于文本的冒险游戏,即时通讯是第一年的计算机科学专业的学生。基于Java文本的冒险游戏,在我的主要方法下放什么

我做了一个房间,出口,生物,物品和世界级的课程,并在课堂上提供给我的API。这只是基本的方法和一些构造函数。

我们假设创建一个textAdventure类,我们将所有其他类放在一起并创建游戏。

玩家和游戏课程给了我,我的教授做了所有必要的代码,以使游戏在该课程中运行。

我的问题是我不知道如何开始在我的TextAdventure类,这也是我的主要方法。

所以我很困惑如何使起始房间,以及如何把通往另一个房间的房间退出。

下面是一些代码

public class MyTextAdventure { 

    private Room room1;  
    private Room room2;  
    private Room room3;  
    private Room room4; 
    private Room room5; 
    private Room room6; 
    private Room room7; 
    private Room room9; 
    private Room room10; 




public static void main(String [] args){ 

} 

如果我想使room1球员开始,我就可以做到这一点。

public static void main(String [] args){ 


public Room startingRoom; 

} 

我已经在房间类中声明了startingRoom

对不起,如果我的技能不好,我只是不知道我在做什么和从哪里开始。

+1

'main'应该进行设置和加载,然后将其余的功能卸载到核心程序。 – MadProgrammer

+0

所以主要做我只包括我在其他类创建的方法? – Nocturnel

+1

我不知道,我所拥有的只是一个小的,断章取义的代码片段。我会建议让你的程序工作的实际工作是另一个类的责任,并且可以使用'main'来初始化这个类,以便它需要启动开始状态,例如 – MadProgrammer

回答

1

使用数组来跟踪您的房间。这样可以避免跟踪10个不同的变量名称。它也允许你在数组索引上进行数学运算。例如,如果您想将当前房间设置为3到4,则不必检查哪个房间设置为当前房间。你可以做currentRoom++

尝试这样的事情。

public class MyTextAdventure { 

    private Room[] rooms; //array for all rooms 
    int currentRoom = 0; 
    boolean over; 

    //class constructor 
    public MyTextAdventure() { 
     rooms = new Room[10]; //Initialize new room array of size 10 
     over = false; //game is not over yet 

     for(int i = 0; i < rooms.length; i++) { 
      //Initialize all rooms 
      rooms[i] = new Room(); 
     } 
    } 

    public void start() { 
     //do your game loop in here 
     while(!over) { 

     } 
    } 

} 

public static void main(String [] args){ 
    MyTextAdventure adventure = new MyTextAdventure(); 
    adventure.start(); 
} 

主要功能应该开始你的游戏。函数和类应该被设计成完成一个清晰的单一任务。命名类,函数和变量,以便您确切知道他们在做什么。

将当前房间作为整数使用,可以将其用作数组索引。例如,如果你想获得当前的房间,你可以做一个函数。

public Room getCurrentRoom() { 
    return rooms[currentRoom]; 
} 
相关问题