⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lines.java

📁 经典java游戏改版带数据库
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    private boolean mouseMove(int i1, int j1)    {        try        {            if(!isHideHero) {            	isHideHero = true;            	repaint();            	return true;            }            else           	if(isShowHero){          		isShowHero = false;          		isHideHero = false;        	  	readHeroTable();          		showHeroTable();           	}           	else        	if(brighter)            {                brighter = false;                drawButton(clipRect,sqrt,false);                if(createImage == 0 || createImage == 1)                {                    if(getFontMetrics > getHeight)                        getHeight = getFontMetrics;                    if(getFontMetrics > 0)                        black++;                    T();                }                else                if(createImage == -1)                {                    black++;                    T();                }            }            else            if(isPlain)            {                isPlain = false;                drawButton(getGraphics,getFont,false);                if(createImage == 0 || createImage == 1)                    e();            }        }        catch(Exception exception)        {            exception.printStackTrace();        }        return true;    }//  -----------------------------------------------------------------------    private boolean p(int i1, int j1)    {        return dispose[i1][j1] != 0;    }//  -----------------------------------------------------------------------    private void writeScore()    {        //输出当前分数    	if(getFontMetrics < 0)            getFontMetrics = 0;        Graphics g1 = Serif.getGraphics();        if(g1 == null)            return;        g1.setColor(darker);        g1.fillRect(1, 1, 94, 22);        //计算分数        char ac[] = getScore(getFontMetrics, 6);        Score = Integer.parseInt(String.valueOf(ac));        if(Score>playerBestScore)playerBestScore=Score;        Font font = g1.getFont();        font = new Font(font.getName(), 1, font.getSize());        g1.setFont(font);        FontMetrics fontmetrics = g1.getFontMetrics(font);        g1.setColor(Color.black);        g1.drawChars(ac, 0, ac.length, (96 - fontmetrics.charsWidth(ac, 0, ac.length)) / 2, (24 - fontmetrics.getHeight()) / 2 + fontmetrics.getMaxAscent());        drawImage.drawImage(Serif, getSize.x, getSize.y, this);        Graphics g2 = getGraphics();        if(g2 != null)            g2.drawImage(Serif, getSize.x, getSize.y, this);    }//  ------------------------------------------------------------------------    private boolean isHero() {    	for(int i = 0; i<10;i++)    		if(Score>Integer.parseInt(heroTable[1][i])) {    			heroID = i;    			return true;    		}    	return false;    }//	------------------------------------------------------------------------    private void sortHero(){    	for(int i = 8;i>heroID-1;i--) {    		for(int j = 0;j<4;j++)     			heroTable[j][i+1] = heroTable[j][i];      	}			java.util.Date currentDate = new java.util.Date();			SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd");			heroTable[1][heroID] = Integer.toString(Score);			heroTable[2][heroID] = PlayerName;			heroTable[3][heroID] = formatter.format(currentDate);    }//  -----------------------------------------------------------------------    private Image r(int ai[][][])    {        byte byte0 = 39;        int ai1[] = new int[byte0 * byte0];        S(ai);        for(int i1 = 0; i1 < byte0; i1++)        {            for(int j1 = 0; j1 < byte0; j1++)            {                int k1 = ai[i1][j1][0];                int l1 = ai[i1][j1][1];                int i2 = ai[i1][j1][2];                ai1[i1 + j1 * byte0] = (new Color(k1, l1, i2)).getRGB();            }        }        Image image = createImage(new MemoryImageSource(byte0, byte0, ai1, 0, byte0));        return image;    }//  -----------------------------------------------------------------------    private void s(int i1, int j1, int k1, int l1)    {        //i1,j1为单元格行列坐标,k1为上下偏移量,l1单元格精灵颜色号    	Graphics g1 = getGraphics();	//或区小应用程序画布        if(g1 == null)            return;        i1 = 12 + i1 * 40;		//计算单元格左上角坐标        j1 = 10 + j1 * 40;		//...        Graphics g2 = setCursor.getGraphics();	//精灵画布        if(g2 == null || l1 <= 0 || l1 > 7)		//画布空或非法颜色号        {            return;        }        else									//画精灵        {            g2.drawImage(getGreen, 0, 0, this);            g2.drawImage(create[l1 - 1], 0, k1, this);            g1.drawImage(setCursor, i1, j1, this);            return;        }    }//  -----------------------------------------------------------------------    private void drawCell(int i1, int j1, int k1, int l1)    {    	//画具体单元格内容,空白,精灵,提示等    	//创建40*40画布    	Graphics g1 = drawImage.create(12 + i1 * 40, 10 + j1 * 40, 39, 39);        if(k1 > 5)            k1 = 5;        if(k1 == 0 || l1 == 0 || l1 > 7)            g1.drawImage(getGreen, 0, 0, this);        else            g1.drawImage(white[l1 - 1][k1 - 1], 0, 0, this);        g1.dispose();    }//  -----------------------------------------------------------------------    private void drawCell(int i1, int j1)    {    	//画单元格    	if(W(i1, j1))	//空格        {            if(p(i1, j1))            {                drawCell(i1, j1, 1, dispose[i1][j1]);                return;            }            else            {                drawCell(i1, j1, 0, 0);                return;            }        }        else	//有精灵占用        {            drawCell(i1, j1, 5, cellColor(i1, j1));            return;        }    }//-------------------------------------------------------------------------------------    private void gameInfomation(Graphics g1)    {    	//画信息标题和其他信息    	//信息区矩形区大小位置    	int left = getSize.x;        int right = left + getSize.width;        byte byte0 = 90;        createInfoImage(g1, "游戏次数:", black, 5, left, right, 60);        createInfoImage(g1, "最高分数:", getHeight, 6, left, right, 80);        createInfoImage(g1, "最高记录:", gameBestScore, 7, left, right, 100);        createInfoImage(g1, "玩家记录:", playerBestScore, 8, left, right, 120);        if(!z())        	writeText2(g1, left, right, 140);    }//--------------------------------------------------------------------------------------    private void u()    {        try        {            getAppletContext().showDocument(new URL("http://172.16.2.101"), "_new");            return;        }        catch(Exception _ex)        {            return;        }    }//  -----------------------------------------------------------------------    public void run()    {        initImage();        System.gc();        Code = true;        String s1 = getParameter("game");        setState(s1);        enableEvents(16L);        enableEvents(32L);        while(!contains)         {            int i1 = 100;            switch(createImage)            {            case 4: // '\004'            default:                break;            case -1:             case 0: // '\0'                i1 = 100;                break;            case 1: // '\001'                i1 = 40;                activeSprit();                break;            case 2: // '\002'	//移动精灵                i1 = 30;                if(m() == 1)                    break;                if(w())                {                    drawLine = false;                    length = 5;                    createImage = 5;                }                else                {                    X();                    getY = 4;                    createImage = 3;                }                break;            case 3: // '\003'	//每个精灵计算一次,消行            	                i1 = 50;                if(J() != 0)                    break;                if(w())                {                    drawLine = true;                    length = 5;                    createImage = 5;                    break;                }                if(l() == 0)	//游戏结束,l()判断游戏是否结束                {                    if(createImage != -1)                        black++;                    createImage = -1;                    if(getFontMetrics > getHeight)                    {                        getHeight = getFontMetrics;                        String as[] = {"祝贺!", "最新记录!"};                        GameOver(as);                    }                    else                    {                    	String as[] = {"游戏结束.", "重新开始."};                        GameOver(as);                    }                }                else                {                    createImage = 0;                }                break;            case 5: // '\005'                i1 = 30;                if(n() != 0)                    break;                createImage = 0;                if(drawLine && l() == 0)                    createImage = -1;                break;            }            try            {                Thread.sleep(i1);            }            catch(InterruptedException _ex) { }        } }//  -----------------------------------------------------------------------    public int isReady()    {        return !Code ? 0 : 1;    }//  -----------------------------------------------------------------------    public void init()    {            	inputBox ibox = new inputBox();    	PlayerName = ibox.getString();    	ibox.dispose();        readHeroTable();        //取背景色方案参数,如没指定则使用0号配色方案        int i1;        try        {            i1 = Integer.parseInt(getParameter("bColor").trim());        }        catch(Exception _ex)        {            i1 = 0;        }        setBGColor(i1);        repaint();                //初始化画布drawImage        Dimension dimension = getSize();        width = dimension.width;        height = dimension.height;        dimension = null;        Z = createImage(width, height);        drawImage = Z.getGraphics();                //初始化棋盘9*9整形数组值全为0        int j1 = 0;        do        {            int k1 = 0;            do            {                I[j1][k1] = 0;                getDescent[j1][k1] = 0;                dispose[j1][k1] = 0;                getMaxAscent[j1][k1] = 0;            }            while(++k1 < 9);        }        while(++j1 < 9);    }//  -----------------------------------------------------------------------    private void v()    {        int i1 = 0;        do        {            int j1 = 0;            do                getDescent[i1][j1] = I[i1][j1];            while(++j1 < 9);        }        while(++i1 < 9);        setFont = getFontMetrics;    }//  -----------------------------------------------------------------------    private int cellColor(int i1, int j1)    {        return I[i1][j1] & 0xf;    }//  -----------------------------------------------------------------------    private boolean w()    {        int i1 = 0;        do        {            int i2 = 0;            do                getMaxAscent[i1][i2] = 0;            while(++i2 < 9);        }        while(++i1 < 9);        round = 0;        int j2 = 0;        do        {            int j1 = 0;            do                if(I[j1][j2] != 0)                {                    int k4 = I[j1][j2];                    int l4 = 0;                    int k1 = j1;                    int k2 = j2;                    for(; k1 < 9; k1++)                    {                        if(I[k1][k2] != k4)                            break;                        l4++;                    }                    if(l4 >= 5)                    {                        round += l4;                        int i5 = 0;                        k1 = j1;                        int l2 = j2;                        while(i5 < l4)                         {                            getMaxAscent[k1][l2] = k4;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -