Java/Java Swing 18

bubble - 10

package bubble.test.ex10;public enum EnemyWay { LEFT, RIGHT} Enemy 클래스 설계 package bubble.test.ex10;import javax.swing.ImageIcon;import javax.swing.JLabel;public class Enemy extends JLabel implements Moveable { BubbleFrame mContext; // 살아 있는 상태 0, 물방울에 같힌 상태 1 private int state; // 적군에 좌표값 위치 상태 private int x; private int y; private ImageIcon enemyR, enemyL; // 움직임의 상태 private boolean left; p..

Java/Java Swing 2024.07.16

bubble - 9 (버블 생성 동작 수정)

BubbleFrame - 컨텍스트 생성 , Player getter 생성 package bubble.test.ex09;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;public class BubbleFrame extends JFrame { // 컨텍스트를 생성하는 방법 (셀프 참조) BubbleFrame mContext = this; private JLabel backgroundMap; // 포함관계 - 콤포지션 private Player player; public BubbleFrame()..

Java/Java Swing 2024.07.16

bubble - 7 (물방울 동작 처리)

package bubble.test.ex07;public interface Moveable { // public abstract 생략 가능 public abstract void left(); public abstract void right(); public abstract void up(); // 인터페스트 추가 기능 default 사용해보기 // 인터페이스에 모든 메서드는 추상 메서드이어야 한다. // 단 default 메서드를 제외 하고 default void down() {}; // 마지막에 default 는 세미콜론 추가 해야 한다. }  package bubble.test.ex07;public enum PlayerWay { LEFT, RIGHT} package bubble.test...

Java/Java Swing 2024.07.15

bubble - 6 (바닥, 층 감지 기능 추가)

package bubble.test.ex06;import java.awt.Color;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;/** * 현재 메인 쓰레드는 너~무 빠쁨 백그라운드에서 계속 Player 에 움직임을 관찰할 예정 */public class BackgroundPlayerService implements Runnable { private BufferedImage image; private Player player; // 생성자 의존 주입 DI public BackgroundPlayerService(Player player) { this...

Java/Java Swing 2024.07.15

bubble - 5 (물방울 생성)

package bubble.test.ex05;import javax.swing.ImageIcon;import javax.swing.JLabel;public class Bubble extends JLabel { private Player player; private int x; private int y; // 움직임 상태 private boolean left; private boolean right; private boolean up; // 적군을 맞춘 상태 private int state; // 0.(기본 물방울), 1.(적을 가둔 상태 물방울) private ImageIcon bubble; // 기본 물방울 private ImageIcon bubbled; // 적을 가둔 물방울 private Image..

Java/Java Swing 2024.07.15

bubble - 4 (중복쓰레드 생성 방지)

package bubble.test.ex04;import java.awt.Color;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;/** * 현재 메인 쓰레드는 너~무 빠쁨 백그라운드에서 계속 Player 에 움직임을 관찰할 예정 */public class BackgroundPlayerService implements Runnable { private BufferedImage image; private Player player; // 생성자 의존 주입 DI public BackgroundPlayerService(Player player) { this...

Java/Java Swing 2024.07.15