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

📄 graphicsutil.java

📁 这是用java写的一个扫雷的小游戏程序。运行于windows2000希望大家喜欢
💻 JAVA
字号:
/* * GraphicsUtil.java * * Created on April 20, 2005, 3:40 PM */package minegame;import java.awt.*;import javax.swing.*;/** * Provide graphics drawing utility methods for field cells. * * Cell Size 32*32 * * @author hysun */public class GraphicsUtil {        /** Number display colors */    public static Color[] colorreg = new Color[] {        null,                 // 0        Color.blue,           // 1        Color.green.darker(), // 2        Color.red,            // 3        Color.blue.darker(),  // 4        Color.MAGENTA,        // 5        Color.CYAN.darker(),  // 6        Color.BLACK,          // 7        Color.orange.darker() // 8    };        /** Mine body color */    public static Color mbcolor = new Color(90, 90, 90);        /** unknown cell color */    public static Color ukcolor = new Color(99, 130, 191);        /** number font */    public static Font numfont = new Font("Verdana", Font.BOLD, 18);        /** question mark font */    public static Font qnmfont = new Font("Verdana", Font.PLAIN, 10);        /** Draw an unknown cell */    public static void drawUnknown(Graphics g, int x, int y) {        g.setColor(ukcolor);        g.fillRect(x, y, 32, 32);    }        /** Draw a mine cell */    public static void drawMine(Graphics g, int x, int y) {        g.clearRect(x, y, 32, 32);        g.setColor(mbcolor);        g.fillOval(x+5, y+9, 21, 19);        g.setColor(Color.black);        g.fillRect(x+11, y+5, 10, 6);    }        /** Draw a flag cell */    public static void drawFlag(Graphics g, int x, int y) {        g.clearRect(x, y, 32, 32);        g.setColor(Color.red);        g.fillRect(x+8, y+8, 16, 10);        g.setColor(Color.black);        g.drawLine(x+8, y+8, x+8, y+24);        g.drawLine(x+9, y+8, x+9, y+24);    }        /** Draw a doubt cell */    public static void drawDoubt(Graphics g, int x, int y) {        g.clearRect(x, y, 32, 32);        g.setColor(colorreg[4]);        g.fillRect(x+8, y+8, 16, 10);        g.setColor(Color.black);        g.drawLine(x+8, y+8, x+8, y+24);        g.drawLine(x+9, y+8, x+9, y+24);        g.setColor(Color.yellow);        g.setFont(qnmfont);        FontMetrics fm = g.getFontMetrics();        String s = "?";        int sx = (14 - fm.stringWidth(s)) / 2;        int sy = (10 - fm.getHeight()) / 2 + fm.getAscent();        g.drawString(s, x+sx+10, y+sy+8);    }        /** Draw a cross cell. used to indicate wrong flag/doubt when game over */    public static void drawCross(Graphics g, int x, int y) {        g.setColor(Color.black);        g.drawLine(x+2, y+2, x+28, y+28);        g.drawLine(x+2, y+3, x+28, y+29);        g.drawLine(x+3, y+2, x+29, y+28);        g.drawLine(x+2, y+28, x+28, y+2);        g.drawLine(x+2, y+27, x+28, y+1);        g.drawLine(x+3, y+28, x+29, y+2);    }        /** Draw a number cell */    public static void drawNumber(Graphics g, int x, int y, int i) {        g.clearRect(x, y, 32, 32);        if (i == 0)            return;        g.setColor(colorreg[i]);        g.setFont(numfont);        FontMetrics fm = g.getFontMetrics();        String s = String.valueOf(i);        int sx = (32 - fm.stringWidth(s)) / 2;        int sy = (32 - fm.getHeight()) / 2 + fm.getAscent();        g.drawString(s, x+sx, y+sy);    }    }

⌨️ 快捷键说明

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