lançando um array multi-dimensional java
Eu tenho uma classe que cria uma tela de caracteres com uma largura e altura desejada.
dentro deste eu tenho um método drawLetter () (que basicamente altera os caracteres para que uma letra aparece na tela (como arte ASCII muito simples)
Eu tenho 3 outros métodos rotateClockwise, flipHorizontal e flipVertical
girar e flipHorizontal eu fiz bem e eles funcionam, mas eu não consigo descobrir onde estou errado com lançando o array verticalmente (por interesse eu acho que eu tenho horizontal e vertical o caminho errado mas mal colocar uma amostra do que estou tentando para ser feito abaixo)
isso é o que eu não posso resolver:
isto:
# # # ~
~ # ~ ~
~ # ~ ~
~ ~ ~ ~
para isso:
~ # # #
~ ~ # ~
~ ~ # ~
~ ~ ~ ~
obviamente, isso será feito em um loop for como os meus outros métodos, abaixo eu vou postar o método que já fiz para horizontal e girar no sentido horário para provar que não é lição de casa que eu não posso fazer
void mirrorHorizontally()
{
char[][]horizontalImage = new char[height][width];
for (int i = 0; i < height /2; i++)
{
for(int j = 0; j < width; j++)
{
horizontalImage[height - (i+1)][j] = canvasArray[i][j];
horizontalImage[i][j] = canvasArray[height - (i+1)][j];
}
}
printPicture(horizontalImage);
}
void rotateClockwise()
{
char[][] rotatedImage = new char[height][width];
for(int i=0; i< canvasArray.length; i++)
{
for(int j= canvasArray.length-1; j >= 0; j--)
{
rotatedImage[i][rotatedImage.length-1-j] = canvasArray[j][i];
}
}
printPicture(rotatedImage);
}
canvasArray é a imagem original fora de interesse em uma variável de classe char [] []