Задание 10
Так же нам понадобятся методы для управления фигуркой.
Добавь в класс Figure методы:
left() - для движения фигурки влево.
right() - для движения фигурки вправо.
down() - для движения фигурки вниз.
up() - для движения фигурки вверх.
downMaximum() - падение фигурки в низ до дна.
rotate() - для поворота фигурки вокруг главной диагонали.
boolean isCurrentPositionAvailable() - проверка - может ли фигурка быть помещена в текущую позицию. Для теста захардкодь результат в true.
landed() - вызывается, когда фигурка достигла дна или уперлась в другую фигурку
Все ее занятые клетки теперь должны добавиться в Field.

package com.javarush.test.level22.lesson18.big01;

/**
 * Created by Sergey on 11.01.2017.
 */
public class Figure
{
    private int x;
    private int y;
    private int[][] matrix;

    public Figure(int x,int y){
        this.x=x;
        this.y=y;
        this.matrix=new int[x][y];
    }
    public void left(){}
    public void right(){}
    public void down(){}
    public void up(){}
    public void downMaximum(){}
    public void rotate(){}
    public boolean isCurrentPositionAvailable(){ return true;}
    public void landed(){}

    public int getX()
    {
        return x;
    }

    public int getY()
    {
        return y;
    }

    public int[][] getMatrix()
    {
        return matrix;
    }
}

package com.javarush.test.level22.lesson18.big01;

/**
 * Created by Sergey on 11.01.2017.
 */
public class Field
{
    private int width;
    private int height;
    private int[][] matrix;

    public Field(int width,int height){
        this.width=width;
        this.height=height;
        this.matrix=new int[width][height];
    }

    public void print(){}
    public void removeFullLines(){}
    public Integer getValue(int x, int y){ return null;}
    public void setValue(int x, int y, int value){}

    public int getWidth()
    {
        return width;
    }

    public int getHeight()
    {
        return height;
    }

    public int[][] getMatrix()
    {
        return matrix;
    }
}

package com.javarush.test.level22.lesson18.big01;

/**
 * Created by Sergey on 11.01.2017.
 */
public class Tetris
{
    private static Field field;
    private static Figure figure;
    public static Tetris game;

    public static Field getField()
    {
        return field;
    }

    public static Figure getFigure()
    {
        return figure;
    }

    public static void main(String[] args)
    {
        game=new Tetris();
        game.run();
    }
    public void run(){}
    public void step(){}
}

задан 11 Янв, 17:57

PSV's gravatar image

PSV
104
одобрено: 0%

изменено 11 Янв, 18:00


Конструктор класса Figure принимает 3 аргумента Figure(int x, int y, int[][] matrix)
В классе Field нужно создавать матрицу

matrix = new int[height][width];
ссылка

опубликован 11 Янв, 21:13

newuser01's gravatar image

newuser01
1.0k6
одобрено: 46%

изменено 11 Янв, 21:13

Спасибо большое, не заметил.

(12 Янв, 03:46) PSV
Ваш ответ
включить просмотр

Следить за вопросом

По Email:

После авторизации вы сможете подписаться на любые обновления здесь

Основы Markdown

  • *italic* or _italic_
  • **bold** or __bold__
  • ссылка:[текст](http://url.com/ "заголовок")
  • изображение?![alt текст](/path/img.jpg "заголовок")
  • нумерованный список: 1. Foo 2. Bar
  • Для того чтобы добавить разрыв строки просто добавьте два пробела.
  • основные HTML тэги, также поддерживаются

Тэги:

×1,558
×413
×119

Задан: 11 Янв, 17:57

Просмотров: 78 раз

Отредактирован: 12 Янв, 03:46