[AS功能代码教程01]Flash 通用延迟代码
[AS 功能代码教程02]数字魔方及数组概念
[AS 功能代码教程03] 三角函数及应用
数字魔方(经典数据结构实例):
1.本游戏的玩法,均在本FLASH中一一介绍了,博客中不再重复:
下载地址:
http://upload.ok.21cn.com:8082/upload/flash//65/16/11119720070822133139.swf
2。编程序的基本原则就是这个游戏玩法的原则即:
1)第一行中间是1;
2)向右1格;向上1格;
3)上边出界,去下边;
4)右边出界,去左边;
5) 没数占着,就填数;
6)有数占着,坐屁股下。
3。下面是程序(矩阵计算):
|
var n:Number=5;
//矩阵的行列数为n*n;
var matrix:Array = new Array();
//因为AS中不能直接调用二维数组,所以我们先申请一个一维数组; function display(n) { for (var i = 0; i<n; i++) { matrix[i] = new Array(); for (var j = 0; j<n; j++) { matrix[i][j] = i*n+j; }}
//上面这些代码的作用:把一维数组变为二维数组(算是一段功能代码); for (var i = 0; i<n; i++) { for (var j = 0; j<n; j++) { matrix[i][j] = 0; }}
//二维数组初始化,使matrix[][]中的每个元素都为0; var movei:Number = 0; var movej:Number = Math.floor(n/2);
//用movei,movej当前的i,j*/
matrix[movei][movej] = 1;
//这里完成了总体原则的第一步[第一行中间是1];
var counter:Number = 2;
//计数器 for (i=0; i<n; i++) { for (j=0; j<n; j++) { tempi = movei--; tempj = movej++;//总体原则第2步[向右1格;向上1格]
if (movei<0) { movei = n-1;//总体原则第3步[上边出界,去下边]
} if (movej>n-1) { movej = 0;//总体原则第4步[右边出界,去左边]
} if (matrix[movei][movej] == 0) { matrix[movei][movej] = counter++;
//总体原则第5步[没数占着,就填数]
} else { movei = tempi+1; movej = tempj; matrix[movei][movej] = counter++;
//总体原则第6步[有数占着,坐屁股下]
} } }
|
Flash充电1:在AS中数组的下标和C语言一样,都是从0开始的。
下面看一个实例:
|
var myarray:Array = new Array(5);
//申请一个有5个元素的数组; myarray[0] = "CAT"; myarray[1] = "DOG"; myarray[2] = "PIG"; myarray[3] = "BIRD"; myarray[4] = "MONKEY";
//分别为每个元素写入初值 trace(myarray[3]);
//测试后显示BIRD
|
Flash充电2:在数据结构中还有两种概念,一个是堆栈,一个是队列。
在AS中这两个概念同样也是用数组来完成的。
继续上面实例:
|
//如何实现堆栈的后进先出
TOP=myarray.pop()
trace(TOP)
//显示MONKEY,弹出最后一个元素赋值给TOP,并删除最后一个元素
myarray.push("FISH")
trace(myarray)
//显示CAT,DOG,PIG,BIRD,MONKEY,FISH,在最后一个元素后面加一个"FISH" //------------------------------//
//如何实现队列的先进先出
TOP=myarray.shift();
trace(TOP)
//显示CAT,弹出第一个元素赋值给TOP,并删除第一个元素
|
Flash充电3:数组常用操作。
|
var myarray:Array = new Array(5); myarray[0] = "CAT"; myarray[1] = "DOG"; myarray[2] = "PIG"; myarray[3] = "BIRD"; myarray[4] = "MONKEY";
trace(myarray.length)
//显示5,获取数组长度;
trace(myarray.join("+"));
//显示CAT+DOG+PIG+BIRD+MONKEY,把数组间用"+"连接,当然也可设为其它符号
trace(myarray.reverse());
//显示MONKEY,BIRD,PIG,DOG,CAT,数组倒排序
|
[FL基础理论大师原创教程]