FLASH 做一个中国象棋游戏源文件_吴汉良理工学校07计维班级博客_百度空间

中国象棋游戏,可以vs电脑,vs人,网络对战没有,界面是最简单的可以更改draw函数达到华丽的效果,ai是最初级的,我相信只要会点象棋的人就可以赢了我写的ai!这个确实应该改进使ai至少能赢了新手才好,希望以后有机会能实现了更高级别的ai,flash的博弈树做的太复杂了,对作者来说难度太大。

  1. package
  2. {
  3. /**
  4. * ...
  5. * @author sliz
  6. */
  7. public class AI
  8. {
  9. private var _chessboard:Chessboard;
  10. public function AI(cb:Chessboard)
  11. {
  12. _chessboard = cb;
  13. }
  14. public function doAi():Piece {
  15. var pieces:Array =new Array();
  16. for (var i:int = 0; i <= _chessboard._area.y2;i++ ) {
  17. for (var j:int = 0; j <= _chessboard._area.x2;j++ ) {
  18. if (_chessboard.getPiece(i, j)&&_chessboard.getPiece(i,j)._camp==true) {
  19. pieces.push(_chessboard.getPiece(i,j));
  20. }
  21. }
  22. }
  23. var checks:Array;
  24. var piece:Piece;
  25. while (pieces.length != 0) {
  26. checks = [];
  27. piece = pieces.splice(int(Math.random() * pieces.length), 1)[0];
  28. for (i = 0; i <= _chessboard._area.y2;i++ ) {
  29. for (j = 0; j <= _chessboard._area.x2;j++ ) {
  30. if (piece.check(j,i)) {
  31. checks.push({y:i,x:j});
  32. }
  33. }
  34. }
  35. if (checks.length!=0) {
  36. var p:Object = checks.splice(int(Math.random() * checks.length), 1)[0];
  37. piece.x = p.x * _chessboard._hg;
  38. piece.y = p.y * _chessboard._vg;
  39. return piece;
  40. }
  41. }
  42. return new Piece(_chessboard, { }, true);
  43. }
  44. }
  45. }

附件下载:



郑重声明:资讯 【FLASH 做一个中国象棋游戏源文件_吴汉良理工学校07计维班级博客_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——