gpt4 book ai didi

棋盘游戏

转载 作者:行者123 更新时间:2023-11-30 06:20:46 25 4
gpt4 key购买 nike

基本上,我正在用 Java 创建一个棋盘游戏,并设法使用数组创建了看起来像 10x10 网格的单元格。现在我给它们编号了,它们从左到右从上到下(如图)
我正在制作一款类似于蛇梯游戏但有其独特之处的游戏。

问题是:如何创建类似于蛇梯板的之字形板?

这就是它目前的样子:enter image description here

下面的代码是创建数组、打印数组和编号所需的代码。


名为游戏的对象:

private Cell[][] cell =  new Cell[10][10];

public Game(String nameIt)
{
super(nameIt);
JPanel x = new JPanel();

x.setLayout(new GridLayout(10, 10, 2, 2));
for (int r = 0; ir< 10; r++)
for (int c= 0; c < 10; c++)

x.add(cell[r][c] = new Cell(r, c, this));

}

对象命名单元格:

private int row;
private int col;
private int cellNum;
static int count = 0;


public Cell(int row, int column, Game guy)
{

this.ro = row;
this.col = column;
this.parent = guy;

count = count+1;
cellNum = count;

setBorder(new LineBorder(Color.BLUE, 1)); // Set cell's border
}

protected void paintComponent(Graphics p)
{
super.paintComponent(p);

p.drawString(String.valueOf(" " + cellNo), 24, 24);

}

最佳答案

好的,所以我不会为您编写确切的代码,但我会向您展示如何使用常规二维数组执行此操作的示例。我现在只有一个 C++ 编译器可用,但它应该足够清楚了:

所以基本上您需要从头到尾循环浏览行。这就是为什么第一个外部循环要从 9 到 0。这将从底行开始并在顶行结束,从而反转。

for (int i = 9; i >= 0; i--) {

// now the trick to making a "zig-zag" is to alternate between two ways
// of printing out each row. if i is even, you print out from right to left

if (i % 2)
for (int j = 9; j >= 0; j--)
cout << numbers[i][j] << "\t";

// and if i is odd, you print it out from left to right
else
for (int j = 0; j < 10; j++)
cout << numbers[i][j] << "\t";

cout << endl;

}

结果:enter image description here

关于棋盘游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21343374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com