Java 游戏 扫雷 Applet 多媒体版


//所需音频,和图片资源,请按照下图所示位置及名字来存放和命名****//
 
import java.awt.event.MouseListener;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Minner extends JApplet implements MouseListener
{
	private static final long serialVersionUID = 2040001053540391750L;
	private final int WIDTH=30;
	private final int HEIGHT=20;
	private final int MINNERS=120;
	private int countOfMines=0;
	private int unvisibleElement=WIDTH*HEIGHT;
	private Element array[][];

	private int xofw=30;
	private int yofw=30;
	private Image images[];
	private Image bang;
	private Image mine;
	private Image unvisible;
	private boolean lose=false;
	private boolean win=false;
	
	public void init()
	{
		initArray();
		createMinners();
		countMinners();
		printArray();
		
		images=new Image[9];
		for(int i=0; i<images.length; i++)
			images[i]=getImage(getCodeBase(), "images/"+i+".jpg");
		
		System.out.println();
		bang=getImage(getCodeBase(),"images/bang.jpg");
		mine=getImage(getCodeBase(),"images/mine.jpg");
		unvisible=getImage(getCodeBase(),"images/stone1.jpg");
		addMouseListener(this);
	}
	
	public void paint(Graphics g)
	{
		setSize(WIDTH*xofw+1,HEIGHT*yofw+1);
		g.setColor(Color.blue);
		
		drawLines(g);
		loadArray(g);
	}
	

	public Position getPosition(int x,int y)
	{
		return new Position(x/xofw,y/yofw);
	}
	
	public void loadArray(Graphics g)
	{
		for(int i=0; i<HEIGHT; i++)
		{
			for(int j=0; j<WIDTH; j++)
			{
				if(array[i][j].getVisible())		//****可见的元素
				{
					if(array[i][j].getExist())		//****爆炸的地雷
					{
						if(lose)
							g.drawImage(bang, j*xofw+1, i*yofw+1, xofw-2, yofw-2, this);
						else
							g.drawImage(mine, j*xofw+1, i*yofw+1, xofw-2, yofw-2, this);
					}
					else							//****不是地雷的元素,显示Count
						g.drawImage(images[array[i][j].getCount()], j*xofw+1, i*yofw+1, xofw-2, yofw-2, this);
					
				}
				else
					if(array[i][j].getMineMark())
						g.drawImage(mine, j*xofw+1, i*yofw+1, xofw-2, yofw-2, this);
					else
						g.drawImage(unvisible, j*xofw+1, i*yofw+1, xofw-2, yofw-2, this);
			}
		}
	}
	
	public void drawLines(Graphics g)
	{
		
		for(int i=0
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值