我无法想象如何说出我想做的事,但希望这可以解释。
我的朋友正在制作基于文本的冒险游戏,我正在努力将游戏的一部分分开,以便于管理。
在游戏中,玩家的统计数据,玩家库存等等都会被发送到另一个类别。
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来说还是比较无趣的,我不知道如何重复这些行。
我希望这是有道理的,如果没有,我很抱歉:(
答案 0 :(得分:0)
您要做的是loop
。有many types of loops。
以下是for-loop
:
for (int counter; counter<repeatXTimes;counter++){
//This will repeat for as long as counter<repeatXTimes, and counter will increase once per loop.
}