开心消消乐
文章目录 开心消消乐 消消乐游戏需求 游戏展示 初始界面 爆炸展示 代码实现 熊类 鸟类 狐狸类 青蛙类 元素类 图片类 游戏窗口消消乐游戏需求
所参与的角色:熊、鸟、狐狸、青蛙 功能: 由系统随机长成元素并显示在窗口中(8行6列),保证不能有可消元素 选中两个元素,若相邻则交换,而后判断: 若不可消(不连3),则换回去 若可消(连3及以上),则: 爆破后删除元素 重新生成新的元素,若还是可消则重复2.2步骤,直到没有可消元素为止游戏展示
初始界面

代码实现
熊类public class Bear extends Element{ public Bear(int x, int y) { super(x, y); } @Override public ImageIcon getImage() { return Images.bear; } }
java
123456789101112131415161718 鸟类public class Bird extends Element{ public Bird(int x, int y) { super(x, y); } @Override public ImageIcon getImage() { return Images.bird; } }
java
12345678910111213141516 狐狸类public class Fox extends Element { public Fox(int x, int y) { super(x, y); } @Override public ImageIcon getImage() { return Images.fox; } }
java
12345678910111213141516 青蛙类public class Frog extends Element { public Frog(int x, int y) { super(x, y); } @Override public ImageIcon getImage() { return Images.frog; } }
java
12345678910111213141516 元素类public abstract class Element { private int x, y; //x, y 坐标 private boolean selected; //是否选中 private boolean eliminated; //是否可消除 private int eliminatedIndex; //爆炸动画图片起始下标 public Element(int x, int y) { this.x = x; this.y = y; this.selected = false; this.eliminated = false; this.eliminatedIndex = 0; } /** * 获取图片 * * @return */ public abstract ImageIcon getImage(); public void paintElement(Graphics g) { if (isSelected()) { g.setColor(Color.GREEN); g.fillRect(x, y, World.ELEMENT_SIZE, World.ELEMENT_SIZE); this.getImage().paintIcon(null, g, this.x, this.y); } else if (isEliminated()) { //若没到最后一张爆炸图 if (eliminatedIndex < Images.bombs.length) { Images.bombs[eliminatedIndex++].paintIcon(null, g, x, y); } } else { this.getImage().paintIcon(null, g, this.x, this.y); } } /** * 是否选中 * * @return */ boolean isSelected() { return selected; } public void setSelected(boolean selected) { this.selected = selected; } /** * 是否消除 * * @return */ boolean isEliminated() { return eliminated; } public void setEliminated(boolean eliminated) { this.eliminated = eliminated; } public int getX() { return x; } public int getY() { return y; } public void setX(int x) { this.x = x; } public void setY(int y) { this.y = y; } }
java
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 图片类public class Images { public static ImageIcon background; //背景图 public static ImageIcon bird; public static ImageIcon bear; public static ImageIcon fox; public static ImageIcon frog; public static ImageIcon[] bombs; static { background = new ImageIcon("HappyEliminate/src/com/liner/img/background.png"); bird = new ImageIcon("HappyEliminate/src/com/liner/img/bird.png"); bear = new ImageIcon("HappyEliminate/src/com/liner/img/bear.png"); fox = new ImageIcon("HappyEliminate/src/com/liner/img/fox.png"); frog = new ImageIcon("HappyEliminate/src/com/liner/img/frog.png"); bombs = new ImageIcon[4]; for (int i = 0; i < bombs.length; i++) { bombs[i
java
1234567891011121314151617181920212223
于 2023-04-02 20:27:30 发布 · 2.3k 阅读