我想不出如何表达我想做的事情,但希望这能解释清楚。
我的朋友正在制作一个基于文本的冒险游戏,而我正在努力将游戏的一部分分离出来以便于管理。
在游戏中,玩家的统计数据、玩家库存和更多信息被发送到另一个班级。
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 仍然比较陌生,我不知道该怎么做才能重复这些行。
我希望这是有道理的,如果没有,我很抱歉:(