作者:叁念
1.闲来无事,做了个简单版的植物大战僵尸,不多说直接看效果图:
2.程序的项目结构如下:
3.先上素材
图片素材 链接:https://pan.baidu.com/s/1dGqqIkx 密码:forj
项目源码 链接:https://pan.baidu.com/s/1dHaXVhB 密码:unb4
4.下面贴上代码
MainGame .javaimport javax.swing.JFrame;
import com.yujie.draw.GameDrawPanel;
/**
* 程序主入口
*
* @author yujie
*
*/
public class MainGame {
public static void main(String[] args) {
JFrame jFrame = new JFrame();
jFrame.setBounds(0, 0, 1400, 600);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setResizable(false);
GameDrawPanel gameDrawPanel = new GameDrawPanel();
new Thread(gameDrawPanel).start();
jFrame.addMouseListener(gameDrawPanel);
jFrame.addMouseMotionListener(gameDrawPanel);
jFrame.add(gameDrawPanel);
jFrame.setVisible(true);
}
}
GameDrawPanel .javapackage com.yujie.draw;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.net.URL;
import java.util.ArrayList;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.Timer;
import com.yujie.Factory.ZombieFactory;
import com.yujie.model.Hammer;
import com.yujie.model.Zombie;
/**
* 游戏绘制面板
*
* @author yujie
*
*/
public class GameDrawPanel extends JPanel implements Runnable, MouseMotionL
e934
istener, MouseListener {
private static final long serialVersionUID = 1L;
private