• 大小: 4KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: Matlab
  • 标签: 井字棋  

资源简介

基于matlab的井字棋实现,人工智能。人机对战,电脑后手。整体分为8个步骤。

资源截图

代码片段和文件信息

function newstage=computermove(stage)
% 电脑落棋子

poscorner = [1 3 7 9];      %四个角位
posedge   = [2 6 4 8];      %四个边位
poscenter = 5;            %中心位

if pickwinspot(stage);          % ;检查制胜点
    % choose the spot to win it!
    posl = pickwinspot(stage);
elseif findlosespot(stage);     %;检查威胁点
    % block it!
    posl = findlosespot(stage);
elseif stage(poscenter) == 0    %;占据中心
    % play the center
    posl = poscenter;
elseif oppositecorner(stage);   %;占据对角位
    % opposite corner
    posl = oppositecorner(stage);
elseif stage(poscenter)==1
       if emptycorner(stage) %;占据相关空角位
            % play a corner
            posl = emptycorner(stage);
       elseif any(stage(poscorner)  == 0) %;占据空角位
            % play a corner
            posl = poscorner(find(stage(poscorner)  == 0 1));
       elseif emptyedge(stage) %;占据相关边位
            %play middle spot of an edge
            posl = emptyedge(stage);
        else                           % :占据边位
            % play middle spot of an edge 
            posl = posedge(find(stage(posedge)  == 0 1));
       end; 
elseif stage(poscenter)==2
     if emptycorner(stage); %;占据相关空角位
        % play a corner
        posl = emptycorner(stage);
     elseif emptyedge(stage); %;占据相关边位
        %play middle spot of an edge
        posl = emptyedge(stage);
     elseif any(stage(poscorner)  == 0) %;占据空角位
        % play a corner
        posl = poscorner(find(stage(poscorner)  == 0 1));
    else                           % :占据边位
    % play middle spot of an edge 
    posl = posedge(find(stage(posedge)  == 0 1));
     end
end;


stage(posl) = 2;
newstage = stage;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1902  2012-10-10 14:37  井字棋\computermove.m

     文件        193  2012-10-10 14:40  井字棋\drawCir.m

     文件        173  2012-10-10 14:41  井字棋\drawCross.m

     文件        558  2012-10-09 20:59  井字棋\drawStage.m

     文件        399  2012-10-10 14:41  井字棋\emptycorner.m

     文件        389  2012-10-10 14:38  井字棋\emptyedge.m

     文件        282  2012-10-09 16:08  井字棋\findlosespot.m

     文件        458  2012-10-10 12:30  井字棋\jingziqi.m

     文件        261  2012-10-10 09:44  井字棋\oppositecorner.m

     文件        281  2012-10-09 16:09  井字棋\pickwinspot.m

     文件        352  2012-10-09 14:07  井字棋\playermove.m

     文件        204  2012-10-09 16:10  井字棋\whowon.m

     文件        161  2012-10-10 14:48  井字棋\说明.txt

     目录          0  2012-10-10 14:47  井字棋

----------- ---------  ---------- -----  ----

                 5613                    14


评论

共有 条评论