TypeScript实现广度遍历算法
在30 * 30的地图里,点击某个图片,从而遍历所有的图片(且不重复)。
广度遍历算法:
访问点击的图片s,依次访问点击图片s的未被访问相邻的其他图片,依次访问他们尚未访问的其他相邻图片,直到访问完所有的图片。
代码实现
测试图片类
enum EnumImageStatus {
//定义图片状态枚举
UNDISCOVER,//未被发现
DISCOVER,//发现
VISITED,//访问完毕
}
class TestImage extends egret.Sprite {
public status: number;
private bitmap: egret.Bitmap;
private _i: number;
private _j: number;
public constructor(i: number, j: number) {
super();
this._i = i;
this._j = j;
this.init();
}
private init(): void {
this.bitmap = new egret.Bitmap(RES.getRes("bg_jpg"));
this.bitmap.width = 100;
this.bitmap.height = 100;
this.addChild(this.bitmap);
this.touchEnabled = true;
this.status = EnumImageStatus