0

我想不出如何表达我想做的事情,但希望这能解释清楚。

我的朋友正在制作一个基于文本的冒险游戏,而我正在努力将游戏的一部分分离出来以便于管理。

在游戏中,玩家的统计数据、玩家库存和更多信息被发送到另一个班级。

    static Char player;
    static battle bat;

    public static void directchoice(Char p, battle b) {
    player = p;
    bat = b;
    String[] rightLeft = {"Left", "Right"};
    int direct = JOptionPane.showOptionDialog(null, "Left or Right?", "Option", JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, rightLeft, rightLeft[0]);
    if(direct == 0){
        Maze.makeChoice(player, bat);
    }
    if(direct == 1){
        Maze.DoorChoice(player, bat);   
    }
}

从这里可以看出,在课程的开头,“玩家”和“蝙蝠”是一个角色和一场战斗。这些是从游戏的前一部分导入的。

子程序括号中的“Char p,battle b”,以及“player = p; bat = b;” 子程序内部必须为每个子程序重复。

例如,这是该类中的另一个子例程:

    public static void DoorChoice(Char p, battle b) {   
    player = p;
    bat = b;
    String[] others = {"Go through door", "Don't go through"};
int checkers = JOptionPane.showOptionDialog(null, "Go through door or not?", "Option", JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, others, others[0]);

还有很多其他的,比如玩家库存、怪物等等,也需要重复。我想要做的是创建一种为每个子例程自动重复这些代码行的方法,而不是必须将它们全部输入或复制和粘贴。

我尝试了我能想到的,但对 java 仍然比较陌生,我不知道该怎么做才能重复这些行。

我希望这是有道理的,如果没有,我很抱歉:(

4

1 回答 1

0

你想要做的事情叫做loop. 有许多类型的循环

这是 a 的一般示例for-loop

for (int counter; counter<repeatXTimes;counter++){
//This will repeat for as long as counter<repeatXTimes, and counter will increase once per loop.
}
于 2013-04-21T15:33:39.217 回答