|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
您是否有着精彩的Flash作品,您是否想把他转化为屏保程序。
poluoluo中心提醒:连连看:随机天生复杂舆图数据的代码.
好比连连看的数据天生。
对照复杂,这里不包含判别是不是必定有解的部分,只是一个随便天生舆图(给定行,列,每种图片的天生个数),没有思绪的能够参考一下,妙手也能够斧正。
//天生舆图的类
packagesrc.ww.llk.map
{
importmx.collections.ArrayCollection;
publicclassMakeMap
{
privatevarmapParam:MapParam=null;
privatevartypes:ArrayCollection=null;
//包管获得的数据不被重取
privatevarflags:ArrayCollection=null;
publicfunctionMakeMap(param:MapParam):void{
mapParam=param;
initData();
}
//初始化需要的数据
privatefunctioninitData():void{
types=newArrayCollection();
vartypeNum:int=Math.floor(mapParam.cols*mapParam.rows/mapParam.numberPerType);
for(vari:int=1;i<=typeNum;i++){
for(varj:int=0;j<mapParam.numberPerType;j++){
types.addItem(i);
}
}
varyushu:int=mapParam.cols*mapParam.rows-typeNum*mapParam.numberPerType;
for(varyI:int=0;yI<yushu;yI++){
types.addItem(1);
}
}
//随机天生舆图
publicfunctionmake():Array{
flags=newArrayCollection();
for(vari:int=0;i<types.length;i++){
flags.addItem(i);
}
varmapData:Array=newArray();
varrowData:Array=null;
varcol:int=0;
rowData=newArray();
rowData.push(0);
for(col=0;col<mapParam.cols;col++){
rowData.push(0);
}
rowData.push(0);
mapData.push(rowData);
for(varrow:int=0;row<mapParam.rows;row++){
rowData=newArray();
rowData.push(0);
for(col=0;col<mapParam.cols;col++){
rowData.push(getType());
}
rowData.push(0);
mapData.push(rowData);
}
rowData=newArray();
rowData.push(0);
for(col=0;col<mapParam.cols;col++){
rowData.push(0);
}
rowData.push(0);
mapData.push(rowData);
returnmapData;
}
//随机获得单个数据
privatefunctiongetType():int{
varran:int=-1;
varret:int=0;
ran=randomIndex();
varindex:int=int(flags.getItemAt(ran));
flags.removeItemAt(ran);
ret=int(types.getItemAt(index));
returnret;
}
privatefunctionrandomIndex():int{
returnMath.random()*(flags.length-1);
}
}
}
参数类,就是一个bean,
packagesrc.ww.llk.map
{
publicclassMapParam
{
publicvarrows:Number=0;
publicvarcols:Number=0;
publicvarnumberPerType:int=4;
}
}
测试类:
publicfunctiontest():void{
varparam:MapParam=newMapParam();
param.rows=6;
param.cols=6;
param.numberPerType=4;
varmaker:MakeMap=newMakeMap(param);
varmap:Array=maker.make();
foreach(varrowData:Arrayinmap){
varrowStr:String="";
foreach(varcell:intinrowData){
rowStr+=cell+"";
}
trace(rowStr);
}
}
运转了局:
00000000
03311760
06897950
02444170
05849580
02623170
06253890
00000000
Flash又被称之为闪客,是由macromedia公司推出的交互式矢量图和Web动画的标准,由Adobe公司收购。 |
|