Java 康威';生活问题的游戏
这是给我的作业代码。任务是找出代码的错误。该代码应该实现“康威的人生游戏”:“康威的人生游戏我找不到错误在哪里Java 康威';生活问题的游戏,java,eclipse,Java,Eclipse,这是给我的作业代码。任务是找出代码的错误。该代码应该实现“康威的人生游戏”:“康威的人生游戏我找不到错误在哪里 import java.util.Scanner; import javax.swing.JFrame; public class GameOfLife { public static void main(String[] args) { final int testCase = 1; JFrame frame = new JFrame()
import java.util.Scanner;
import javax.swing.JFrame;
public class GameOfLife {
public static void main(String[] args) {
final int testCase = 1;
JFrame frame = new JFrame();
frame.setSize(500, 500);
frame.setTitle("Conway's Game of Life");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Cell[][] universe = new Cell[100][100];
for (int x = 0; x < universe.length-1; x++) {
for (int y = 0; y < universe[x].length-1; y++) {
universe[x][y] = new Cell();
}
}
if (testCase == 1) {
universe[3][2].calculateNext(3);
universe[3][2].updateCurrent();
universe[3][3].calculateNext(3);
universe[3][3].updateCurrent();
universe[3][4].calculateNext(3);
universe[3][4].updateCurrent();
} else if (testCase == 2) {
universe[49][50].calculateNext(3);
universe[49][50].updateCurrent();
universe[49][51].calculateNext(3);
universe[49][51].updateCurrent();
universe[50][49].calculateNext(3);
universe[50][49].updateCurrent();
universe[50][50].calculateNext(3);
universe[50][50].updateCurrent();
universe[51][50].calculateNext(3);
universe[51][50].updateCurrent();
} else {
}
UniverseComponent component = new UniverseComponent(universe);
frame.add(component);
frame.setVisible(true);
Scanner in = new Scanner(System.in);
String input = in.nextLine();
while (input.length() == 0) {
int neighborCount = 0;
for (int x=1; x<universe.length-2; x++) {
for (int y=1; y<universe[x].length-2; y++) {
neighborCount = 0;
if (universe[x-1][y-1].isAlive()) {
neighborCount++;
}
if (universe[x-1][y].isAlive()) {
neighborCount++;
}
if (universe[x-1][y+1].isAlive()) {
neighborCount++;
}
if (universe[x][y-1].isAlive()) {
neighborCount++;
}
if (universe[x][y+1].isAlive()) {
neighborCount++;
}
if (universe[x+1][y-1].isAlive()) {
neighborCount++;
}
if (universe[x+1][y].isAlive()) {
neighborCount++;
}
if (universe[x+1][y+1].isAlive()) {
neighborCount++;
}
universe[x][y].calculateNext(neighborCount);
}
}
for (int x=1; x<universe.length-2; x++) {
for (int y=1; y<universe[x].length-2; y++) {
universe[x][y].updateCurrent();
}
}
component.repaint();
input = in.nextLine();
}
in.close();
}
import java.util.Scanner;
导入javax.swing.JFrame;
公共生活类游戏{
公共静态void main(字符串[]args){
最终int测试用例=1;
JFrame=新JFrame();
框架。设置尺寸(500500);
frame.setTitle(“康威的人生游戏”);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
单元格[][]宇宙=新单元格[100][100];
对于(int x=0;x 对于(int x=1;x我不会为你做作业(找出错误)。但这里有一个策略:
代码是否编译?如果不编译,请修复该问题
程序运行时是否崩溃?如果是,请查看堆栈跟踪以获取线索。然后使用调试器
如果程序运行时没有崩溃,但没有正确推进游戏,请尝试一个简单的生命游戏配置,您可以手动计算预期结果,并查找代码行为不同的地方
对于第2步和第3步,掌握使用调试器的基本知识非常重要。祝你好运。Sware,今天看到第三个GameOfLife问题。欢迎来到这里!这里有很多人自愿花时间帮助他人学习如何编程。为了最大限度地帮助你,请阅读我们的和。特别是,你应该问一个具体的问题关于你到底有什么困难的问题。到目前为止你做了什么?