?? piece.java
字號:
/*
* Piece.java
*
* Copyright 2001 SkyArts. All Rights Reserved.
*/
import javax.microedition.lcdui.Graphics;
/**
* 顯示Cube方塊的類
*
* @author Hideki Yonekawa
* @version 1.0
*/
class Piece {
/** 儲存紅色的常量 */
static final int RED = 0x00FF0000;
/** 儲存綠色的常量 */
static final int GREEN = 0x0000FF00;
/** 儲存藍色的常量 */
static final int BLUE = 0x000000FF;
/** 儲存黃色的常量 */
static final int YELLOW = 0x00FFFF00;
/** 儲存現在顏色的變量 */
int currentColor = 0x00FFFFFF;
/** 代表是否與上方方塊湊成同樣顏色的標志變量 */
boolean isMatchUp = false;
/** 代表是否與左方方塊湊成同樣顏色的標志變量 */
boolean isMatchLeft = false;
/** 代表是否與下方方塊湊成同樣顏色的標志變量 */
boolean isMatchDown = false;
/** 代表是否與右方方塊湊成同樣顏色的標志變量 */
boolean isMatchRight = false;
/** 儲存寬度的常量 */
static final int WIDTH = 12;
/** 儲存高度的常量 */
static final int HEIGHT = 12;
/**
* 進行描繪的方法
* 進行@param g 描繪時所用的Graphics對象
* 開始@param x 描繪的X坐標
* 開始@param y 描繪的Y坐標
*/
void doDraw(Graphics g, int x, int y) {
//以現在所儲存的顏色來描繪內側
g.setColor(this.currentColor);
g.fillRect(x, y, WIDTH, HEIGHT);
//描繪外側(與隔壁湊在一起的話就不描繪)
g.setColor(0x00000000);
if(! isMatchUp) {
//沒有和上面湊成同色時
g.drawLine(x, y, x+WIDTH, y);
}else {
if(isMatchLeft) {
//細微調整
g.drawLine(x, y, x, y);
}
}
if(! isMatchRight) {
//沒有和右方湊成同色時
g.drawLine(x+WIDTH, y, x+WIDTH, y+HEIGHT);
}
if(! isMatchDown) {
//沒有和下方湊成同色時
g.drawLine(x, y+HEIGHT, x+WIDTH, y+HEIGHT);
}
if(! isMatchLeft) {
//沒有和左方湊成同色時
g.drawLine(x, y, x, y+HEIGHT);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -