package sdu.edu.entities; import java.awt.Color; import java.awt.Graphics; import sdu.edu.listener.ShapListener; import sdu.edu.util.Global; public class Shap { public static final int RARTE = 0; public static final int LEFT = 1; public static final int RIGHT = 2; public static final int DOWN = 3; private ShapListener shapListener; private int status; private int[][] body; private int top; private int left; public Shap() { new Thread(new ShapDriver()).start(); } public void moveDown() { System.out.println("shap's moveDown"); top ++; } public void moveLeft() { System.out.println("shap's moveLeft"); left --; } public void moveRight() { System.out.println("shap's moveRight"); left ++; } public void rarte() { System.out.println("shap's rarte"); status = (status + 1) % body.length; } public void drawMe(Graphics g) { Color c = g.getColor(); g.setColor(Color.BLUE); for(int i = 0; i < 4; i++) { for(int j = 0; j < 4; j++) { if(getFlagByPoint(status, i, j)){ g.fill3DRect((left + i) * Global.CELL_WIDTH, (top + j) * Global.CELL_HEIGHT, Global.CELL_WIDTH, Global.CELL_HEIGHT, true); } } } g.setColor(c); } private boolean getFlagByPoint(int status, int x, int y) { return body[status][y * 4 + x] == 1; } public boolean isMember(int x, int y, boolean rarte){ int tempStatus = status; if(rarte){ tempStatus = (status + 1) % body.length; } return body[tempStatus][y * 4 + x] == 1; } public void addShapListener(ShapListener sl) { if(sl != null){ this.shapListener = sl; } } public void setStuta(int stuta) { this.status = stuta; } public int getTop() { return top; } public int getLeft() { return left; } public void setBody(int[][] body) { this.body = body; } private class ShapDriver implements Runnable{ @Override public void run() { // TODO Auto-generated method stub while (shapListener.isShapMoveDownable(Shap.this) ) { moveDown(); shapListener.shapMoveDown(Shap.this); try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
最近下载更多
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日