【发布时间】:2011-11-20 03:53:28
【问题描述】:
作为我自己的个人项目,我正在开发 Conway 的人生游戏的 Java 实现。到目前为止,它有效,但规则出现了错误。预期的模式没有出现应有的情况。我的代码有问题吗?
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Cell extends JComponent implements MouseListener {
private int row, col;
private boolean isLiving;
public Cell(int r, int c) {
this.row = r;
this.col = c;
this.addMouseListener(this);
}
public void isAlive(int neighbors) {
if (this.isLiving) {
if (neighbors < 2) {
this.isLiving = false;
} else if (neighbors == 2 || neighbors == 3) {
this.isLiving = true;
} else if (neighbors > 3) {
this.isLiving = false;
}
} else {
if (neighbors == 3) {
this.isLiving = true;
}
}
}
public boolean isLiving() {
return this.isLiving;
}
public void paintComponent(Graphics g) {
if (this.isLiving) {
g.fillRect(0, 0, 10, 10);
} else {
g.drawRect(0, 0, 10, 10);
}
}
public void mouseClicked(MouseEvent e) {
this.isLiving = !this.isLiving;
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
}
【问题讨论】:
-
代码审查只针对工作代码。一旦您的代码用于样式/性能建议,请随时将您的代码带回代码审查。
-
如果你说如何他们是错误的,并且包括你用来计算一个单元格的邻居的代码会更容易。还需要知道您是在环绕还是在无尽的世界中。
-
"Issue with Game of Life"如果你不把生活看成一场游戏...? -
请提供一个sscce,表明您描述的问题。
-
“有人知道我是否正确地实现了它们吗?” 显然没有,但只有 SSCCE 才能确定。
标签: java swing conways-game-of-life