我无法想象这件事。我正在制作国际象棋游戏,我需要得到数字影响......
我开始用一匹马开始,即使把它拉到一张纸上也很困难。我希望它作为一个数组:
class Horse extends Figure {
public int[][] getRadius() {
//Allocate a max possible count of fields
int [][] return = new int[8][2];
//Now what?
???
}
}
这是我在一张纸上做的,在涂油漆中重新粉刷,希望它会帮助别人,因为它让我无助。
马正坐在广场上,我想我所画的都是他可能的动作。听起来像是{1,-1,2,-2}
与2名成员的梳理,没有重复,不是吗?但是如何以编程方式执行此操作? (数组中的列表必须相对到马的实际位置!)
谢谢你的任何提示。如果还有一篇关于其他数据的文章,那将节省我很多时间!
如果图片给你一些愚蠢的想法,请自己保留,谢谢。
答案 0 :(得分:1)
您希望从getRadius()
得到的是(x,y)
的每个排列,其中x,y∈{-2,-1,1,2}和| x | ≠| y |。
int[][] ret = new int[8][2];
int[] set = {-2, -1, 1, 2};
int i = 0;
for(int x : set)
for(int y : set)
if(Math.abs(x) != Math.abs(y)){
ret[i][0] = x;
ret[i][1] = y;
i++;
}