当前位置: 首页 > news >正文

程序员做网站外快制作小程序代码

程序员做网站外快,制作小程序代码,WordPress付费会员主题,赣州住房与城乡建设厅网站为了实现人机对战功能#xff0c;必须实现象棋的人工智能#xff0c;将象棋的每个棋子都赋予一定的权重#xff0c;每走一步都计算分值#xff0c;选择得分最高的一步#xff0c;这是象棋人工智能的基本思想。 #ifndef AI_H#define AI_H#include cocos2d.hUSI…为了实现人机对战功能必须实现象棋的人工智能将象棋的每个棋子都赋予一定的权重每走一步都计算分值选择得分最高的一步这是象棋人工智能的基本思想。 #ifndef AI_H#define AI_H#include cocos2d.hUSING_NS_CC;class SceneGame;class Step : public CCObject{public:int _moveid;int _killid;int _xFrom;int _yFrom;int _xTo;int _yTo;static Step* create(int moveid, int killid, int xFrom, int yFrom, int xTo, int yTo){Step* step new Step;step-_killid killid;step-_moveid moveid;step-_xFrom xFrom;step-_xTo xTo;step-_yFrom yFrom;step-_yTo yTo;step-autorelease();return step;}};class AI{public:AI(SceneGame *game);SceneGame *_game;Step *GenOneMove(int level2);int getScore();static int _score[7];CCArray *getAllPossibleMove();void getAllPossibleMove(int idx,CCArray *arr);int getMinValue(int level,int maxScore);int getMaxValue(int level,int minScore);Step *_step;};#endif // AI_H得分表 int AI::_score[7] {1000,10,10,100,50,50,20 }; 创建一步 Step *AI::GenOneMove(int level) {int maxScore-10000;Step *ret;//find all possible access an calcute the hights scoreCCArray *possibleMOvegetAllPossibleMove();CCObject *obj;CCARRAY_FOREACH(possibleMOve,obj){Step *step(Step*)obj;_game-fakeMove(step);int scoregetMinValue(level-1,maxScore);//int scoregetScore();_game-unfakeMove(step);if(scoremaxScore){maxScorescore;retstep;}}return ret;} 最大值最小值算法 int AI::getMinValue(int level,int maxScore) {if(level 0){return getScore();}int minScore10000;CCArray *possibleMOvegetAllPossibleMove();CCObject *obj;CCARRAY_FOREACH(possibleMOve,obj){Step *step(Step*)obj;_game-fakeMove(step);int scoregetMaxValue(level-1,minScore);_game-unfakeMove(step);if(scoremaxScore){minScorescore;return minScore;}if(scoreminScore){minScorescore;}}return minScore; } int AI::getMaxValue(int level,int minScore) {if(level 0){return getScore();}int maxScore-10000;CCArray *possibleMOvegetAllPossibleMove();CCObject *obj;CCARRAY_FOREACH(possibleMOve,obj){Step *step(Step*)obj;_game-fakeMove(step);int scoregetMinValue(level-1,maxScore);_game-unfakeMove(step);if(scoreminScore){maxScorescore;break;}if(scoremaxScore){maxScorescore;}}return maxScore; }值得注意的是象棋预先考虑的步骤越多象棋越智能但是当象棋考虑到第4步的时候ubuntu就崩溃了可以采用智能减枝算法有效减少计算量。注意当使用智能减枝时一定要将假动作回移不然会引起递归混乱。
http://www.pierceye.com/news/67655/

相关文章:

  • 山东聊城网站建设做网站网站需要多少钱
  • 口碑好门户网站开发建设一个普通的网站需要多少钱
  • 不开网店怎么做淘宝网站网站建设在整体布局有哪些要求
  • 怎样做营销型网站推广pptwordpress手机适配
  • 贵州省铜仁市城乡建设局网站适合翻译做兼职的网站
  • 网页设计与网站建设在线作业答案西安seo和网络推广
  • php网站开发职责河南建设人才信息网
  • 学校网站建设合同aso关键词优化计划
  • 中山网页建站模板建网页要钱吗
  • 帝国cms网站模板网站开发前台代码和后台代码
  • 江苏省建设局网站首页网友
  • 网站建设品牌公司排名免费教做面食的网站
  • wordpress风格济南seo优化公司助力排名
  • 二手图书交易网站建设企业网站制作步骤
  • edu网站一般谁做的wordpress 访问空白
  • 陈塘庄做网站公司wordpress 网站建设中
  • 转转假网站怎么做国外优秀的网站建设公司
  • 专业做租赁的平台网站有哪些wordpress主题git下载失败
  • 设计企业网站六安公共招聘网
  • 公司网站建设的项目工作分解结构铜仁建设集团招聘信息网站
  • 优秀手机网站模板图片网站建设有哪些公司好
  • 蒲城网站建设物流企业网站建设特色
  • 网站 收费玉林市建设工程交易中心网站
  • 怎么自己做网站的推广广州软件学院
  • 建个什么网站吗360做网站和推广怎么样
  • 济南网站建设安卓版wordpress预格式化
  • 柳江区城乡住房建设局网站福州有网站建设的公司
  • ps设计网页手机网站优化技巧
  • 做壁纸网站好腾讯云建设网站视频
  • 如何选择镇江网站优化虚拟主机发布网站吗