亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 中國(guó)象棋.txt

?? c高手不要錯(cuò)過呵
?? TXT
?? 第 1 頁 / 共 2 頁
字號(hào):
        drawbmp(x,y,chessfile[n]);
      }
      if(redtemppos.x==redoldpos.x&&redtemppos.y==redoldpos.y&&redstate==MOVE)
        drawselecursor(redoldpos);

      drawcursor(redcurpos);
      redtemppos.x=redcurpos.x;
      redtemppos.y=redcurpos.y;
  }
}

redright()
{

  int x,y,n;
  if(redcurpos.y<8)
  {
    redcurpos.y++;
      x=position[redtemppos.x][redtemppos.y].x;
      y=position[redtemppos.x][redtemppos.y].y;
       if(board[redtemppos.x][redtemppos.y]==0)
        drawbmp(x,y,boardfile[redtemppos.x][redtemppos.y]);
      else if(!(redtemppos.x==redoldpos.x&&redtemppos.y==redoldpos.y&&redstate==MOVE))
      {
        n=board[redtemppos.x][redtemppos.y];
        drawbmp(x,y,chessfile[n]);
      }
      if(redtemppos.x==redoldpos.x&&redtemppos.y==redoldpos.y&&redstate==MOVE)
        drawselecursor(redoldpos);
      
      drawcursor(redcurpos);
      redtemppos.x=redcurpos.x;
      redtemppos.y=redcurpos.y;
  }
}

reddo()
{
  int i,j,x,y,n;
  if(redstate==SELECT&&redcanselect())
  {
    if(board[redcurpos.x][redcurpos.y]<=RED&&board[redcurpos.x][redcurpos.y]>0)
    {
      redstate=MOVE;
      drawselecursor(redcurpos);
      redoldpos.x=redcurpos.x;
      redoldpos.y=redcurpos.y;
    }
  }
  else if(redstate==MOVE&&redcanmove())
  {
    x=position[redoldpos.x][redoldpos.y].x;
    y=position[redoldpos.x][redoldpos.y].y;
    drawbmp(x,y,boardfile[redoldpos.x][redoldpos.y]);

    x=position[redcurpos.x][redcurpos.y].x;
    y=position[redcurpos.x][redcurpos.y].y;
    n=board[redoldpos.x][redoldpos.y];
    drawbmp(x,y,chessfile[n]);

    if(board[redcurpos.x][redcurpos.y]==BLACK_JIANG)
    {
      winner=RED;
      finish=1;
      return;
    }
    
    board[redcurpos.x][redcurpos.y]=n;
    board[redoldpos.x][redoldpos.y]=0;
    
    for(i=0;i<=2;i++) 
      for(j=3;j<=5;j++)
        if(board[i][j]==BLACK_JIANG)
          {x=i;y=j;}
    for(i=x+1,j=y,n=0;i<=9;i++)
    {
      if(board[i][j]==RED_JIANG&&n==0) 
      {winner=BLACK;finish=1;break;}
      else if(board[i][j]!=0) n++;
    }
    turn=BLACK;
    blackstate=SELECT;
    drawcursor(blackcurpos);
    drawbmp(30,438,"bmp\\bzq.wfb");           /*轉(zhuǎn)交控制權(quán)給黑方*/
  }
}

redundo()
{
  int x,y,n;
  if(redstate==MOVE)
  {
    x=position[redoldpos.x][redoldpos.y].x;
    y=position[redoldpos.x][redoldpos.y].y;
    n=board[redoldpos.x][redoldpos.y];
    drawbmp(x,y,chessfile[n]);
    redoldpos.x=redcurpos.x;
    redoldpos.y=redcurpos.y;
    drawcursor(redcurpos);
    redstate=SELECT;
  }
}
/*--------------------黑方操作----------------------*/
int blackcanselect()
{
  int x,y;
  x=blackcurpos.x;
  y=blackcurpos.y;
  if(board[x][y]>=BLACK_JU&&board[x][y]<=BLACK_BIN)
    return 1;
  else 
    return 0;
}
int blackcanmove()
{
  int i,j,min,max,oldx,oldy,x,y;
  oldx=blackoldpos.x;
  oldy=blackoldpos.y;
  x=blackcurpos.x;
  y=blackcurpos.y;
/*case1  目標(biāo)位置是否是自己人*/  
  if(board[x][y]>=BLACK_JU&&board[x][y]<=BLACK_BIN)
    return 0;
  /*  軍、馬、炮、相、士、將、卒的走法正確性的判斷*/
  switch(board[oldx][oldy])
  {
    case BLACK_JU:                              /*完成*/
         if(x!=oldx&&y!=oldy) return 0;
         else if(x!=oldx)
           { min=(x>oldx)?oldx:x;
             max=(x>oldx)?x:oldx;
               for(i=min+1;i<max;i++) 
                 if(board[i][y]!=0) return 0;
           }
         else if(y!=oldy)
           { min=(y>oldy)?oldy:y;
             max=(y>oldy)?y:oldy;
               for(i=min+1;i<max;i++) 
                 if(board[x][i]!=0) return 0;
           }
         break;
    case BLACK_MA:                             /*完成*/
         if((x-oldx)==2&&((y-oldy)==1||(oldy-y)==1))
         { 
	   if(board[oldx+1][oldy]!=0) return 0;
         }else
         if((oldx-x)==2&&((y-oldy)==1||(oldy-y)==1))
         {
	   if(board[oldx-1][oldy]!=0) return 0;
         }else
         if((y-oldy)==2&&((x-oldx)==1||(oldx-x)==1))
         {
	   if(board[oldx][oldy+1]!=0) return 0;
         }else
         if((oldy-y)==2&&((x-oldx)==1||(oldx-x)==1))
         {
	   if(board[oldx][oldy-1]!=0) return 0;
         }else
           return 0;
         break;
    case BLACK_PAO:                        /*完成*/
         if(x!=oldx&&y!=oldy) return 0;
         if(board[x][y]==0)
           {
             if(x!=oldx)
             { min=(x>oldx)?oldx:x;
               max=(x>oldx)?x:oldx;
               for(i=min+1;i<max;i++) 
                 if(board[i][y]!=0) return 0;
             }
             else if(y!=oldy)
             { min=(y>oldy)?oldy:y;
               max=(y>oldy)?y:oldy;
               for(i=min+1;i<max;i++) 
                 if(board[x][i]!=0) return 0;
             }          
           }
           else
           {
             j=0;
             if(x!=oldx)
             { min=(x>oldx)?oldx:x;
               max=(x>oldx)?x:oldx;
               for(i=min+1;i<max;i++) 
                 if(board[i][y]!=0) j++;
               if(j!=1) return 0;
             }
             else if(y!=oldy)
             { min=(y>oldy)?oldy:y;
               max=(y>oldy)?y:oldy;
               for(i=min+1;i<max;i++) 
                 if(board[x][i]!=0) j++;
               if(j!=1) return 0;
             }         
           }
         break;


    case BLACK_XIANG:
         if(x>4) return 0;
         if(x!=oldx&&y!=oldy)
         {
           if((x-oldx)==2&&(y-oldy)==2) 
             {i=oldx+1;j=oldy+1;}
           else if((x-oldx)==2&&(oldy-y)==2)
             {i=oldx+1;j=oldy-1;}
           else if((oldx-x)==2&&(y-oldy)==2)
             {i=oldx-1;j=oldy+1;}
           else if((oldx-x)==2&&(oldy-y)==2)
             {i=oldx-1;j=oldy-1;}
           else return 0;
           if(board[i][j]!=0) return 0;     
         }
         else return 0;
         break;

    case BLACK_SHI:
         if(oldx==0||oldx==2)
         {if(x!=1||y!=4) return 0;}
         else if(oldx==1)
         {if(x==0&&y==3) return 1;
          else
          if(x==0&&y==5) return 1;
          else
          if(x==2&&y==3) return 1;
          else
          if(x==2&&y==5) return 1;
          else return 0;
         }else return 0;
         break;
        
    case BLACK_JIANG:
         if(x!=oldx&&y!=oldy) return 0;
         if(x!=oldx)
           if((x-oldx)>1||(oldx-x)>1) return 0;
           else if(x>2) return 0;  
         else if(y!=oldy)
           if((y-oldy)>1||(oldy-y)>1) return 0;
           else if(y<3||y>5) return 0; 
         break;

    case BLACK_BIN:
         if(oldx<=4)
         { if(y!=oldy||(x-oldx)!=1) return 0;}
         else
         { if(x==(oldx+1)&&y==oldy) return 1;
           else 
           if(x==oldx&&y==(oldy+1)) return 1;
           else 
           if(x==oldx&&y==(oldy-1)) return 1;
           else
           return 0; 
         }
         break;
  }
  return 1;
}
blackup()
{
  int x,y,n;
  if(blackcurpos.x>0)
  {
    blackcurpos.x--;
      x=position[blacktemppos.x][blacktemppos.y].x;
      y=position[blacktemppos.x][blacktemppos.y].y;
      if(board[blacktemppos.x][blacktemppos.y]==0)
        drawbmp(x,y,boardfile[blacktemppos.x][blacktemppos.y]);
      else if(!(blacktemppos.x==blackoldpos.x&&blacktemppos.y==blackoldpos.y&&blackstate==MOVE))
      {
        n=board[blacktemppos.x][blacktemppos.y];
        drawbmp(x,y,chessfile[n]);
      }
      if(blacktemppos.x==blackoldpos.x&&blacktemppos.y==blackoldpos.y&&blackstate==MOVE)
        drawselecursor(blackoldpos); 
      drawcursor(blackcurpos);
      blacktemppos.x=blackcurpos.x;
      blacktemppos.y=blackcurpos.y;
  }
}

blackdown()
{
  int x,y,n;
  if(blackcurpos.x<9)
  {
    blackcurpos.x++;
      x=position[blacktemppos.x][blacktemppos.y].x;
      y=position[blacktemppos.x][blacktemppos.y].y;
      if(board[blacktemppos.x][blacktemppos.y]==0)
        drawbmp(x,y,boardfile[blacktemppos.x][blacktemppos.y]);
      else if(!(blacktemppos.x==blackoldpos.x&&blacktemppos.y==blackoldpos.y&&blackstate==MOVE))
      {
        n=board[blacktemppos.x][blacktemppos.y];
        drawbmp(x,y,chessfile[n]);
      }
      if(blacktemppos.x==blackoldpos.x&&blacktemppos.y==blackoldpos.y&&blackstate==MOVE)
        drawselecursor(blackoldpos); 
      drawcursor(blackcurpos);
      blacktemppos.x=blackcurpos.x;
      blacktemppos.y=blackcurpos.y;
  }
}

blackleft()
{
  int x,y,n;
  if(blackcurpos.y>0)
  {
    blackcurpos.y--;
    
      x=position[blacktemppos.x][blacktemppos.y].x;
      y=position[blacktemppos.x][blacktemppos.y].y;
      if(board[blacktemppos.x][blacktemppos.y]==0)
        drawbmp(x,y,boardfile[blacktemppos.x][blacktemppos.y]);
      else if(!(blacktemppos.x==blackoldpos.x&&blacktemppos.y==blackoldpos.y&&blackstate==MOVE))
      {
        n=board[blacktemppos.x][blacktemppos.y];
        drawbmp(x,y,chessfile[n]);
      }
      if(blacktemppos.x==blackoldpos.x&&blacktemppos.y==blackoldpos.y&&blackstate==MOVE)
        drawselecursor(blackoldpos); 
      drawcursor(blackcurpos);
      blacktemppos.x=blackcurpos.x;
      blacktemppos.y=blackcurpos.y;

  }
}

blackright()
{
  int x,y,n;
  if(blackcurpos.y<8)
  {
    blackcurpos.y++;
    
      x=position[blacktemppos.x][blacktemppos.y].x;
      y=position[blacktemppos.x][blacktemppos.y].y;
      if(board[blacktemppos.x][blacktemppos.y]==0)
        drawbmp(x,y,boardfile[blacktemppos.x][blacktemppos.y]);
      else if(!(blacktemppos.x==blackoldpos.x&&blacktemppos.y==blackoldpos.y&&blackstate==MOVE))
      {
        n=board[blacktemppos.x][blacktemppos.y];
        drawbmp(x,y,chessfile[n]);
      }
      if(blacktemppos.x==blackoldpos.x&&blacktemppos.y==blackoldpos.y&&blackstate==MOVE)
        drawselecursor(blackoldpos); 
      drawcursor(blackcurpos);
      blacktemppos.x=blackcurpos.x;
      blacktemppos.y=blackcurpos.y;
  }
}

blackdo()
{
  int i,j,x,y,n;
  if(blackstate==SELECT&&blackcanselect())
  {
    if(board[blackcurpos.x][blackcurpos.y]<=BLACK&&board[blackcurpos.x][blackcurpos.y]>0)
    {
      blackstate=MOVE;
      drawselecursor(blackcurpos);
      blackoldpos.x=blackcurpos.x;
      blackoldpos.y=blackcurpos.y;
    }
  }
  else if(blackstate==MOVE&&blackcanmove())
  {
    x=position[blackoldpos.x][blackoldpos.y].x;
    y=position[blackoldpos.x][blackoldpos.y].y;
    drawbmp(x,y,boardfile[blackoldpos.x][blackoldpos.y]);

    x=position[blackcurpos.x][blackcurpos.y].x;
    y=position[blackcurpos.x][blackcurpos.y].y;
    n=board[blackoldpos.x][blackoldpos.y];
    drawbmp(x,y,chessfile[n]);

    if(board[blackcurpos.x][blackcurpos.y]==RED_JIANG)
    {
      winner=BLACK;
      finish=1;
      return;
    }
    board[blackcurpos.x][blackcurpos.y]=n;
    board[blackoldpos.x][blackoldpos.y]=0;
    for(i=0;i<=2;i++)
      for(j=3;j<=5;j++)
        if(board[i][j]==BLACK_JIANG)
          {x=i;y=j;}
    for(i=x+1,j=y,n=0;i<=9;i++)
    {
      if(board[i][j]==RED_JIANG&&n==0) 
      {winner=RED;finish=1;break;}
      else if(board[i][j]!=0) n++;
    }
    

    turn=RED;
    redstate=SELECT;
    drawcursor(redcurpos);
    drawbmp(30,438,"bmp\\rzq.wfb");               /*轉(zhuǎn)交控制權(quán)給紅方*/
  }
  
}
blackundo()
{
  int x,y,n;
  if(blackstate==MOVE)
  {
    x=position[blackoldpos.x][blackoldpos.y].x;
    y=position[blackoldpos.x][blackoldpos.y].y;
    n=board[blackoldpos.x][blackoldpos.y];
    drawbmp(x,y,chessfile[n]);
    blackoldpos.x=blackcurpos.x;
    blackoldpos.y=blackcurpos.y;
    drawcursor(blackcurpos);
    blackstate=SELECT;
  }
}

/*----------------------------------------------------*/
start()
{
  drawcursor(blackcurpos);
  drawbmp(30,438,"bmp\\bzq.wfb");
  while(!finish)
  {
    key=getkey();
    switch(key){
      case RED_UP:
           if(turn==RED)
	     redup();
	   break;
      case RED_DOWN:
           if(turn==RED)
	     reddown();
	   break;
      case RED_LEFT:
           if(turn==RED)
	     redleft();
	   break;
      case RED_RIGHT:
           if(turn==RED)
	     redright();
	   break;
      case RED_DO:
           if(turn==RED)
	     reddo();
	   break;
      case RED_UNDO:
           if(turn==RED)
	     redundo();
	   break;
	   
      case BLACK_UP:
           if(turn==BLACK)
	     blackup();
	   break;
      case BLACK_DOWN:
           if(turn==BLACK)
	     blackdown();
	   break;
      case BLACK_LEFT:
           if(turn==BLACK)
	     blackleft();
	   break;
      case BLACK_RIGHT:
           if(turn==BLACK)
	     blackright();
	   break;
      case BLACK_DO:
	   if(turn==BLACK)
	     blackdo();
	   break;
      case BLACK_UNDO:
	   if(turn==BLACK)
	     blackundo();
	   break;
      case ESCAPE:  finish=1;break;
    }
    
  }
}

main()
{


  init();
  initpos();
  initchessmap();
  drawbmp(0,0,"bmp\\board.wfb");
  initdrawchess();
  /*初始化光標(biāo)位置*/
  redcurpos.x=redoldpos.x=redtemppos.x=9;
  redcurpos.y=redoldpos.y=redtemppos.y=8;
  blackcurpos.x=blackoldpos.x=blacktemppos.x=0;
  blackcurpos.y=blackoldpos.y=blacktemppos.y=0;
/*開始*/
  start();
  if(winner==RED)
    drawbmp(200,200,"bmp\\redwin.wfb");
  else if(winner==BLACK)
    drawbmp(200,200,"bmp\\blackwin.wfb");
  else
    drawbmp(200,200,"bmp\\exit.wfb");
  getch();
  end();
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
bt欧美亚洲午夜电影天堂| 欧美一级片在线| 亚洲高清在线精品| 制服丝袜在线91| 理论电影国产精品| 久久久亚洲午夜电影| 国产成人精品三级麻豆| 成人欧美一区二区三区1314| 日本福利一区二区| 青青国产91久久久久久| 久久九九国产精品| 99精品视频一区二区三区| 亚洲不卡av一区二区三区| 日韩欧美一级片| 福利一区福利二区| 亚洲精品日日夜夜| 日韩欧美国产一二三区| 国产精品1区2区| 亚洲精品国久久99热| 制服.丝袜.亚洲.另类.中文| 国产精品系列在线播放| 日韩美女视频一区| 91精品国产综合久久香蕉麻豆| 国内精品伊人久久久久av影院| 成人aa视频在线观看| 一区二区三区中文在线| 91精品国产欧美一区二区| 国产精品一卡二卡在线观看| 亚洲人精品午夜| 欧美一级久久久| 成人激情开心网| 天天综合网 天天综合色| 久久久蜜桃精品| 在线看国产日韩| 国产尤物一区二区| 玉足女爽爽91| 欧美不卡视频一区| 一本在线高清不卡dvd| 久久99精品国产麻豆婷婷洗澡| 中文字幕一区二区三| 日韩欧美在线网站| 成人av在线电影| 日本欧美肥老太交大片| 国产精品丝袜在线| 欧美一区午夜精品| 风间由美一区二区三区在线观看 | 亚洲美女电影在线| 精品国精品自拍自在线| 91视频免费观看| 久久爱www久久做| 亚洲精选在线视频| 久久久精品一品道一区| 欧美日韩久久一区二区| av在线播放一区二区三区| 日本sm残虐另类| 亚洲激情自拍偷拍| 国产日韩欧美精品电影三级在线| 亚洲尤物在线视频观看| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲精品视频免费观看| 久久久久综合网| 91精品国产色综合久久不卡蜜臀| 99r精品视频| 国产精品中文字幕日韩精品| 天堂在线一区二区| 亚洲品质自拍视频| 久久精品在这里| 欧美一级日韩不卡播放免费| 91九色最新地址| www.日韩大片| 国产一区二区三区精品欧美日韩一区二区三区| 一区二区三区色| 国产精品女主播av| 久久影视一区二区| 日韩一区二区三区高清免费看看| 在线视频一区二区免费| 不卡影院免费观看| 国产成人免费9x9x人网站视频| 人禽交欧美网站| 午夜精品一区在线观看| 亚洲久草在线视频| 亚洲视频在线一区| 国产精品全国免费观看高清| 欧美精品一区二区三区在线播放| 欧美影视一区二区三区| 91免费观看在线| 不卡视频一二三| 懂色av噜噜一区二区三区av| 狠狠色狠狠色综合日日91app| 日韩在线a电影| 亚洲网友自拍偷拍| 一区二区三区美女视频| 亚洲情趣在线观看| 91亚洲资源网| 成人av资源站| 成人免费毛片片v| 国产成人精品影视| 国产精品资源站在线| 国产一区二区免费视频| 视频一区二区三区中文字幕| 亚洲成av人片在线观看无码| 一区二区三区电影在线播| 亚洲欧美日韩久久| 日韩伦理电影网| 亚洲欧美日韩国产手机在线| 成人欧美一区二区三区小说| 亚洲视频你懂的| 亚洲另类中文字| 亚洲视频综合在线| 亚洲男人的天堂在线aⅴ视频| ●精品国产综合乱码久久久久| 中文字幕一区不卡| 亚洲欧美日本在线| 亚洲三级在线播放| 亚洲乱码国产乱码精品精98午夜| 一区二区三区在线观看欧美| 一区二区三区在线视频免费观看| 一区二区三区高清| 午夜视频在线观看一区二区三区| 天天av天天翘天天综合网| 日韩成人一区二区| 久久99在线观看| 国产一区二区0| 成人午夜在线播放| 91丨porny丨户外露出| 色噜噜狠狠色综合中国 | 色综合一区二区| 91久久精品一区二区二区| 欧美日韩高清一区二区不卡| 日韩一级精品视频在线观看| 精品久久久久久最新网址| 久久久精品黄色| 中文字幕中文在线不卡住| 一区二区三区日韩精品视频| 日日夜夜精品免费视频| 老司机精品视频线观看86| 精品国产一区久久| 中文在线一区二区| 亚洲欧美一区二区三区极速播放| 亚洲成av人片www| 极品少妇xxxx偷拍精品少妇| 粉嫩嫩av羞羞动漫久久久| 91丝袜美腿高跟国产极品老师 | 欧美日韩国产高清一区二区三区| 日韩欧美高清一区| 欧美国产97人人爽人人喊| 一区二区三区国产精华| 日本不卡视频在线| 福利一区二区在线观看| 欧美影院午夜播放| 亚洲精品在线一区二区| 国产精品不卡一区| 无码av免费一区二区三区试看| 麻豆精品久久精品色综合| 风间由美一区二区三区在线观看| 在线观看日韩一区| 欧美mv日韩mv| √…a在线天堂一区| 日韩国产欧美在线观看| 国产jizzjizz一区二区| 欧美色偷偷大香| 久久久亚洲精品石原莉奈| 亚洲欧洲综合另类在线| 麻豆国产91在线播放| 94色蜜桃网一区二区三区| 日韩一区二区三区视频在线| 国产精品理论片在线观看| 午夜在线成人av| 高清日韩电视剧大全免费| 欧美色图免费看| 亚洲国产精品精华液ab| 日韩精品亚洲专区| 成人av先锋影音| 日韩欧美中文字幕公布| 亚洲欧美一区二区三区久本道91| 久久99精品国产91久久来源| 91亚洲精品一区二区乱码| 日韩欧美高清dvd碟片| 亚洲欧美电影一区二区| 久久99这里只有精品| 欧美在线三级电影| 欧美国产一区视频在线观看| 午夜国产精品一区| 不卡在线视频中文字幕| 欧美mv和日韩mv国产网站| 91官网在线观看| 国产欧美久久久精品影院| 五月天视频一区| 色婷婷综合视频在线观看| 国产日韩视频一区二区三区| 日韩成人精品在线| 色哟哟一区二区| 国产亚洲欧美在线| 青青草伊人久久| 欧美亚洲丝袜传媒另类| 国产精品美女久久久久aⅴ国产馆| 免费看欧美女人艹b| 欧美视频一区二区在线观看| 国产精品久久777777| 国产中文字幕精品|