在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例J2ME平台开发 → 植物大战僵尸 游戏源码下载

植物大战僵尸 游戏源码下载

J2ME平台开发

下载此实例
  • 开发语言:Java
  • 实例大小:3.10M
  • 下载次数:51
  • 浏览次数:1841
  • 发布时间:2013-12-31
  • 实例类别:J2ME平台开发
  • 发 布 人:luxianping
  • 文件格式:.rar
  • 所需积分:6
 相关标签:

实例介绍

【实例简介】

【实例截图】

【核心代码】

package nonoocean.MainPlayFrame;
import nonoocean.Scene.*;
import nonoocean.Bombs.*;
import nonoocean.Tools.*;
import nonoocean.Buildings.BuildingManager;
import nonoocean.Dialog.*;
import nonoocean.Element.*;
import nonoocean.WholeControl.*;
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
public class PlayPanel extends JPanel implements Runnable,MouseListener,MouseMotionListener,KeyListener,WindowListener {
	//background调试  只调用init()函数即可开始游戏
	public static boolean ispause=false;
	boolean shouldDrawBlood=false;
	SunNumber sunnumber=new SunNumber();
	private Select_menuDialog dialog=null;
	private CardManager cardmanager=new CardManager();
	private SunManager sunmanager=new SunManager();
	private ZonbieManager zonbieManager=new ZonbieManager();
	private Background background=new Background(cardmanager,sunmanager,zonbieManager);
	private CardListener cardlistener=new CardListener(cardmanager);
	private BuildingManager buildingManager=new BuildingManager(cardlistener);
    private BombManager bombManager=new BombManager();
    private WholeControlManager controlManager=new WholeControlManager(zonbieManager, buildingManager, bombManager,this);
	public Home home=new Home();
	
    AreaTest areaTest=new AreaTest();
	public GamePanel gp;
    //组建
    JButton jb_menu;
    Image image_menu,image_menu1;
    //调试变量
    smallZobie z;
    public PlayPanel(GamePanel gp){
    	super();
    	setLayout(null);
    	
    	this.gp=gp;
    	this.addMouseListener(this);
    	this.addMouseMotionListener(this);
       	addMenuButton();
    	//调试变量
       	jb_menu.setEnabled(false);
    	showme();
//    	z=new smallZobie();
    	//

//    	bg.init();
    }
    private void addMenuButton(){
    	image_menu=ImageLoad.loadImage("Dialog\\Dialog_mainmenu.png");
    	image_menu1=ImageLoad.loadImage("Dialog\\Dialog_mainmenu1.png");
    	
     	jb_menu=new JButton();
    	jb_menu.setIcon(new ImageIcon(image_menu));
    	jb_menu.setPressedIcon(new ImageIcon(image_menu1));
    	jb_menu.setCursor(new Cursor(Cursor.HAND_CURSOR));
    	jb_menu.setContentAreaFilled(false);
    	jb_menu.setIgnoreRepaint(true);
    	jb_menu.setBorder(null);
    	jb_menu.setBounds(690, 1, image_menu.getWidth(null), image_menu.getHeight(null));
    	jb_menu.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
				PlayPanel.ispause=true;
				if(dialog==null){
					dialog=new Select_menuDialog(gp.pf, true, returnme(),getX() 150,getY() 50);
				}
				else {
					dialog.setLocation(getX() 150,getY() 50);
					dialog.show();
				}
			}
		});
       add(jb_menu);
    }
    public PlayPanel returnme(){
    	 PlayPanel pp=this;
    	 return pp;
    }
	public void showme(){
	    setBackground(Color.RED);
		setLayout(null);
	}
	public void switchToEnd(){
	     gp.switchToEnd();
	}
	public void switchToMenu(){
		gp.switchToMenu();
	}
	//初始化函数
	public void init(){
		PlayPanel.ispause=false;
    	Thread t=new Thread(this);
    	t.start();
    	sunnumber.init();
    	cardmanager.init();
    	background.init();
    	sunmanager.init();
    	buildingManager.init();
    	bombManager.init();
    	home.init();
    	jb_menu.setEnabled(false);
	}
	//暂时调试
	public void paintComponent(Graphics g){
		super.paintComponent(g);
		g.drawImage(background.getImage_background(), 690, 0, 800, 600, 915, 0, 1025, 600, null);
	}
	public void paint(Graphics g){
		super.paint(g);
		background.drawBackground(g);
		if(background.laying.laying_end){
			cardmanager.drawCard(g);
			sunnumber.drawNum(g);
			buildingManager.drawBuildings(g, true);
			zonbieManager.drawAllZonbie(g, true);
			cardlistener.drawMoveImage(g);
			bombManager.drawAllBomb(g);
			home.drawme(g);
			sunmanager.drawAllSun(g);
			if(!jb_menu.isEnabled())jb_menu.setEnabled(true);
		}
//		for(int i=0;i<5;i  ){
//			g.fillOval(690, 150, 5, 5);
//			g.fillOval(690, 247, 5, 5);
//			g.fillOval(690, 344, 5, 5);
//			g.fillOval(690, 441, 5, 5);
//			g.fillOval(690, 538, 5, 5);
//		}
	}
	@Override
	public void run() {
		// TODO Auto-generated method stub
		while(true){
			try {
				Thread.sleep(20);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			this.repaint();
		
		}
	}
	@Override
	public void mouseDragged(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void mouseMoved(MouseEvent arg0) {
		// TODO Auto-generated method stub

		if(background.laying.laying_end){
			
			cardlistener.setMouveInfo(arg0.getX(), arg0.getY());
			cardlistener.judgeWhatShouldDraw(arg0.getX(), arg0.getY());
			if(sunmanager.istouch(arg0.getX(), arg0.getY()))setCursor(new Cursor(Cursor.HAND_CURSOR));
			else setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
		}
	}
	@Override
	public void mouseClicked(MouseEvent arg0) {
		// TODO Auto-generated method stub
	}
	@Override
	public void mouseEntered(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void mouseExited(MouseEvent arg0) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void mousePressed(MouseEvent e) {
		// TODO Auto-generated method stub
		if(background.laying.laying_end){
			if(e.getModifiers()==InputEvent.BUTTON1_MASK){
				
				cardlistener.judgeShouldDraw(e.getX(), e.getY());
				sunmanager.setclick(e.getX(), e.getY());
				buildingManager.setBuiding(e.getX(), e.getY());
			}
			
			if(e.getModifiers()==InputEvent.BUTTON3_MASK){
				cardlistener.judgeShouldDraw(75, 0);
				buildingManager.setBuiding(0, 0);
			}
		}
	}
	@Override
	public void mouseReleased(MouseEvent arg0) {
		
		// TODO Auto-generated method stub
		
	}
	@Override
	public void keyPressed(KeyEvent arg0) {
		// TODO Auto-generated method stub
		if(arg0.getKeyCode()==KeyEvent.VK_ALT){
			shouldDrawBlood=true;
		}
	}
	@Override
	public void keyReleased(KeyEvent arg0) {
		// TODO Auto-generated method stub
		shouldDrawBlood=false;
	}
	@Override
	public void keyTyped(KeyEvent arg0) {
		// TODO Auto-generated method stub
		
	}
	public void contentPane_mouseClicked(MouseEvent e) {
	      int mods = e.getModifiers();
	//鼠标右键
	       if ((mods & InputEvent.BUTTON3_MASK) != 0) {
	    	   System.out.println("鼠标右键");
	       }
	   }
	@Override
	public void windowActivated(WindowEvent e) {
		// TODO Auto-generated method stub
		System.out.println("窗口活动");
		PlayPanel.ispause=false;
	}
	@Override
	public void windowClosed(WindowEvent e) {
		// TODO Auto-generated method stub
		System.out.println("窗口关闭");
	}
	@Override
	public void windowClosing(WindowEvent e) {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void windowDeactivated(WindowEvent e) {
		// TODO Auto-generated method stub
		System.out.println("窗口不活动");
		PlayPanel.ispause=true;
	}
	@Override
	public void windowDeiconified(WindowEvent e) {
		// TODO Auto-generated method stub
		System.out.println("窗口从最小化恢复");
	}
	@Override
	public void windowIconified(WindowEvent e) {
		// TODO Auto-generated method stub
		System.out.println("窗口最小化");
	}
	@Override
	public void windowOpened(WindowEvent e) {
		// TODO Auto-generated method stub
		System.out.println("窗口打开");
	}

}

标签:

实例下载地址

植物大战僵尸 游戏源码下载

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

第 1 楼 sunwenjun 发表于: 2015-09-16 13:44 26
有背景音乐吗?

支持(0) 盖楼(回复)

发表评论

(您的评论需要经过审核才能显示)

查看所有1条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警