From 6db3fab0085e4cd7fede1b8517838b78e7b10e1e Mon Sep 17 00:00:00 2001 From: Newe666 Date: Tue, 25 Jan 2022 17:23:39 +0100 Subject: [PATCH] Stein Rotiert implementiert --- src/Tetris/Stein.java | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/src/Tetris/Stein.java b/src/Tetris/Stein.java index 87d83be..25d9e88 100644 --- a/src/Tetris/Stein.java +++ b/src/Tetris/Stein.java @@ -132,8 +132,48 @@ public void render(Graphics g){ } } } +/*Kerbs Ewen +Hier wird der stein rotiert dazu wurden die hilfs methoden : datenarrayflippen, steineflippen implementiert +diese helfen das komplexe steinrotiert verständlich zu machen. +Beim datenarrayflippen wird einmal das neue array ausgerechnet wie es auszusehen hat. +Da aber die bei dieser formatierung das array falsch herum aufgebaut wird benötigt man die hilfsmethode steineflippen +Diese dreht dreht das array um sodas der stein richtig gezeigt werden kann -public void speedup(){ +* */ + public void steinRotiert() + { + int[][] rotierterstein = null; + rotierterstein = datenarrayflippen(coords); + rotierterstein = steineflippen(rotierterstein); + coords = rotierterstein; + } + + private int[][] datenarrayflippen(int[][] altesArray) + { + int[][] updatedArray = new int[altesArray[0].length][altesArray.length]; + for (int i = 0; i < altesArray.length; i++) { + for (int j = 0; j < altesArray[0].length; j++) { + updatedArray[j][i] = altesArray[i][j]; + } + } + return updatedArray; + + } + + private int[][] steineflippen(int[][] rotierenedesArray) + { + int mittelpunkt = rotierenedesArray.length / 2; + for (int i = 0; i < mittelpunkt; i++) { + int[] rotiertesArray = rotierenedesArray[i]; + rotierenedesArray[i] = rotierenedesArray[rotierenedesArray.length - i - 1]; + rotierenedesArray[rotierenedesArray.length - i - 1] = rotiertesArray; + } + return rotierenedesArray; + + } + + + public void speedup(){ delayTime=fast; } public void speedDown(){