五子棋过程中用到的知识【flash as3 】
来源:互联网 发布:平胸怎么变大 知乎 编辑:程序博客网 时间:2024/05/17 07:06
总结一下编写五子棋过程中用到的知识:
1.落子:
在棋盘上添加一个鼠标监听事件chess.addEventListener(MouseEvent.MOUSE_DOWN,MouseDown);在MouseDown函数中可获取当前鼠标点击的像素坐标event.stageX和event.stageY,并转换为15*15的棋盘坐标,然后再转回像素坐标,此坐标正好位于棋盘十字叉上,再在此处addChild(Piece);就实现了放置Piece。设一个标志位flag,单数放白棋,双数放黑棋。
2.判输赢:
算法大概是当前棋子(i,j)检测4个方向,当前棋子所在的行、列、撇、捺,有没有连续的同色棋子,设黑棋b=-1,白棋b=1,无棋子b=0,和为5赢。
行检测:i不变,j从0加到14,
列检测:j不变,i从0加到14,
撇检测:如果i+j<14,i从i+j减到0,j从0加到i+j;
如果i+j>14,i从14减到i+j-14,j从i+j-14加到14;
行检测:如果i-j>0,i从i-j加到14,j从0加到14-i+j;
如果i-j<0,i从0加到14-i+j,j从j-i加到14;
3.悔棋功能:
chess1.removeChildAt(num-1);//num是当前棋子个数,移除最后下的那颗棋子,同时需要把棋子标志位删除、移除相应的坐标。
4.replay功能:
while((chess1.numChildren)-1)
{chess1.removeChildAt(1);//只要还有棋子就移除最底下的那个child
}
5.复盘:
如果退出游戏是点击保存,就把先行棋的颜色,两个用户名,棋子的坐标保存在本地,下次打开本程序时若点击back则进入上次残局。保存在本地的方式是txt。
var txtLoad:URLLoader = new URLLoader();//txt.txt文本以UTF-8的编码保存。
var txtURL:URLRequest = new URLRequest("cuplayer.txt");
txtLoad.addEventListener(Event.COMPLETE, showContent);
txtLoad.load(txtURL);
function showContent(evt:Event):void{
data_string= evt.target.data;
dataArray=data_string.split(",");//将先行棋色(0或1),用户名和棋子坐标存储到数组
gotoAndStop(2);
}
- 五子棋过程中用到的知识【flash as3 】
- flash as3.0 五子棋的游戏制作
- Flash中用AS3做的游戏,导出apk安装到手机上滤镜效果出不来为什么?
- 软件测试过程中用到的风险分析知识
- 开发过程中用到的相关知识汇总
- ESP8266学习过程中用到的C语言知识
- flash as3.0 五子棋实现保存功能
- flash 五子棋的总结
- android_xml中用到的一些知识
- 回顾工作中用到的知识1
- 控制中用到的滤波器知识梳理
- 项目中用到的知识(1)
- 我开发过程中用到的工具
- 项目过程中用到的工具
- qt学习过程中用到的网址!
- 开发过程中用到的QSS
- AS3.0五子棋的AI思路
- 嵌入式开发中用到的存储RAM FLASH ROM
- 个人制作网站全过程分享
- step1 writeup —— 输入作为函数参数
- 第三章第32题约瑟夫环问题
- 解析页面font相关的css
- vi编辑器的使用1
- 五子棋过程中用到的知识【flash as3 】
- VHDL上机练习:半加器(Active-HDL)
- vi编辑器的使用2
- 皮得.林奇 成功投资
- LXT6架构-嵌入式Ftp服务器Vsftpd交叉编译与配置使用(ARMv7)
- vi编辑器的作用3
- C++二叉树的建立与遍历
- 我的第一篇博客
- HDU4071Trick or Treat(三分查找)