Я был бездействующим во время праздников, поэтому я провел более недели, смотрев видео, опубликованное мастером Alwing из бара Baidu Java. Я научился писать тетрис на Java. Здесь я хотел бы поблагодарить его за помощь в форме публикации исходного кода и необходимых объяснений. Конечно, я также внес некоторые изменения здесь, и интерфейс программы и функции, которые я сделал, не совсем так, как и его.
Интерфейс для запуска всей программы заключается в следующем:
Функции, включенные в программу:
один,
Дизайн всей программы показан на рисунке ниже, в общей сложности семь пакетов. Поскольку оригинальный дизайн программы состоял в том, чтобы подключиться к базе данных для сохранения имен и результатов пользователей, и мой компьютер не смог установить программное обеспечение базы данных, я внес коррективы в функции. Поэтому некоторые имена пакетов и имена классов не будут соответствовать их собственным функциям.
два,
Наиболее важное программирование интерфейса во всей программе установлено классом уровня в пакете пользовательского интерфейса. Он определяет метод, позволяющий сделать изображение 64 на 64 пикселя, вытянув его и растягивает его в заранее определенную ширину и высоту, используя функцию DrawImage, и отображает его в указанных координатах, тем самым становится окном. Каждый слой ***. Класс Java в пакете пользовательского интерфейса наследует класс слоя и используется для реализации каждого окна интерфейса, такого как главное окно игры (Layergame), окно уровня (LayerLevel), окно забить (LayerPoint) и т. Д. Кроме того, я также накрыл поверхность окна слоей полупрозрачных изображений, таким образом, достигая «приводы».
три,
Класс IMG используется для объявления всех объектов изображения. Когда я объявляю окно изображения пограничного изображения, я намеренно написал неправильный путь, таким образом, достигая безграничного эффекта.
Четыре,
Рисунок падающих квадратов также выполняется путем резки изображения.
Каждый блок разных цветов имеет одинаковый размер, и каждый раз, когда вы используете функцию DrawMage для вырезания блоков разных цветов. Прежде всего, вы должны рассматривать основное игровое окно как систему координат с верхним левым углом как происхождение. Основное окно игры имеет ширину 9 и высоту 16, поэтому должны быть координаты нижнего правого угла (15, 8), чтобы вы могли определить координаты для падающего квадрата. Затем используйте список <point []>, чтобы сохранить координаты каждого небольшого квадрата в падающем блоке.
Падающий квадрат должен быть в следующих семи формах:
Затем первоначальные координаты, когда блоки от 0 до 6 падают свободно, должны быть:
Type_config = new ArrayList <point []> (7); type_config.add (new Point [] {new Point (4,0), новая точка (3,0), новая точка (5,0), новая точка (6,0)}); type_config.add (новая точка [] {новая точка (40), новая точка (3,0), новая точка), новая точка), новая точка), новая точка), новая точка), новая точка), новая точка), новая точка (новая точка [] {новая точка (40), новая точка (3,0 (5. Точка (4,1)}); type_config.add (new Point [] {new Point (4,0), новая точка (3,0), новая точка (4,1)}); type_config.add (новая точка [] {новая точка (4,0), новая точка (3,0), новая точка (5,0), новая точка); Точка (4,0), новая точка (5,0), новая точка (3,1), новая точка (4,1)}); type_config.add (new Point [] {New Point (4,0), New Point (5,0), New Point (4,1), New Point (5,1)}); Type_Config.Add (New Point (4,0)}); New Point (4,0)}); Точка (5,0), новая точка (5,1)}); type_config.add (новая точка [] {новая точка (4,0), новая точка (3,0), новая точка (4,1), новая точка (5,1)});Каждый квадрат имеет центральную точку. Когда квадрат вращается, квадрат вращается на 90 ° в центре круга в этой центральной точке. Метод ротации заключается в следующем:
пять,
Логическое управление игрой в основном в классе GameService, что понимает определение того, может ли линия быть устранена, операция линии, соответствующая операция клавиатуры и т. Д.
шесть,
В программе используются два дополнительных пакета JAR, DOM4J.1.6.1.JAR и JL1.0.1.JAR. dom4j-1.6.1.jar используется для чтения файлов XML. В папке конфигурации есть файл cfg.xml, который устанавливает размер и расположение каждого окна. Используйте DOM4J.1.6.1.JAR в программе для чтения данных XML, а затем настройте интерфейс программы на основе этих данных. Следовательно, до тех пор, пока значение в XML изменяется, размер и координаты окна могут быть изменены.
JL1.0.1.jar используется для воспроизведения фоновой музыки. Это функция, которую я добавил сам. С помощью метода, предоставленного этим файлом JAR, функция воспроизведения музыки может быть просто реализована. В классе MP3 -игр и основном классе в основном классе необходимо создать новую тему. Конкретный метод ссылки: Javaswing Founal Ploight Music Music
Семь,
Загрузка программы исходного кода: исходный код
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.