📄 fieldcell.java
字号:
/* * FieldCell.java * * Created on April 20, 2005, 5:36 PM */package minegame;import java.awt.*;import javax.swing.*;/** * * @author hysun */public class FieldCell { /** state constant */ public static final int UNKNOWN = 0; /** state constant */ public static final int FLAGGED = 1; /** state constant */ public static final int DOUBTED = 2; /** state constant */ public static final int REVEALED = 3; /** state constant */ public static final int WRONG_F = 4; /** state constant */ public static final int WRONG_D = 5; /** isMine indicator */ private boolean isMine = false; /** state variable */ private int state = UNKNOWN; /** * Graphics Hint variable: * gHint ranges from 0 to 14. * - 0-8: number display. * - 9: unknown; * - 10: mine * - 11: flag * - 12: crossed flag * - 13: doubt * - 14: crossed doubt */ private int gHint = 9; /** number of neighboring mines; used only if not a mine cell */ private int number = -1; public FieldCell() { } public void setState(int s) { state = s; switch (s) { case UNKNOWN: gHint = 9; break; case FLAGGED: gHint = 11; break; case DOUBTED: gHint = 13; break; case REVEALED: gHint = isMine ? 10 : number; break; case WRONG_F: gHint = 12; break; case WRONG_D: gHint = 14; break; } } public int getState() { return state; } public void setMine(boolean b) { isMine = b; } public boolean isMine() { return isMine; } public void setNumber(int num) { if (num < 0 || num > 8) return; number = num; } public int getNumber() { return number; } private void setGHint(int h) { gHint = h; } /** Provide graphics drawing based on gHint for the GamePanel component */ public void draw(Graphics g, int x, int y) { if (gHint < 0 || gHint > 14) return; switch (gHint) { case 9: GraphicsUtil.drawUnknown(g, x, y); return; case 10: GraphicsUtil.drawMine(g, x, y); return; case 11: GraphicsUtil.drawFlag(g, x, y); return; case 12: GraphicsUtil.drawFlag(g, x, y); GraphicsUtil.drawCross(g, x, y); return; case 13: GraphicsUtil.drawDoubt(g, x, y); return; case 14: GraphicsUtil.drawDoubt(g, x, y); GraphicsUtil.drawCross(g, x, y); return; default: GraphicsUtil.drawNumber(g, x, y, gHint); return; } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -