AIR Android:编写主类Main android翻转黑白棋游戏开发

  次阅读 作者:智能小宝 来源:互联网 2016-01-19 12:03 我要评论(0)

第一个AIR Android程序:翻转黑白棋,本模块将编写一个完整的移动小游戏,并把它部署在手机上。因此,我们将亲历一个移动程序完整的诞生过程,从程序设计、代 码编写,到最后的安装。在这个过程中会涉及很多Android开发的技术细节,读者也可以近距离感受AIR带来的开发乐趣。本文为大家介绍编写主类 Main。

编写主类Main

接下来编写主类Main的代码。按照之前的设计,主程序主要有以下两个功能:

创建棋盘

处理用户的交互动作

下面先来实现第一个功能。

1.创建棋盘

上一节使用了二维矩阵来描述地图数据,其实编写代码没那么复杂,直接用一个二维数组就可以实现这个功能,代码如下:

var gameMap:Array = new Array();

//每一行用一维数组来表示

gameMap[0] = [BLACK, WHITE, WHITE, BLACK];

gameMap[1] = [WHITE, BLACK, BLACK, WHITE];

gameMap[2] = [WHITE, BLACK, BLACK, WHITE];

gameMap[3] = [BLACK, WHITE, WHITE, BLACK];

BLACK和WHITE是两个常量,这样看起来更直观。利用数组,正好将地图上的信息全面展示出来,从中可以看到每个棋子的初始状态及在棋盘上的位 置,创建棋盘的工作就变得简单多了,如代码清单2-2所示。

代码清单2-2创建棋盘

column_number = 4;

var rowCount:uint = gameMap.length;

var rowArray:Array;

var i:uint, len:uint;

var grid:Grid;

//棋子的间距

var space:int = 10;

//根据数组创建棋盘

for ( var row:uint = 0; row < rowCount; row++)

{

//获取每一行的数据

rowArray = gameMap[row];

len = rowArray.length;

for ( i = 0; i < len; i++)

{

//创建Grid,并赋予初始值。GRID_RADIUS常量定义了棋子的尺寸

grid = new Grid(rowArray[i], GRID_RADIUS);

//计算出棋子在棋盘上的编号

grid.id = row * column_number + i;

//设置棋子的坐标

grid.x = i * (GRID_RADIUS*2 + space);

grid.y = row * (GRID_RADIUS*2 + space);

//将棋子放在一个容器中,方便管理

grid_container.addChild(grid);

//按照编号将棋子保存在数组中,待以后查找

grids[grid.id] = grid;

}

}

在创建棋盘时,使用数组grids保存了对所有棋子的引用,且棋子在数组中的索引和棋子在棋盘上的编号一一对应,这样在查找周边棋子时,只需要计算 出周边棋子的id即可。

棋盘创建完毕后,接下来处理用户交互动作。

2.处理用户交互动作

由于所有的棋子都被放在同一个容器中,因此可以只对容器添加监听器,而不用监听每个棋子的鼠标事件,如代码清单2-3所示。

代码清单2-3处理用户交互动作

grid_container.addEventListener(MouseEvent.CLICK, onClickHandler);

private function onClickHandler(e:MouseEvent):void

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...