Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Point;
- import java.awt.event.KeyAdapter;
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- public class TetrisRotate extends JPanel{
- //Z Shape's coordinates
- int[][] array = {{1,0}, {0,0}, {0,-1}, { -1, -1 }};
- Point[] point = new Point[4];
- final int SCALE = 25;
- int curX = 5, curY = 5;
- public TetrisRotate(){
- JFrame frame = new JFrame("Tetris Rotate Test");
- frame.setSize(400,400);
- frame.setLocationRelativeTo(null);
- frame.add(this);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- this.setBackground(Color.DARK_GRAY);
- for(int i=0; i<4; ++i){
- point[i] = new Point(array[i][0],array[i][1]);
- }
- frame.addKeyListener(new KAdapter());
- frame.setVisible(true);
- }
- public void setX(int index, int x){
- point[index].x = x;
- }
- public void setY(int index, int y){
- point[index].y = y;
- }
- public int x(int index){
- return point[index].x;
- }
- public int y(int index){
- return point[index].y;
- }
- public void rotateLeft(){
- for(int i=0; i<4; ++i){
- this.setX(i,-y(i));
- this.setY(i, x(i));
- }
- }
- @Override
- public void paint(Graphics g) {
- super.paint(g);
- g.setColor(new Color(80,5,5));
- for(int i=0; i<4; ++i){
- int x = curX + point[i].x;
- int y = curY + point[i].y;
- g.fill3DRect(x * SCALE, y * SCALE , SCALE, SCALE, true);
- }
- }
- class KAdapter extends KeyAdapter{
- @Override
- public void keyPressed(KeyEvent a) {
- int key = a.getKeyCode();
- if(key == KeyEvent.VK_LEFT){
- rotateLeft();
- repaint();
- }
- }
- }
- public static void main(String[] args) {
- new TetrisRotate();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement