?? ground.java
字號:
package cn.edu.usc.snake.entities;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import cn.edu.usc.snake.util.ConstValue;
public class Ground {
private int[][] rocks = new int[ConstValue.PANEL_WIDTH][ConstValue.PANEL_HEIGHT];
public Ground() {
for(int x = 0; x < ConstValue.PANEL_WIDTH; x ++) {
rocks[x][0] = 1;
rocks[x][ConstValue.PANEL_HEIGHT - 1] = 1;
}
}
/**
* 檢查點p是否為石頭
* @param p
* @return
*/
public boolean isRock(Point p) {
for(int x = 0; x < ConstValue.PANEL_WIDTH; x ++) {
for(int y = 0; y <ConstValue.PANEL_HEIGHT; y ++) {
if(1 == rocks[x][y] &&
(x == p.x && y == p.y)) {
return true;
}
}
}
return false;
}
/**
* 檢查蛇是否碰到石頭
* @param snake
* @return
*/
public boolean isSnakeEatRock(Snake snake) {
for(int x = 0; x < ConstValue.PANEL_WIDTH; x ++) {
for(int y = 0; y < ConstValue.PANEL_HEIGHT; y ++) {
if(1 == rocks[x][y] &&
(x == snake.getHead().x && y == snake.getHead().y)) {
return true;
}
}
}
return false;
}
/**
* 顯示石頭
* @param g
*/
public void drawMe(Graphics g) {
Color c = g.getColor();
g.setColor(Color.WHITE);
for(int x = 0; x < ConstValue.PANEL_WIDTH; x ++) {
for(int y = 0; y < ConstValue.PANEL_HEIGHT; y ++) {
if(1 == rocks[x][y]) {
g.fill3DRect(x * ConstValue.CELL_WIDTH,
y * ConstValue.CELL_HEIGHT,
ConstValue.CELL_WIDTH,
ConstValue.CELL_HEIGHT,
true);
}
}
}
g.setColor(c);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -