mirror of
https://ee.coding.net/mcontext/mContext/FunningChicken.git
synced 2024-09-18 06:24:54 +08:00
初步完成功能
This commit is contained in:
parent
1abd883544
commit
7a3e2fe60f
@ -18,8 +18,20 @@ public class Demo {
|
||||
int x1 =Demo1.broken1.getHeight();
|
||||
int y = Demo1.broken2.getWidth();
|
||||
int y1 = Demo1.broken1.getWidth();
|
||||
System.out.println("X:"+x+"_Y:"+y);
|
||||
System.out.println("X1:"+x1+"_Y1:"+y1);
|
||||
//System.out.println("X:"+x+"_Y:"+y);
|
||||
//System.out.println("X1:"+x1+"_Y1:"+y1);
|
||||
|
||||
ArrayList<String>a = new ArrayList<>();
|
||||
a.add("1");
|
||||
a.add("2");
|
||||
a.add("3");
|
||||
System.out.println("A:"+a);
|
||||
ArrayList<String> b = new ArrayList();
|
||||
b.add("4");
|
||||
b.add("5");
|
||||
b.add("6");
|
||||
a = (ArrayList<String>)b.clone();
|
||||
System.out.println("A:"+a);
|
||||
}
|
||||
}
|
||||
|
||||
|
119
src/Fanning.java
119
src/Fanning.java
@ -1,8 +1,7 @@
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.*;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -12,8 +11,11 @@ import javax.imageio.ImageIO;
|
||||
|
||||
public class Fanning extends JPanel {
|
||||
|
||||
public static final int WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width;
|
||||
public static final int HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height;
|
||||
//public static final int WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width;
|
||||
// public static final int HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height;
|
||||
public static final int WIDTH = 500;
|
||||
public static final int HEIGHT = 700;
|
||||
|
||||
|
||||
public static BufferedImage background;
|
||||
public static BufferedImage start;
|
||||
@ -37,18 +39,16 @@ public class Fanning extends JPanel {
|
||||
public static BufferedImage broken2;
|
||||
|
||||
|
||||
|
||||
|
||||
static {
|
||||
try {
|
||||
background = ImageIO.read(Fanning.class.getResource("background.png"));
|
||||
// background = new BufferedImage(WIDTH, HEIGHT,BufferedImage.TYPE_INT_RGB);
|
||||
// background = new BufferedImage(WIDTH, HEIGHT,BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
start = ImageIO.read(Fanning.class.getResource("start.png"));
|
||||
//start = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
pause = ImageIO.read(Fanning.class.getResource("pause.png"));
|
||||
// pause = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
// pause = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
hen0 = ImageIO.read(Fanning.class.getResource("hen0.png"));
|
||||
//hen0 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
@ -57,19 +57,19 @@ public class Fanning extends JPanel {
|
||||
//hen1 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
egg0 = ImageIO.read(Fanning.class.getResource("egg0.png"));
|
||||
// egg0 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
// egg0 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
egg1 = ImageIO.read(Fanning.class.getResource("egg1.png"));
|
||||
//egg1 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
egg2 = ImageIO.read(Fanning.class.getResource("egg2.png"));
|
||||
// egg2 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
// egg2 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
egg3 = ImageIO.read(Fanning.class.getResource("egg3.png"));
|
||||
//egg3 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
egg4 = ImageIO.read(Fanning.class.getResource("egg4.png"));
|
||||
// egg4 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
// egg4 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
eggCracked0 = ImageIO.read(Fanning.class.getResource("eggCracked0.png"));
|
||||
//eggCracked0 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
@ -78,7 +78,7 @@ public class Fanning extends JPanel {
|
||||
//eggCracked1 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
eggCracked2 = ImageIO.read(Fanning.class.getResource("eggCracked2.png"));
|
||||
// eggCracked2 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
// eggCracked2 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
eggCracked3 = ImageIO.read(Fanning.class.getResource("eggCracked3.png"));
|
||||
//eggCracked3 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
@ -93,43 +93,45 @@ public class Fanning extends JPanel {
|
||||
//chicken1 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
broken0 = ImageIO.read(Fanning.class.getResource("broken0.png"));
|
||||
// broken0 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
// broken0 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
broken1 = ImageIO.read(Fanning.class.getResource("broken1.png"));
|
||||
//broken1 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
broken2 = ImageIO.read(Fanning.class.getResource("broken2.png"));
|
||||
// broken2 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
// broken2 = new BufferedImage(WIDTH/20, HEIGHT/50,BufferedImage.TYPE_INT_RGB);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static final int START = 0;
|
||||
public static final int RUNNING = 1;
|
||||
public static final int PAUSE= 2;
|
||||
public static final int PAUSE = 2;
|
||||
public static final int GAME_OVER = 3;
|
||||
private int state = START;
|
||||
|
||||
private Hen hen = new Hen();
|
||||
|
||||
private ArrayList <EggChicken> eggChickensOBJ = new ArrayList<>();
|
||||
private ArrayList<EggChicken> eggChickensOBJ = new ArrayList<>();
|
||||
|
||||
public void action() {
|
||||
|
||||
EggChicken eggChicken = new EggChicken();
|
||||
MouseAdapter l = new MouseAdapter() {
|
||||
|
||||
// 重写鼠标移动
|
||||
public void mouseMoved(MouseEvent e) {
|
||||
if(state==RUNNING){
|
||||
int x = e.getX();
|
||||
int y = e.getY();
|
||||
hen.moveTo(x, y);
|
||||
if (state == RUNNING) {
|
||||
int henX = e.getX();
|
||||
int henY = e.getY();
|
||||
hen.moveTo(henX, henY);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
switch(state){
|
||||
switch (state) {
|
||||
case START:
|
||||
state = RUNNING;
|
||||
break;
|
||||
@ -140,32 +142,57 @@ public class Fanning extends JPanel {
|
||||
case RUNNING:
|
||||
int x = e.getX();
|
||||
int y = e.getY();
|
||||
EggChicken eggChicken = new EggChicken();
|
||||
eggChicken.appear(x,y);
|
||||
eggChickensOBJ.add(eggChicken);
|
||||
//EggChicken eggChicken = new EggChicken();
|
||||
eggChicken.appear(x, y);
|
||||
// eggChickensOBJ.add(eggChicken);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void mouseExited(MouseEvent e) {
|
||||
if(state==RUNNING)
|
||||
if (state == RUNNING)
|
||||
state = PAUSE;
|
||||
}
|
||||
|
||||
public void mouseEntered(MouseEvent e) {
|
||||
if(state==PAUSE)
|
||||
state=RUNNING;
|
||||
if (state == PAUSE)
|
||||
state = RUNNING;
|
||||
}
|
||||
};
|
||||
|
||||
this.addMouseListener(l);// 处理鼠标操作事件
|
||||
this.addMouseMotionListener(l);// 处理鼠标移动事件
|
||||
|
||||
addKeyListener(new KeyListener(){
|
||||
@Override
|
||||
public void keyTyped(KeyEvent e) {
|
||||
System.out.println(e.getKeyCode()+"键盘点击");
|
||||
}
|
||||
|
||||
public void keyPressed(KeyEvent e) {
|
||||
System.out.println(e.getKeyCode()+"键盘点击");
|
||||
switch (state){
|
||||
case RUNNING:
|
||||
eggChickensOBJ.add(eggChicken);
|
||||
break;
|
||||
}
|
||||
repaint();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void keyReleased(KeyEvent e) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
int interval = 10;// 时间间隔,以毫秒为单位
|
||||
int interval1 = 10;// 时间间隔,以毫秒为单位
|
||||
Timer timer = new Timer();
|
||||
timer.schedule(new TimerTask() {
|
||||
public void run() {
|
||||
if(state==RUNNING){
|
||||
if (state == RUNNING) {
|
||||
stepAction();
|
||||
outOfBoundsAction();
|
||||
}
|
||||
@ -175,17 +202,24 @@ public class Fanning extends JPanel {
|
||||
|
||||
}
|
||||
|
||||
public void outOfBoundsAction(){
|
||||
for (int i = eggChickensOBJ.size()-1;i>=0;i--) {
|
||||
if (eggChickensOBJ.get(i).outOfBounds()) {
|
||||
eggChickensOBJ.remove(i);
|
||||
public void outOfBoundsAction() {
|
||||
ArrayList<EggChicken> eggChickensArrayList = new ArrayList<>();
|
||||
for (int i = 0; i < eggChickensOBJ.size(); i++) {
|
||||
if (!eggChickensOBJ.get(i).outOfBounds()) {
|
||||
eggChickensArrayList.add(eggChickensOBJ.get(i));
|
||||
}
|
||||
}
|
||||
eggChickensOBJ = (ArrayList<EggChicken>) eggChickensArrayList.clone();
|
||||
/* for (int i = eggChickensOBJ.size()-1;i>=0;i--) {
|
||||
if (eggChickensOBJ.get(i).outOfBounds()) {
|
||||
eggChickensOBJ.remove(i);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
public void stepAction(){
|
||||
public void stepAction() {
|
||||
hen.step();
|
||||
for (int i=0;i<eggChickensOBJ.size();i++) {
|
||||
for (int i = 0; i < eggChickensOBJ.size(); i++) {
|
||||
eggChickensOBJ.get(i).step();
|
||||
}
|
||||
}
|
||||
@ -198,12 +232,12 @@ public class Fanning extends JPanel {
|
||||
|
||||
}
|
||||
|
||||
public void paintHen(Graphics g){
|
||||
g.drawImage(hen.image,hen.x,hen.y,null);
|
||||
public void paintHen(Graphics g) {
|
||||
g.drawImage(hen.image, hen.x, hen.y, null);
|
||||
}
|
||||
|
||||
public void paintEgg(Graphics g){
|
||||
for (EggChicken c:eggChickensOBJ) {
|
||||
public void paintEgg(Graphics g) {
|
||||
for (EggChicken c : eggChickensOBJ) {
|
||||
g.drawImage(c.image, c.x, c.y, null);
|
||||
}
|
||||
}
|
||||
@ -211,15 +245,16 @@ public class Fanning extends JPanel {
|
||||
|
||||
/**
|
||||
* 画状态
|
||||
*
|
||||
* @param g
|
||||
*/
|
||||
public void paintState(Graphics g) {
|
||||
switch(state){
|
||||
switch (state) {
|
||||
case START:
|
||||
g.drawImage(start, 0, 0, null);
|
||||
break;
|
||||
case PAUSE:
|
||||
g.drawImage(pause, 0, 0,null);
|
||||
g.drawImage(pause, 0, 0, null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -229,7 +264,7 @@ public class Fanning extends JPanel {
|
||||
Fanning game = new Fanning();
|
||||
frame.add(game);
|
||||
frame.setUndecorated(true);
|
||||
frame.setSize(WIDTH,HEIGHT);
|
||||
frame.setSize(WIDTH, HEIGHT);
|
||||
frame.setAlwaysOnTop(true);
|
||||
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
frame.setLocationRelativeTo(null);
|
||||
|
Loading…
Reference in New Issue
Block a user