Java-如何添加+;在不停止程序的情况下,每x秒1到变量?
我是一名新程序员,正在用java制作一个控制台/文本策略游戏 我的程序就像你在while(true)switch case中一样工作,如果你按1你收集木材,2你收集石头,我想让你的木材、石头、食物自动收集,我不知道如何制作,欢迎任何帮助 简化代码如下所示Java-如何添加+;在不停止程序的情况下,每x秒1到变量?,java,Java,我是一名新程序员,正在用java制作一个控制台/文本策略游戏 我的程序就像你在while(true)switch case中一样工作,如果你按1你收集木材,2你收集石头,我想让你的木材、石头、食物自动收集,我不知道如何制作,欢迎任何帮助 简化代码如下所示 while (true) { Scanner in = new Scanner(System.in); String volbačlověk = in.nextLine(); switch
while (true) {
Scanner in = new Scanner(System.in);
String volbačlověk = in.nextLine();
switch (volbačlověk) {
case "1":
wood = wood + 1;
break;
case "2":
stone = stone + 1;
break;
case "3":
food = food + 1;
break;
}
}
基本上我想做的是让案例1,2,3每x秒自动完成一次,所以它的工作原理就像你自动收集那些材料,在切换案例中有建筑选项
另外,由于我是一名编程新手,请具体说明,我不会为我必须以某种方式学习而感到羞愧。您可以使用该课程自动增加您的资源:
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// Increase value here...
}
}, 0, 1000); // 1000 = 1 Sek.
另见此处:
您可以使用该类自动增加资源:
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
// Increase value here...
}
}, 0, 1000); // 1000 = 1 Sek.
另见此处:
好的,所以您希望每隔x秒从交换机运行一些随机代码,而不提供输入,对吗 因为你是一个新的程序员,所以在你的代码中, 你可以通过生成一些随机数直到你的开关范围 然后让程序线程休眠一段时间,如:
while(true){
Random random = new Random();
switch(random.nextInt(3)){
case 1:
////////blah blah
break;
......... more alike
}
Thread.sleep(x seconds here);
}
好的,所以你想每x秒从开关运行一些随机代码,而不提供输入,对吗 因为你是一个新的程序员,所以在你的代码中, 你可以通过生成一些随机数直到你的开关范围 然后让程序线程休眠一段时间,如:
while(true){
Random random = new Random();
switch(random.nextInt(3)){
case 1:
////////blah blah
break;
......... more alike
}
Thread.sleep(x seconds here);
}
你不需要先进的东西来做这件事。 如果您有:
然后,您就可以在该时间点计算资源。您不需要高级的东西来完成这项工作。 如果您有:
然后您可以计算该时间点的资源。它将自动收集什么?顺便说一句,
wood=wood+1
通常写为wood++
。由于这将每秒执行一次,您打算如何停止无限循环???我建议使用变量来存储玩家收集的每种商品的数量;然后编写方法,根据“自动收集”开始以来经过的时间量计算商品的总数量,并添加“手动收集”的数量。实际上,我使用了比wood++更难的公式,但对其进行了简化,以明确我的代码是什么样的。它将自动收集什么?顺便说一句,wood=wood+1
通常写为wood++
。由于这将每秒执行一次,您打算如何停止无限循环???我建议使用变量来存储玩家收集的每种商品的数量;然后编写基于“自动收集”开始以来经过的时间量计算商品总量的方法,并添加“手动收集”实际上,我使用了比wood++更难的公式,但对其进行了简化,以明确我的代码是什么样的。Timer
不再是真正值得推荐的方法-已经不是很长时间了。使用ScheduleExecutorService
。我尝试了这个,在论坛上的某个地方找到了它,但我的问题是我不能在这个区域放置我的变量,比如木头、石头,或者可能我把这个计时器放在了代码的不好的部分?timer
不再是被推荐的方法了-已经不是很长时间了。使用ScheduleExecutorService
。我试过这个,在论坛的某个地方找到了它,但我的问题是我不能把我的变量,比如木头、石头放在这个区域,或者我可能把这个计时器放在了代码的不好的部分?事实上,因为他是一个新程序员,如果我谈论工人或更多线程,可能会对他很苛刻。谢谢,我已经知道如何使用睡眠,但这不是我想要的解决方案。事实上,由于他是一名新程序员,如果我谈论工人或更多线程,可能会对他造成伤害。谢谢,我已经知道如何使用睡眠,但这不是我想要的解决方案。你能告诉我更多关于这一点吗?因为我没有真正的编程经验,包括time@V假设木材每单位生长2个单位。假设某个时间有3个单位的木材。5个时间单位之后是多少个单位?当然是13。你不需要每隔一秒增加“wood”变量就可以知道这一点。你能告诉我更多关于这一点吗?因为我没有真正的编程经验,包括time@V假设木材每单位生长2个单位。假设某个时间有3个单位的木材。5个时间单位之后是多少个单位?当然是13。您不需要每隔一秒增加“wood”变量就知道这一点。