import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ItemEvent;
public class Main extends JFrame
{
ImageIcon StartBackgroundIcon = new ImageIcon("image/방탈출 시작화면.png");
ImageIcon DecidedifficultyIcon = new ImageIcon("image/방탈출 난이도 선택.png");
ImageIcon see = new ImageIcon("image/돋보기.png");
JLabel watch= new JLabel(see);
int o=0;
int stage=0;
ImageIcon StartIcon = new ImageIcon("image/방탈출 시작버튼.png");
ImageIcon DecideIcon = new ImageIcon("image/a.png");
ImageIcon [] MapImage= {new ImageIcon("image/tt의 방.png"),new ImageIcon("image/기사 박물관.png"),new ImageIcon("image/물음표.png") };
JRadioButton [] Map=new JRadioButton[3];
JLabel DecidedifficultyImageLabel=new JLabel(DecidedifficultyIcon);
JPanel DecidedifficultyPanel=new JPanel();
JButton StartImageButton=new JButton(StartIcon);
JButton DecideImageButton=new JButton(DecideIcon);
JFrame f1=new JFrame();
JFrame f2=new JFrame();
JPanel BackgroundPanel=new JPanel();
JLabel StartBackgroundImageLabel=new JLabel(StartBackgroundIcon);
Container c=getContentPane();
Main()
{
setTitle("준혁준혁 방탈출");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
c.setLayout(null);
StartImageButton.setSize(200, 100);
StartImageButton.setVisible(true);
StartImageButton.setLocation(780, 360);
c.add(StartImageButton);
StartImageButton.addMouseListener(new MyMouseListener());
BackgroundPanel.setSize(1900, 1000);
BackgroundPanel.setVisible(true);
BackgroundPanel.add(StartBackgroundImageLabel);
c.add(BackgroundPanel);
setVisible(true);
setSize(1900,1000);
}
class MyMouseListener extends MouseAdapter
{
public void mouseClicked(MouseEvent e) {
StartImageButton.removeAll();
BackgroundPanel.removeAll();
c.removeAll();
setVisible(false);
ButtonGroup g=new ButtonGroup();
f1.setVisible(true);
f1.setSize(1900, 1000);
f1.setTitle("난이도 정하기");
f1.add(DecidedifficultyPanel);
for( int i=0;i<3;i++)
{
Map[i]=new JRadioButton();
Map[i].setIcon(MapImage[i]);
Map[i].addItemListener(new MyItemListener());
Map[i].setVisible(true);
}
DecidedifficultyPanel.setSize(1900, 1000);
DecidedifficultyPanel.setVisible(true);
DecidedifficultyPanel.add(Map[1]);
DecidedifficultyPanel.add(Map[2]);
DecidedifficultyPanel.add(Map[0]);
DecidedifficultyPanel.add(DecideImageButton);
DecidedifficultyPanel.add(DecidedifficultyImageLabel);
DecidedifficultyImageLabel.setSize(1900, 1000);
DecidedifficultyImageLabel.setVisible(true);
DecidedifficultyPanel.setLayout(null);
DecideImageButton.setSize(193, 100);
DecideImageButton.setVisible(false);
DecideImageButton.setLocation(800,700);
DecideImageButton.setOpaque(true);
g.add(Map[0]);
g.add(Map[1]);
g.add(Map[2]);
Map[0].setBorderPainted(true);
Map[0].setVisible(true);
Map[0].setSize(180,250);
Map[1].setBorderPainted(true);
Map[1].setVisible(true);
Map[1].setSize(180, 250);
Map[2].setBorderPainted(true);
Map[2].setVisible(true);
Map[2].setSize(180, 250);
Map[0].setLocation(150, 290);
Map[1].setLocation(790, 290);
Map[2].setLocation(1370, 290);
DecideImageButton.addMouseListener(new MyMouse1Listener());
}
class MyMouse1Listener extends MouseAdapter{
ImageIcon [] StageImage= {new ImageIcon("image/tt의 방.png"),new ImageIcon("image/기사들의 식당.png"),new ImageIcon("image/물음표.png") };
JLabel number=new JLabel(" 0");
ImageIcon x=new ImageIcon("image/뒤로가기.png");
JLabel xlabel=new JLabel(x);
JButton okay= new JButton("확인");
ImageIcon up=new ImageIcon("image/위로.png");
JLabel uplabel=new JLabel(up);
ImageIcon down=new ImageIcon("image/아래로.png");
JLabel downlabel=new JLabel(down);
ImageIcon lock=new ImageIcon("image/자물쇠.png");
JLabel locklabel=new JLabel(lock);
ImageIcon drawer=new ImageIcon("image/서랍.png");
JLabel drawerlabel=new JLabel(drawer);
ImageIcon mail=new ImageIcon("image/기사의 편지.png");
JLabel maillabe=new JLabel(mail);
public void mouseClicked(MouseEvent e) {
xlabel.addMouseListener(new xListener());
f2.add(maillabe);
f1.setVisible(false);
f2.setVisible(true);
f2.setSize(1900, 1000);
if(stage==1)
{
f2.setTitle("tt의 방");
f2.setLayout(null);
JLabel stage= new JLabel(StageImage[0]);
stage.setSize(1900, 1000);
stage.setVisible(true);
stage.setOpaque(true);
f2.add(stage);
}
else if(stage==2)
{
f2.setTitle("기사들의 식당");
JLabel stage= new JLabel(StageImage[1]);
stage.setSize(1900, 1000);
stage.setVisible(true);
stage.setOpaque(true);
f2.add(okay);
f2.add(number);
f2.add(uplabel);
f2.add(downlabel);
f2.add(locklabel);
f2.add(watch);
f2.add(xlabel);
f2.add(drawerlabel);
f2.add(stage);
watch.setSize(100, 100);
watch.setLocation(400, 370);
watch.setVisible(true);
watch.addMouseListener(new seeListener());
watch.setOpaque(true);
drawerlabel.setSize(100, 240);
drawerlabel.setLocation(1800, 570);
drawerlabel.addMouseListener(new solveListener());
drawerlabel.setVisible(true);
drawerlabel.setOpaque(true);
}
else if(stage==3)
{
f2.setTitle("???");
}
}
class solveListener extends MouseAdapter
{
public void mousePressed(MouseEvent e) {
locklabel.setSize(900, 340);
locklabel.setLocation(610, 370);
locklabel.setVisible(true);
locklabel.setOpaque(true);
uplabel.setSize(80, 100);
uplabel.setLocation(620, 380);
uplabel.setVisible(true);
uplabel.setOpaque(true);
uplabel.addMouseListener(new upListener());
downlabel.setSize(80, 100);
downlabel.setLocation(620, 600);
downlabel.setVisible(true);
downlabel.setOpaque(true);
downlabel.addMouseListener(new downListener());
number.setSize(80, 100);
number.setLocation(620, 490);
number.setFont(new Font("arial",Font.BOLD,25));
number.setVisible(true);
number.setOpaque(true);
okay.setSize(80, 50);
okay.setLocation(620, 700);
okay.setVisible(true);
okay.addMouseListener(new OkayListener());
}
}
class OkayListener extends MouseAdapter
{
public void mousePressed(MouseEvent e) {
}
}
class downListener extends MouseAdapter
{
public void mousePressed(MouseEvent e) {
o--;
if(o<0)
{
o=0;
}
number.setText(Integer.toString(o));
}
}
class upListener extends MouseAdapter
{
public void mousePressed(MouseEvent e) {
o++;
if(o>9)
{
o=9;
}
number.setText(Integer.toString(o));
}
}
class xListener extends MouseAdapter
{
public void mousePressed(MouseEvent e) {
xlabel.setVisible(false);
maillabe.setVisible(false);
}
}
class seeListener extends MouseAdapter
{
public void mousePressed(MouseEvent e) {
maillabe.setLocation(400, 100);
maillabe.setSize(800, 800);
maillabe.setVisible(true);
maillabe.setOpaque(true);
xlabel.setLocation(0, 0);
xlabel.setSize(1900, 1000);
xlabel.setOpaque(true);
xlabel.setVisible(true);
}
}
}
class MyItemListener implements ItemListener
{
public void itemStateChanged(ItemEvent e) {
DecideImageButton.setVisible(true);
if(e.getItemSelectable()==Map[0])
{
stage=1;
}
else if(e.getItemSelectable()==Map[1])
{
stage=2;
}
else if(e.getItemSelectable()==Map[2])
{
stage=3;
}
}
}
}
public static void main(String[] args) {
new Main();
}
}