package sdu.edu.entities; import java.awt.Color; import java.awt.Graphics; import sdu.edu.util.Global; public class Ground { int[][] obstacles = new int [Global.GAME_WIDTH][Global.GAME_HEIGHT]; public void accept(Shap shap) { System.out.println("Ground's accept"); for(int x = 0; x < 4; x++) { for(int y = 0; y < 4; y++) { if(shap.isMember(x, y, false)){ obstacles[shap.getLeft() + x][shap.getTop() + y] = 1; } } } deleteFullLine(); } private void deleteFullLine() {//删除所有行 int y = Global.GAME_HEIGHT - 1; for(y = Global.GAME_HEIGHT - 1; y >= 0; y--) { boolean full = true; for(int x = 0; x < Global.GAME_WIDTH; x++) { if(obstacles[x][y] == 0){ full = false; } } if(full){// deleteLine(y); y = Global.GAME_HEIGHT;//次句相当重要,不然只会消掉一行 } } } private void deleteLine(int line) {//删除第y行 for(int y = line; y > 0; y--) { for(int x = 0; x < Global.GAME_WIDTH; x++) { obstacles[x][y] = obstacles[x][y - 1]; } } for(int x = 0; x < Global.GAME_WIDTH; x ++) { obstacles[x][0] = 0; } } public boolean isFull() { for(int x = 0; x < Global.GAME_WIDTH; x++) { if(obstacles[x][0] == 1) return true; } return false; } public void drawMe(Graphics g) { Color c = g.getColor(); g.setColor(Color.BLUE); System.out.println("Ground's drawMe"); for(int i = 0; i < Global.GAME_WIDTH; i++) { for(int j = 0; j < Global.GAME_HEIGHT; j++){ if(obstacles[i][j] == 1) g.fill3DRect(i * Global.CELL_WIDTH, j * Global.CELL_HEIGHT, Global.CELL_WIDTH, Global.CELL_HEIGHT, true); } } g.setColor(c); } public boolean isShapMove(Shap shap, int action) { int top = shap.getTop(); int left = shap.getLeft(); switch (action) { case Shap.LEFT: left --; break; case Shap.RIGHT: left ++; break; case Shap.DOWN: top ++; break; } for(int x = 0; x < 4; x++) { for(int y = 0; y < 4; y++) { if(shap.isMember(x, y, action == Shap.RARTE)){ if(top + y >= Global.GAME_HEIGHT || left < 0 || left + x >= Global.GAME_WIDTH || obstacles[left + x][top + y] == 1) return false; } } } return true; } }
最近下载更多
1112WHQ LV7
2023年11月3日
郭佩泽 LV12
2019年8月20日
wasdfg LV2
2019年6月5日
renshuao0822 LV2
2018年10月31日
120130140 LV7
2018年2月24日
大侠woaini LV2
2017年12月26日
1357zhanghuan9 LV2
2017年6月28日
13956441640 LV2
2017年6月6日
solargen LV7
2017年6月6日
sahdhasdi LV2
2017年6月4日
最近浏览更多
hainabian1977 LV2
6月24日
ClydeSon LV5
2023年12月27日
1112WHQ LV7
2023年11月3日
微信网友_6699076084797440 LV7
2023年10月30日
wangjialiang1 LV17
2023年8月20日
sdyawd
2023年6月14日
暂无贡献等级
小安同学 LV7
2023年5月11日
tx1121 LV14
2023年4月9日
insane1 LV1
2022年12月6日
tree1112666 LV1
2022年8月19日