gpt4 book ai didi

java - 内存卡游戏的坐标生成

转载 作者:行者123 更新时间:2023-12-01 17:05:30 25 4
gpt4 key购买 nike

如何为内存卡游戏生成 (x, y) 坐标?假设我可以设置卡片的数量、行数和列数。我的 for 循环会是什么样子?

我的总体思路如下:

final int ROWS = 4;
final int COLUMNS = 5;

for(int i = 0; i<ROWS; i++){

for(int j = 0; j<COLUMNS; j++){
//calculate X coordinate
int index = some_calculation
MemoryCard memoryCard = new MemoryCard(x, y, index);
}
//calculate y coordinate
}

但是,我在此处创建对象时遇到问题。上面的循环将针对 i 执行 4 次,针对 j 执行 5 次。所以,我总共有 20 个对象。但是我如何获取对象的索引呢?假设我有一个对象的数组列表:

private ArrayList<MemoryCard> objects = new ArrayList<MemoryCard>();
//parameters for MemoryCard object are (float x, float y, Texture frontImage)

有没有办法让这种动态化?如果我将行数设置为 3,列数设置为 6,为了使程序生成正确的位置?或任何其他偶数对。

最佳答案

您可以轻松翻译...

public int getIndexOf(int x, int y){
return x + y * ROWS;
}

并恢复...

public int getXFromIndex(int index){
return index%ROWS;
}

public int getYFromIndex(int index){
return index/ROWS;
}

关于java - 内存卡游戏的坐标生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25763486/

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