import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
class Weapon extends JFrame implements Runnable {
public int speedPerSecond = 5;
JLabel lbl;
Container cnt;
public Weapon(Container c) {
lbl = new JLabel();
lbl.setSize(25,25);
lbl.setIcon(new ImageIcon("C:\\Users\\user\\Desktop\\java images\\eating.png"));
lbl.setLocation(235,405);
cnt = c;
}
@Override
public void run() {
while(lbl.getY() >= 300) {
try {
lbl.setLocation(lbl.getX(),lbl.getY() - speedPerSecond);
System.out.println(lbl.getX() + " " + lbl.getY());
cnt.repaint();
cnt.revalidate();
Thread.sleep(50);
}
catch(InterruptedException e) {
return;
}
cnt.repaint();
cnt.revalidate();
}
//System.out.println("removed");
//cnt.remove(lbl);
//cnt.repaint();
//cnt.revalidate();
}
}
class LogAreaCS extends JFrame {
JTextField logCmd;
JTextArea logMemory;
int difficulty = 0;
String [] Str = {"SetDifficulty.easy",
"SetDifficulty.normal",
"SetDifficulty.hard",
"SetBulletSpeed/s",
"SetMobSpeed/s",
"GetDifficulty",
"GetBulletSpeed/s",
"GetMobSpeed/s",
"StartGame",
"RandomStart"};
public LogAreaCS() {
setSize(470,470);
setTitle("log");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
Container cnt =
getContentPane();
cnt.setLayout(new FlowLayout());
logCmd = new JTextField(25);
logMemory = new JTextArea(10,25);
cnt.add(logCmd);
cnt.add(new JScrollPane(logMemory));
logCmd.addKeyListener(new KeyListener() {
Vector<String> Codes = new Vector<String>();
String originCode = "";
int top = 0;
@Override
public void keyTyped(KeyEvent e) { }
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_CONTROL && logCmd.getText().length() >= 2) {
if(Codes.size() > 0 && logCmd.getText().equals(Codes.get(top-1))) {
//System.out.println("!");
if(top == Codes.size()) {
top = 0;
logCmd.setText(Codes.get(top++));
}
else {
logCmd.setText(Codes.get(top++));
}
}
else {
System.out.println("!");
Codes.clear();
originCode = logCmd.getText();
for(int i = 0; i < Str.length; i++) {
if(Str[i].substring(0, originCode.length()).equals(originCode)) {
Codes.add(Str[i]);
}
}
if(Codes.size() > 0) {
top = 0;
logCmd.setText(Codes.get(top++));
}
}
}
}
@Override
public void keyReleased(KeyEvent e) { }
});
logCmd.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JTextField txtFld = (JTextField)e.getSource();
if(txtFld.getText().equals("SetDifficulty.easy")) {
if(difficulty == 1) {
logMemory.append("난이도는 이미 easy입니다." + "\n");
}
else {
difficulty = 1;
logMemory.append("난이도를 easy로 변경하였습니다." + "\n");
}
}
else if(txtFld.getText().equals("SetDifficulty.normal")) {
if(difficulty == 2) {
logMemory.append("난이도는 이미 normal입니다." + "\n");
}
else {
difficulty = 2;
logMemory.append("난이도를 normal로 변경하였습니다." + "\n");
}
}
else if(txtFld.getText().equals("SetDifficulty.hard")) {
if(difficulty == 3) {
logMemory.append("난이도는 이미 hard입니다." + "\n");
}
else {
difficulty = 3;
logMemory.append("난이도를 hard로 변경하였습니다." + "\n");
}
}
else if(txtFld.getText().equals("SetBulletSpeed/s")) {
}
else if(txtFld.getText().equals("SetMobSpeed/s")) {
}
else if(txtFld.getText().equals("GetDifficulty")) {
logMemory.append("현재 난이도는 " + (difficulty == 0 ? ("미정") : (difficulty == 1 ? ("easy") : (difficulty == 2 ? ("noraml") : ("hard")))) + "입니다." + "\n");
}
else if(txtFld.getText().equals("StartGame")) {
if(difficulty == 0) {
logMemory.append("난이도를 설정해 주세요." + "\n");
}
else {
logMemory.append("게임을 시작합니다." + "\n");
new Main(difficulty);
dispose();
}
}
else if(txtFld.getText().equals("RandomStart")) {
difficulty = (int)(Math.random()*3)+1;
logMemory.append("게임을 시작합니다." + "\n");
}
else {
logMemory.append("잘못된 명령어 입니다." + "\n");
}
logCmd.setText("");
}
});
repaint();
revalidate();
}
}
public class Main extends JFrame {
public Main(int difficulty) {
setSize(470, 470);
setTitle("사격 게임");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
Container c = getContentPane();
c.setFocusable(true);
c.requestFocus();
c.setLayout(null);
c.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) { }
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_ENTER) {
System.out.println("a");
Weapon wpn = new Weapon(c);
c.add(wpn.lbl);
c.repaint();
c.revalidate();
wpn.;
System.out.println(c.countComponents());
}
}
@Override
public void keyReleased(KeyEvent e) { }
});
}
public static void main(String[] args) {
new LogAreaCS();
}
}
/*
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
class Weapon extends JFrame implements Runnable {
JLabel weapon;
public Weapon() {
weapon = new JLabel("");
weapon.setSize(30,30);
weapon.setLocation(200,350);
weapon.setIcon(new ImageIcon("C:\\Users\\user\\Desktop\\java images\\eating.png"));
}
@Override
public void run() {
try {
Thread.sleep(20);
}
catch(InterruptedException e) {
return;
}
}
}
public class Main extends JFrame {
public Main() {
setTitle("사격 게임");
setSize(400,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cnt = getContentPane();
cnt.setLayout(null);
cnt.setFocusable(true);
cnt.requestFocus();
cnt.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) { }
@Override
public void keyReleased(KeyEvent e) { }
@Override
public void keyPressed(KeyEvent e) {
Weapon s = new Weapon();
cnt.add(s.weapon);
if(e.getKeyCode() == KeyEvent.VK_SPACE) {
while(s.weapon.getY() >= 0) {
System.out.println(s.weapon.getLocation());
System.out.println(s.weapon.getParent());
s.weapon.setLocation(s.weapon.getX(), s.weapon.getY() - 5);
cnt.repaint();
cnt.revalidate();
s.run();
}
}
}
});
setVisible(true);
}
public static void main(String[] args) {
new Main();
}
}
*/
/*
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
class Weapon extends JLabel implements Runnable {
private JLabel la;
public Weapon(JLabel label) {
this.la = label;
}
@Override
public void run() {
System.out.println("before run" + la.getY());
while(la.getY()>0) {
try {
la.setLocation(la.getX(), la.getY()-5);
System.out.println("running" + la.getY());
Thread.sleep(100);
}
catch(InterruptedException e) {
return;
}
}
}
}
public class Main extends JFrame {
public Main() {
setTitle("사격 게임");
setSize(400,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cnt = getContentPane();
cnt.setLayout(null);
cnt.setFocusable(true);
cnt.requestFocus();
cnt.addKeyListener(new KeyListener() {
@Override`
public void keyTyped(KeyEvent e) { }
@Override
public void keyReleased(KeyEvent e) { }
@Override
public void keyPressed(KeyEvent e) {
JLabel la = new JLabel(new ImageIcon("C:\\Users\\user\\Desktop\\java images\\eating.png"));
if(e.getKeyCode() == KeyEvent.VK_SPACE) {
System.out.println("space");
la.setSize(30,30);
la.setLocation(200,350);
Weapon s = new Weapon(la);
Thread th = new Thread(s);
cnt.add(la);
th.start();
}
}
});
setVisible(true);
}
public static void main(String[] args) {
new Main();
}
}
*/
/*
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
class Bullet extends JLabel implements Runnable {
public Bullet() {
this.setSize(25,25);
this.setLocation(200,350);
this.setIcon(new ImageIcon("C:\\Users\\user\\Desktop\\java images\\eating.png"));
}
@Override
public void run() {
while(this.getY() >= 0) {
try {
this.setLocation(this.getX(), this.getY() -15);
Thread.sleep(20);
this.getParent().repaint();
this.getParent().revalidate();
Component [] j = this.getParent().getComponents();
Component k = j[0].equals(this) ? j[1] : j[0];
if(this.getX() > k.getX() - 30 && this.getX() < k.getX() + 30 &&
this.getY() > k.getY() - 30 && this.getY() < k.getY() + 30) {
Container cnt = this.getParent();
cnt.remove(k);
cnt.remove(this);
Target e = new Target();
cnt.add(e);
Thread th = new Thread(e);
th.start();
}
}
catch(InterruptedException e) {
}
}
this.getParent().remove(this);
}
}
class Target extends JLabel implements Runnable {
public Target() {
this.setSize(50,50);
this.setLocation(350,40);
this.setIcon(new ImageIcon("C:\\Users\\user\\Desktop\\java images\\hen.png"));
}
@Override
public void run() {
while(this.getX() >= 0) {
try {
this.setLocation(this.getX() - 5, this.getY());
this.getParent().repaint();
this.getParent().revalidate();
Thread.sleep(20);
System.out.println(this + " + " + this.getLocation() + " + " + this.getParent().countComponents());
}
catch (InterruptedException e)
{
}
}
Container cnt = this.getParent();
this.getParent().remove(this);
Target k = new Target();
cnt.add(k);
Thread th = new Thread(k);
th.start();
}
}
public class Main extends JFrame {
public Main() {
setTitle("사격 게임");
setSize(400,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cnt = getContentPane();
cnt.setLayout(null);
cnt.setFocusable(true);
cnt.requestFocus();
Target k = new Target();
cnt.add(k);
Thread th = new Thread(k);
th.start();
cnt.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) { }
@Override
public void keyReleased(KeyEvent e) { }
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_SPACE) {
if(cnt.countComponents() == 1) {
Bullet k = new Bullet();
cnt.add(k);
Thread th = new Thread(k);
th.start();
}
}
}
});
setVisible(true);
}
public static void main(String[] args) {
new Main();
}
}
*/
/*
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
class Snake extends JLabel implements Runnable {
int num = 0;
Vector<JLabel> SnakeBody = new Vector<JLabel>();
int [][] direction = {{1,0}, {-1,0}, {0,1}, {0,-1}};
public Snake(Container c) {
for(int i = 0; i < 11; i++) {
SnakeBody.add(new JLabel());
if(i == 0) {
SnakeBody.get(0).setIcon(new ImageIcon("C:\\Users\\user\\Desktop\\java images\\snake.png"));
}
else {
SnakeBody.get(i).setIcon(new ImageIcon("C:\\Users\\user\\Desktop\\java images\\square.png"));
}
SnakeBody.get(i).setSize(27,27);
SnakeBody.get(i).setLocation(200,200 + i*27);
c.add(SnakeBody.get(i));
}
}
@Override
public void run() {
while(true) {
try {
boolean ran = false;/*
while(true) {
ran = false;
Point now = new Point(SnakeBody.get(0).getX() + (27 * direction[num][0]) , SnakeBody.get(0).getY() + (27 * direction[num][1]));
for(int i = 1; i < 11; i++) {
if(now.getX() > SnakeBody.get(i).getX() - 10 && now.getX() < SnakeBody.get(i).getX() + 10 &&
now.getY() > SnakeBody.get(i).getY() - 10 && now.getY() < SnakeBody.get(i).getY() + 10) {
ran = true;
//System.out.println(SnakeBody.get(i).getLocation() + " " + now.getLocation());
}
}
if(ran != true) {
break;
}
}
//return ;
Point now = new Point(SnakeBody.get(0).getX() + (27 * direction[num][0]) , SnakeBody.get(0).getY() + (27 * direction[num][1]));
for(int i = 1; i < 11; i++) {
if(now.getX() > SnakeBody.get(i).getX() - 10 && now.getX() < SnakeBody.get(i).getX() + 10 &&
now.getY() > SnakeBody.get(i).getY() - 10 && now.getY() < SnakeBody.get(i).getY() + 10) {
ran = true;
}
}
if(now.getX() < -10 || now.getX() > 465 || now.getY() < -10 || now.getY() > 440) {
ran = true;
}
if(ran == false) {
for(int i = 10; i >= 1; i--) {
SnakeBody.get(i).setLocation(SnakeBody.get(i-1).getLocation());
}
SnakeBody.get(0).setLocation(SnakeBody.get(0).getX() + (27 * direction[num][0]) , SnakeBody.get(0).getY() + (27 * direction[num][1]));
}
Thread.sleep(200);
}
catch (InterruptedException e) {
return ;
}
}
}
}
public class Main extends JFrame {
public Main() {
setTitle("스네이크 움직이기");
setSize(500,500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cnt = getContentPane();
cnt.setLayout(null);
cnt.setFocusable(true);
cnt.requestFocus();
Snake obj = new Snake(cnt);
Thread Thrd = new Thread(obj);
Thrd.start();
cnt.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) { }
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_UP) {
obj.num = 3;
}
else if(e.getKeyCode() == KeyEvent.VK_DOWN) {
obj.num = 2;
}
else if(e.getKeyCode() == KeyEvent.VK_RIGHT) {
obj.num = 0;
}
else if(e.getKeyCode() == KeyEvent.VK_LEFT) {
obj.num = 1;
}
}
@Override
public void keyReleased(KeyEvent e) { }
});
setVisible(true);
}
public static void main(String[] args) {
new Main();
}
}
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
class adder implements Runnable {
Vector<JLabel> s = new Vector<JLabel>();
JPanel p = new JPanel();
JLabel lb = new JLabel();
int time = 6000, line = 1000;
public adder(Vector<JLabel> s, JPanel c, JLabel sc) {
this.s = s;
this.p = c;
this.lb = sc;
}
@Override
public void run() {
while(true) {
try {
if(Integer.parseInt(lb.getText()) >= line) {
line *= 2;
time /= 2;
}
Words k = new Words(s,p);
Thread th = new Thread(k);
th.start();
Thread.sleep(time);
}
catch (InterruptedException e) {
}
}
}
}
class Words extends JLabel implements Runnable {
Vector<JLabel> saveFile = new Vector<JLabel>();
JPanel cnt = new JPanel();
public Words(Vector<JLabel> save, JPanel c) {
this.setFont(new Font("Gothic", Font.ITALIC, 35));
this.setLocation((int)(Math.random()*250) + 50, 100);
this.setForeground(Color.magenta);
this.setSize(90,60);
this.setOpaque(false);
this.setVisible(true);
this.saveFile = save;
this.cnt = c;
saveFile.add(this);
this.setText("gay");
cnt.add(this);
}
@Override
public void run() {
while(this.getY() <= 470) {
try {
this.setLocation(this.getX(), this.getY() + 5);
Thread.sleep(200);
cnt.repaint();
cnt.revalidate();
System.out.println(saveFile.size());
}
catch(InterruptedException e) {
return;
}
}
cnt.remove(this);
saveFile.remove(this);
}
}
public class Main extends JFrame {
JPanel SouthPanel, NorthPanel;
JLabel Score;
TextField txtFld;
Vector<JLabel> NowText = new Vector<JLabel>();
public Main() {
setTitle("한컴타자연습");
setSize(400,600);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container cnt = getContentPane();
cnt.setVisible(true);
cnt.setLayout(new BorderLayout());
SouthPanel = new JPanel();
SouthPanel.setBackground(Color.DARK_GRAY);
SouthPanel.setLayout(new FlowLayout());
cnt.add(SouthPanel,BorderLayout.SOUTH);
txtFld = new TextField(30);
txtFld.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for(int i = 0; i < NowText.size(); i++) {
if(NowText.get(i).getText().equals(txtFld.getText())) {
Score.setText(Integer.toString(Integer.parseInt(Score.getText()) + 100*NowText.get(i).getText().length()));
NorthPanel.remove(NowText.get(i));
NowText.remove(NowText.get(i));
txtFld.setText("");
break;
}
}
if(txtFld.getText().equals("그만")) {
System.exit(0);
}
}
});
SouthPanel.add(txtFld);
NorthPanel = new JPanel();
NorthPanel.setLayout(null);
cnt.add(NorthPanel,BorderLayout.CENTER);
//Words w = new Words(NowText,NorthPanel);
//Thread th = new Thread(w);
//th.start();
Score = new JLabel("0");
Score.setSize(100,50);
Score.setLocation(35,15);
NorthPanel.add(Score);
adder editor = new adder(NowText,NorthPanel,Score);
Thread th = new Thread(editor);
th.start();
repaint();
}
public static void main(String[] args) {
new Main();
}
}