用Flash AS3实现经典的黑白棋游戏基本功能,软件工程论文.docx
《用Flash AS3实现经典的黑白棋游戏基本功能,软件工程论文.docx》由会员分享,可在线阅读,更多相关《用Flash AS3实现经典的黑白棋游戏基本功能,软件工程论文.docx(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、用Flash AS3实现经典的黑白棋游戏基本功能,软件工程论文黑白棋, 又叫反棋 (Reversi)、 奥赛罗棋 (Othello)、 苹果棋、 翻转棋。 黑白棋在西方和日本很流行。 黑白棋的棋盘是一个有 8*8 方格的棋盘。 开场时在棋盘正中有两白两黑 4 个棋子穿插放置, 黑棋总是先下子。 游戏通过互相翻转对方的棋子当自个放下的棋子在横 、 竖 、 斜 8 个方向內有一个自个的棋子, 则被夹在中间的全部翻转会成为自个的棋子, 假如玩家在棋盘上没有地方能够下子, 则该玩家对手能够连下。 最后以棋盘上谁的棋子多来判定胜负。 本文使用 Flash AS3 开发黑白棋游戏程序。 该游戏具有显示执棋
2、方能够落棋子的位置提示功能和判定胜负功能。 在游戏经过中, 点击 帮助 按钮则显示执棋方可落子位置 图片 表示可落子位置。 游戏运行界面如此图 1 所示。 2、 黑白棋游戏设计思路 2.1 棋子和棋盘 游戏开发时, 需要事先准备黑白两色棋子 如此图 2 所示和棋盘图片, 这里设计棋子影片剪辑使用图 2 中 4 张图, 黑白两色棋子各一帧, 图片 表示可落子位置 第 3 帧, 游戏背景方格是第 4 帧。 游戏最初显示时, 棋盘上布满所有 64个棋子影片剪辑 播放到第 4 帧, 游戏经过中根据需要每个棋子影片剪辑播放不同帧。 棋盘在设计时直接放在 Fla 文件的舞台上。 这里为了便于处理, 采用一
3、个 qizi 二维数组用来存储棋盘上棋子状态, 一个 qipan 一维数组用来存储棋子影片。 2.2 翻转对方的棋子 需要从自个落子 (x1, y1) 为中心的横、 竖、 斜 8 个方向上判定能否需要翻转对方的棋子, 程序中由棋子影片剪辑 qi的 MouseEvent.CLICK 事件实现的。 在 MouseEvent.CLICK 事件中参数 event 对象含有被单击对象信息。 event.target 能够获取被单击棋子影片剪辑对象 thisQi。 剪辑对象 thisQi 位置像素信息 thisQi.x, thisQi.y 转换成棋盘坐标 (x1, y1)。 从左, 左上、 上、 右上、
4、右、 右下、 下、左下 8 个方向上调用经过 DirectReverse (x1, y1, dx, dy) 翻转对方的棋子。 而详细棋子的翻转由 FanQi (x, y) 实现。 FanQi (x,y) 修改数组 qizi 的 (x, y) 处保存棋盘上的棋子信息, 同时播放到指定帧。 private function FanQi(x, y:int):void if (qizixy = BLACK) qizixy = WHITE; qipan8 * x + y.gotoAndStop(WHITE); /显示 WHITE 棋子图形 else qizixy = BLACK; qipan8 * x
5、+ y.gotoAndStop(BLACK); /显示 BLACK 棋子图形 2.3 显示执棋方可落子位置 Can_go ( x1, y1) 从左 、 左上 、 上 、 右上 、 右 、 右下 、下、 左下 8 个方向上调用函数 CheckDirect (x1, y1, dx, dy) 判定某方向上能否构成夹击之势, 假如构成且中间无空子则返回True, 表示 (x1, y1) 能够落子。 (x1, y1) 处能够落子则用图片显示。 2.4 判定胜负功能 qizi 二维数组保存棋盘上的棋子信息 , 华而不实元素保存 1,表示此处为黑子; 元素保存 2, 表示此处为白子; 元素保存 0,表示此处
6、为无棋子。 通过对 qizi 数组中各方棋子数统计, 在棋盘无处可下时, 根据各方棋子数判定出输赢。 3、 设计步骤 3.1 开创建立 Flash 文件 打开 Flash CS6 软件后, 选择 文件 新建 选项,系统将弹出 新建文档 窗口, 在窗口中选择 ActionScript3.0 选项。 3.1.1 设置文档属性 选择菜单 修改 , 再选择 文档 选项, 调出 文档属性 对话框。 设置场景的尺寸为 720*780 像素, 背景颜色为浅绿色, 然后单击 确定 按钮。 在属性面板设置文档类为Main。 3.1.2 设计棋子影片剪辑元件 选择菜单 插入 新建元件 。 在新弹出的 新建元件 窗
7、口中, 将元件名称设置为 棋子 , 将元件类型设置为 影片剪辑 , 单击 确定 按钮后 , Flash 界面将转变为 棋子 元件的编辑区。 导入图 2 所示 4 幅图, 注意每幅图大小80*80。 3.2 设计游戏文档类 Main.as 选择 文件 新建 选项, 系统将弹出 新建文档 窗口。 在窗口中选择 ActionScript 文件 选项。 这样在 Flash中新建一个 ActionScript 类文件, 将其命名为 Main.as。 导入包及相关类: package import flash.display.*; import flash.events.*; import flash.t
8、ext.*; import flash.utils.Timer; 类成员变量定义: public class Main extends MovieClip /常量 private static const BLACK:int = 1; private static const WHITE:int = 2; private static const KONG:int = 0; private var qizi:Array =new Array();/构造一个二维 /数组用来存储棋子状态 private var qipan:Array =new Array();/构造一个一 /维数组用来存储棋子影
9、片 private var curQizi :int = BLACK;/ 当下走棋方 var hitTimer:Timer=new Timer(1000);/计时器,定时 /去除提示图形 构造函数对保存棋盘上的棋子信息的 qizi 数组初始化, 实例化所有棋子影片对象。 同时在棋盘上显示初始的 4 个棋子。 public function Main():void /构造函数 var i,j:int; for (i=0; i i+) qizii=new Array(); for (j=0; j j+) qiziij=KONG; var qi:Qi=new Qi();/棋子实例 qi.y=80*j
10、+42;/确定位置 qi.x=80*i+42; qi.gotoAndStop(4);/显示棋子图形 qipan.push(qi); qi.addEventListener(MouseEvent.CLICK,clickQi); addChild(qi);/加到显示列表 / 棋盘上初始 4 个棋子 qizi33 = WHITE; qipan8 * 3 + 3.gotoAndStop(2);/显示白色棋子图形 qizi44 = WHITE; qipan8 * 4 + 4.gotoAndStop(2);/显示白色棋子图形 qizi34 = BLACK; qipan8 * 3 + 4.gotoAndSt
11、op(1);/显示黑色棋子图形 qizi43 = BLACK; qipan8 * 4 + 3.gotoAndStop(1);/显示黑色棋子图形 help_btn.addEventListener (MouseEvent. CLICK,clickHelp); message_txt.text= 该黑棋走子 构造函数同时对所有的棋子影片对象和 帮助 按钮添加鼠标单击事件的侦听。 假如是 help_btn 按钮被单击, 则执行clickHelp 函数显示能够落子的位置提示。 public function clickHelp(event:MouseEvent) showCanPosition();/
12、显示能够落子的位置 Show_Can_Position () 用图片 显示能够落子的位置 。 同时启动定时器控制图片 仅显示 1 秒钟。 private function showCanPosition():void /显示能够落子的位置 var i,j:int; var n:int = 0;/能够落子的位置统计 for (i = 0; i i+) for (j = 0; j j+) if (qiziij = 0 Can_go(i, j) n = n + 1; qipan8 * i + j.gotoAndStop(3);/显示提示图形 hitTimer.start(); hitTimer.ad
13、dEventListener (TimerEvent. TIMER, clsCanPosition); private function clsCanPosition(event:Event) var i,j:int; for (i = 0; i i+) for (j = 0; j j+) if (qiziij = 0 Can_go(i, j) qipan8 * i + j.gotoAndStop(4);/显示背景图形 hitTimer.removeEventListener (TimerEvent. TIMER, clsCanPosition); 假如是棋子影片对象 此时显示是背景第 4 帧
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 农业相关
限制150内