消消乐A2版源码和演示视频.rar


消消乐A2版,包含查找消除、消除动画、产生新块、下落的过程。地图生成,初始化生成没有“连续三块”的地图,有两种不同的编码方法。带演示视频,简单介绍了状态机的技术。
资源截图
代码片段和文件信息
package com.example.ani;

import java.awt.Image;
import java.util.ArrayList;
import java.util.List;

import com.example.appex3.GameTool;

//public  static int GAME_SET_PLAY=1;
//public  static int GAME_SET_CLEAR_START=2;
//public  static int GAME_SET_CLEAR=3;
//public  static int GAME_SET_MOVE_START=4;
//public  static int GAME_SET_MOVE=5;

public class ClearAni {

public List clearlist = new ArrayList();


// ////////// 消除次数
public int cleartry;

public void startclear(int[][] item_ar) {
//
cleartry++;
// 如果消除了50次,不再消除
if (cleartry > 50) {
GameTool.gamestate_set = GameTool.GAME_SET_PLAY;
return;
}

clearlist.clear();
// 找消除块,找连续三块
findClear(item_ar);
findVClear(item_ar);
// 找到“连续三块”,开始消除动画
if (clearlist.size() > 0) {
GameTool.gamestate_set = GameTool.GAME_SET_CLEAR;
} else {
// 没有找到“连续三块”,返回继续游戏
GameTool.gamestate_set = GameTool.GAME_SET_PLAY;
//统计步数
GameTool.countstep();
}
}

public void addone(int x int y) {
ClearPoint cp = new ClearPoint();
cp.setxy(x y);
cp.setMaxframe(12);
cp.setState(GameTool.ANI_PALY);

clearlist.add(cp);
}

// ///////////////
// /////////////
public int count_hclear(int[][] item_ar int x int y) {
int i j;
int num = 1;// 相同个数,从1数起

i = y;
j = x;

if (x < 0 || x > 8 || y < 0 || y > 8)
return num;

//
if (item_ar[i][j] == -1)
return num;

// 求横行某个方块向右的相同个数
while (j <= 7) {
if (item_ar[i][j] == item_ar[i][j + 1]) {
num++;
j++;

} else
break;
}
return num;
}

public int count_vclear(int[][] item_ar int x int y) {
int i j;
int num = 1;// 相同个数,从1数起

i = y;
j = x;

if (x < 0 || x > 8 || y < 0 || y > 8)
return num;

//
if (item_ar[i][j] == -1)
return num;

// 求竖行某个方块向右的相同个数
while (i <= 7) {
if (item_ar[i][j] == item_ar[i + 1][j]) {
num++;
i++;

} else
break;
}
return num;
}

public void findClear(int[][] item_ar) {
int i j;
int num = 0;

for (i = 0; i < 9; i++) {
j = 0;
// 0 - 6: 前7列
while (j <= 6) {
num = count_hclear(item_ar j i);
if (num >= 3) {
// System.out.println(“clear h num “ + num);
// 保存消除方块
for (int k = 0; k < num; k++) {
addone(j + k i);
}
}

j += num;// 跳过连续的相同方块
}
}
}

public void findVClear(int[][] item_ar) {
int i j;
int num = 0;

for (j = 0; j < 9; j++) {
i = 0;
while (i < 9) {
num = count_vclear(item_ar j i);
if (num >= 3) {
// 保存消除方块
for (int k = 0; k < num; k++) {
addone(j i + k);
}

}

i += num;// 跳过连续的相同方块
}
}
}

public void anidraw( ) {
for (int i = 0; i < clearlist.size(); i++) {
ClearPoint cp = clearlist.get(i);

if (cp.state == GameTool.ANI_PALY) {
cp.paint();
}
}
}

public void updatedata(int[][] item_ar) 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        232  2017-09-10 06:00  消消乐A2版源码和演示视频xxlA2.classpath

     文件        381  2018-08-22 05:12  消消乐A2版源码和演示视频xxlA2.project

     文件       3187  2018-08-22 11:56  消消乐A2版源码和演示视频xxlA2incomexampleaniClearAni.class

     文件       1202  2018-08-22 11:15  消消乐A2版源码和演示视频xxlA2incomexampleaniClearPoint.class

     文件       2103  2018-08-22 10:18  消消乐A2版源码和演示视频xxlA2incomexampleaniInitMap.class

     文件       2166  2018-08-22 11:30  消消乐A2版源码和演示视频xxlA2incomexampleaniInitMap2.class

     文件       2457  2018-08-22 11:54  消消乐A2版源码和演示视频xxlA2incomexampleaniMoveAni.class

     文件       1498  2018-08-22 07:12  消消乐A2版源码和演示视频xxlA2incomexampleaniMovePoint.class

     文件        538  2018-08-22 05:13  消消乐A2版源码和演示视频xxlA2incomexampleaniPoint.class

     文件        857  2018-08-22 05:13  消消乐A2版源码和演示视频xxlA2incomexampleaniRect.class

     文件       1088  2018-08-22 05:13  消消乐A2版源码和演示视频xxlA2incomexampleappex3Game.class

     文件       2005  2018-08-22 05:13  消消乐A2版源码和演示视频xxlA2incomexampleappex3GameManage.class

     文件       1986  2018-08-22 05:13  消消乐A2版源码和演示视频xxlA2incomexampleappex3GamePanel.class

     文件       1632  2018-08-22 11:49  消消乐A2版源码和演示视频xxlA2incomexampleappex3GameTool.class

     文件       1560  2018-08-22 11:15  消消乐A2版源码和演示视频xxlA2incomexampleappex3R.class

     文件       1226  2018-08-22 05:13  消消乐A2版源码和演示视频xxlA2incomexamplegameGameInfo.class

     文件       1815  2018-08-22 05:13  消消乐A2版源码和演示视频xxlA2incomexamplegameGameMenu.class

     文件       4632  2018-08-22 11:53  消消乐A2版源码和演示视频xxlA2incomexamplegameGamePlay.class

     文件       1427  2018-08-22 05:13  消消乐A2版源码和演示视频xxlA2incomexamplegameGameResult.class

     文件       1471  2018-08-22 11:41  消消乐A2版源码和演示视频xxlA2incomexamplegameXXLtouch.class

     文件       2998  2017-09-10 06:03  消消乐A2版源码和演示视频xxlA2imganiclearani1.png

     文件       3043  2017-09-10 06:03  消消乐A2版源码和演示视频xxlA2imganiclearani2.png

     文件       9847  2018-08-22 11:04  消消乐A2版源码和演示视频xxlA2imganiclearani2design.png

     文件       3043  2017-09-10 06:03  消消乐A2版源码和演示视频xxlA2imganiclearani3.png

     文件       3043  2017-09-10 06:03  消消乐A2版源码和演示视频xxlA2imganiclearani4.png

     文件       2994  2017-09-10 06:03  消消乐A2版源码和演示视频xxlA2imganiclearani5.png

     文件       3945  2018-08-22 11:08  消消乐A2版源码和演示视频xxlA2imgclearani1.png

     文件       4373  2018-08-22 11:08  消消乐A2版源码和演示视频xxlA2imgclearani2.png

     文件       4497  2018-08-22 11:08  消消乐A2版源码和演示视频xxlA2imgclearani3.png

     文件       4386  2018-08-22 11:14  消消乐A2版源码和演示视频xxlA2imgclearani4.png

............此处省略53个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)