我想做一个五字棋(人机对)的程序,请大哥大姐指点思路了
我的油箱是[email protected]

解决方案 »

  1.   

    都有现成的,copy或者down一个
      

  2.   

    begin
      IsWin:=false;
      if IsBlack then
        wtag:=1 else
        wtag:=2;
      for i:=0 to 18 do
        for j:=0 to 14 do
        begin
          {是否有行连成}
          if (i<15)
          and(Tag[i,j]=wtag)
          and(Tag[i+1,j]=wtag)
          and(Tag[i+2,j]=wtag)
          and(Tag[i+3,j]=wtag)
          and(Tag[i+4,j]=wtag)
          then
          begin
            IsWin:=True;
            goto exit1;
          end;
          {是否有列连成}
          if (Tag[i,j]=wtag)
          and(Tag[i,j+1]=wtag)
          and(Tag[i,j+2]=wtag)
          and(Tag[i,j+3]=wtag)
          and(Tag[i,j+4]=wtag)
          then
          begin
            IsWin:=True;
            goto exit1;
          end;
          {是否有主对角线连成}
          if (i<15)
          and(Tag[i,j]=wtag)
          and(Tag[i+1,j+1]=wtag)
          and(Tag[i+2,j+2]=wtag)
          and(Tag[i+3,j+3]=wtag)
          and(Tag[i+4,j+4]=wtag)
          then
          begin
            IsWin:=True;
            goto exit1;
          end;
          {是否有副对角线连成}
          if (Tag[i,j]=wtag)
          and(Tag[i-1,j+1]=wtag)
          and(Tag[i-2,j+2]=wtag)
          and(Tag[i-3,j+3]=wtag)
          and(Tag[i-4,j+4]=wtag)
          then
          begin
            IsWin:=True;
            goto exit1;
          end;
        end;