【设为首页】 【收藏闪客居】 闪客居网站调整中,不便之处请见谅. 闪客居通行证 - 登陆 注册 帮助  
 
首 页 AS编程 FLASH组件 游戏AS FlashLite FlashRIA Flex 原文件 实用AS FLASH酷站 论 坛
FLASH编程:
当前位置:主页>闪客居教程系列>文章内容
[AS 功能代码教程02]数字魔方及数组概念
来源:闪客居 - www.flashas.net| 作者:FL基础理论大师| 发布时间:2007-08-24 【

[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基础理论大师原创教程]


收藏本文

打印本页

返回首页

返回顶部





上一篇:纯as火焰特效   下一篇:用Eclipse开发Flex

您的评论

用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
最新评论
热点内容
·缓冲模糊效果
·跨浏览器读取-预览版
·超真实火焰效果
·二级缓冲实例演示
·利用数组给文本筐赋值
·loadVariables()函数,读取外
·AS公式(1):缓冲公式
·用FLASH制作超酷逼真的MP3播放
·用按钮控制声音的播放
·用Flash来制作一个Flash播放器
推荐内容
·FLASH AS 键盘控制
·随机抽取号码
·flash8水波制作简明实例
·loadVariables()函数,读取外
·AS公式(1):缓冲公式
原文件
·很酷的导航10
·旋转菜单
·游标导航菜单
·烟花特效[2]
·很酷的导航5
·鼠标特效
·导航条
·弹性菜单
·上弹式菜单
·很酷的导航9
·AS火焰效果
·很酷的导航3
·很酷的导航4
·弹出菜单
·源码特效下雨
·烟花特效
·很酷的导航7
·很酷的烟花效果
·很酷的导航8
·旋转的光环


Copyright © 2005-2007 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)