[자바기초] 쓰레드와 JPanel을 활용한 몬스터 피하기
thread_monster.zip package com.ljh; import javax.swing.*; import java.awt.event.*; import java.awt.*; public class MonsterGameFrame extends JFrame { // 아바타로 사용할 문자열은 "@", 괴물로 사용할 문자열은 "M", 종료키는 'q', 괴물은 200ms 주기로 움직인다 private JPanel gamePanel = new GamePanel("@", "M", 'q', 200); // 게임 패널, 컨텐트팬으로 사용한다. public MonsterGameFrame() { setTitle("Open Challenge 13"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setContentPane(gamePanel); // GamePanel을 컨텐트팬으로 사용한다. setSize(300,300); setVisible(true); gamePanel.setFocusable(true); gamePanel.requestFocus(); // GamePanel이 키를 입력받을 수 있도록 포커스를 설정한다. } // 게임이 진행되는 패널. 배치관리자를 null로 설정 class GamePanel extends JPanel { private String avatarChar; private String monsterChar; private char quitChar; private long monsterDelay; private JLabel avatar;// 아바타를 위한 레이블 private JLabel monster; // 괴물을 위한 레이블 final int AVATAR_MOVE = 10; // 아바타가 한번에 움직이는...