当前位置: 首页 > 编程语言 > C#

如何旋转2D整数数组分享

时间:2023-04-10 18:38:40 C#

C#学习教程:如何旋转2D整数数组我现在需要能够旋转数组中的整数位置,以便获得旋转的俄罗斯方块。我不能简单地旋转纹理,因为我所有的碰撞检测等都是为二维数组设计的。游戏是用CNA和CNA编写的。我怎么可能顺时针/逆时针将我的二维数组旋转90度整数。下面是我的“L”块存储的示例。0100010001100000谢谢你的帮助。如果它们是2Darrays,则可以通过使用不同的数组访问顺序进行复制来实现旋转。即顺时针旋转,尝试:int[,]newArray=newint[4,4];for(inti=3;i>=0;--i){for(intj=0;j<4;++j){newArray[j,3-i]=array[i,j];}}逆时针类似。不要用代码旋转片段。只需存储一组不同的小部件方向,并在旋转小部件时循环遍历它们。无需在俄罗斯方块游戏中动态旋转它们。由于问题域是俄罗斯方块,您会发现旋转算法会产生不良影响,例如细长的Tetronimo不会在两个位置之间交替(就像在真实情况下那样)。在经典的俄罗斯方块中,对象的排列很少。我只想为4个位置中的每个“tetromino”都有一个常量数组,并根据输入选择合适的数组。为什么要浪费CPU周期来尝试旋转它?如果要旋转4x4块,只需移动位置:ABCACDDBBDDCACBA每个A移动到下一个A,B、C和D也一样。/-----|||VABCA/->CD>DB--|商务部||中国工商会|||^|||||----/----/我存储“单元格”(x,y)坐标并使用旋转矩阵旋转它们。例如,请参阅绘制旋转的矩形。您可能需要将结果四舍五入到最接近的0.5增量。顺时针和逆时针js代码:以上就是C#学习教程:如何旋转二维整型数组的全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——functionarrRotation90(arr,clockwise){vararr_rotated=[];for(vari=0;i本文收集自网络,不代表立场,如涉及侵权,请点右联系管理员删除,如需转载请注明出处: