Java 开关盒在第一次选择后重复使用同一个盒,如何在使用前重置或冲洗它才能正常工作?
Switch case第一次运行正常,但会反复使用相同的初始选项。我需要在这段代码运行之前重置它,以便它在需要时选择不同(或相同)的情况 这是一个学校项目,一只狐狸追逐一只兔子。我必须给兔子编码。我已经开发了开关案例,以便使用它与灌木丛的接近度作为打开的参数。这决定了兔子会做什么。它第一次正常工作,但在移动后继续使用相同的案例,并且上一个案例在下一回合再次运行。经过一些研究,我发现我应该在do-while语句中使用一些标志来退出循环,我确实这样做了,但同样的问题仍然存在Java 开关盒在第一次选择后重复使用同一个盒,如何在使用前重置或冲洗它才能正常工作?,java,switch-statement,reset,flush,Java,Switch Statement,Reset,Flush,Switch case第一次运行正常,但会反复使用相同的初始选项。我需要在这段代码运行之前重置它,以便它在需要时选择不同(或相同)的情况 这是一个学校项目,一只狐狸追逐一只兔子。我必须给兔子编码。我已经开发了开关案例,以便使用它与灌木丛的接近度作为打开的参数。这决定了兔子会做什么。它第一次正常工作,但在移动后继续使用相同的案例,并且上一个案例在下一回合再次运行。经过一些研究,我发现我应该在do-while语句中使用一些标志来退出循环,我确实这样做了,但同样的问题仍然存在 if (noMansLa
if (noMansLand == false) {
needDirection = true;
do{
switch (directionToBush) {
//N-------------------------------------------------------
case 0:
if (look(7) == Model.BUSH) {
if (distance(7) == 1) {
currentDirection = 6;
if (look(6) == Model.BUSH) {
if (distance(6) == 1) {
currentDirection = 5;
}
}
}
} else {
//WANTED DIRECTION
currentDirection = 7;
}
//FOX ESCAPE PLAN
//code...
needDirection = false;
return currentDirection;
//E-------------------------------------------------------
case 2:
//similar code...
//S--------------------------------------------------------
case 4:
//similar code...
//W--------------------------------------------------------
case 6:
//similar code...
}while(needDirection == true);
}
还有很多代码,我们会很高兴地向大家展示整个过程以寻求帮助。游戏在一个网格界面上运行,在这个界面上,狐狸和兔子轮流在6个方向中的1个方向上“看”和移动一个网格(我在剪断开关代码时只显示了4个基数)。我让我的兔子寻找最近的灌木丛,让狐狸追着它,直到马克斯转身过去。兔子很好地到达最近的灌木丛,当距离灌木丛达到1距离时,将“noMansLand”变为false,并启动开关箱块。第一圈的动作和文字完全一样,兔子朝着正确的方向移动,但在下一圈的兔子身上,它继续着同样的动作,就像灌木朝着移动前最后一圈的方向一样。我假设它正在用开关盒存储旧方向,但我不知道如何重置或刷新此数据
switch (directionToBush) {
directionToBush为0
在哪里换的?不是在你的片段中!
如果未更改,则在所有循环迭代中保持为0。如果可以显示开关大小写变量“directionToBush”的初始化位置以及在开关大小写中如何更改,则会有所帮助。只要您根据具体情况不断更改此变量,您就不会有问题。没有必要重置任何内容。祝你好运 无需“重置刷新”,开关不会缓存或存储任何内容-您只需将变量
方向更改为bush
-只要其值相同,将执行相同的情况在某些case
块中没有break
语句。这是有意的吗?如果未引发异常或没有return
语句,则可以期望执行从一个案例
块流到下一个案例,即使该案例与该案例不匹配。看起来while
只是一个无限循环,没有主体。没有do
语句使其成为do,而。变量是静态的吗?我做了一个循环来搜索每个方向并存储狐狸和灌木丛的方向和距离:for(int I=Model.MIN_direction;我做了一个循环来搜索每个方向并存储狐狸和灌木丛的方向和距离:for(int i=模型最小方向;i