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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? game.c

?? 數字信號處理實驗
?? C
?? 第 1 頁 / 共 2 頁
字號:
     {command=bioskey(0);
      if(command==VK_ENTER) return ENTER;
      else if(command==VK_DOWN)
        {drawmat(jin24S,24,300,350,RED);
         drawmat(ru24S,24,320,350,RED);
         drawmat(tui24S,24,300,380,WHITE);
         drawmat(chu24S,24,320,380,WHITE);
         break;
        }
      }
   while(1)   /*當“退出”突出顯示時,用戶按“Enter"和向上方向鍵有效*/
     {command=bioskey(0);
     if(command==VK_ENTER) return QUITE;
     else if(command==VK_UP) break;
     }
  }
}


void draw(int x,int y,int MorC)
/*根據MorC的值在第一、二維的坐標分別為x、y的位置下一子*/
{
int vx,vy;
int color;
chsman[x][y]=MorC;/*下子*/
if(MorC==P1) color=mancolor;
else  color=computercolor;
switch(x)
  {case 0:vy=170;break;
   case 1:vy=240;break;
   case 2:vy=310;
  }
switch(y)
  {case 0:vx=250;break;
   case 1:vx=320;break;
   case 2:vx=390;
  }
setcolor(color);
circle(vx,vy,25);
}
/*根據鍵盤輸入的z的值確定下子的第一維(x)和第二維坐標*/
int convert(int *x,int *y,char z)
{
 switch(z)
 {case 0x31:*x=2;*y=0;break;
  case 0x32:*x=2;*y=1;break;
  case 0x33:*x=2;*y=2;break;
  case 0x34:*x=1;*y=0;break;
  case 0x35:*x=1;*y=1;break;
  case 0x36:*x=1;*y=2;break;
  case 0x37:*x=0;*y=0;break;
  case 0x38:*x=0;*y=1;break;
  case 0x39:*x=0;*y=2;
 }
 return 0;
}
int man(void)      /*人按1-9鍵下棋,小鍵盤上的1-9鍵分別對應于棋盤上的九個格*/
{
int row,col,test=1;
char k=0x30;
while(test==1||chsman[row][col]!=0)
 {
  while(k<0x31||k>0x39)
    k=bioskey(0);
  convert(&row,&col,k);
  test=0;
  k=0x30;
 }
draw(row,col,P1);
return 0;
}

void judge(void)
{
 int row, col;
 int i;
 /*分別用三個數組存儲 棋盤上各行,各列,或者兩條線上的數組元素的值的和(以下稱之為權值)*/
 int rskAndAtkLevlRow[3] = {0}, rskAndAtkLevlCol[3] = {0}, rskAndAtkLevlSlsh[2] = {0};
 if(stepFlg == 0){
    /*計算機下的第一子特別處理,優先下a[1][1]位置*/
  stepFlg = 1;
  if(chsman[1][1] == P1){
   draw(0,0,P2);
   return;
  } 
  else{
   draw(1,1,P2);
   return;
  }
 }
 stepFlg++;
 /*計算各行,各列以及兩斜線的權值*/
 for(row = 0; row < 3; row++){
     for(col = 0; col < 3; col++){
         rskAndAtkLevlRow[row] += chsman[row][col];
     }
 }
 for(col = 0; col < 3; col++){
     for(row = 0; row < 3; row++){
         rskAndAtkLevlCol[col] += chsman[row][col];
     }
 }
 rskAndAtkLevlSlsh[0] = chsman[0][0] + chsman[1][1] + chsman[2][2];
 rskAndAtkLevlSlsh[1] = chsman[0][2] + chsman[1][1] + chsman[2][0];

 /*若權值為-2(計算機下了兩了,另一位置為空),計算機攻擊*/
 /*攻擊某一行*/
 for(row = 0; row < 3; row++){
  if(rskAndAtkLevlRow[row] == -2){
   chkAndPutDwnRow(row)
  }
 }
 /*攻擊某一列*/
 for(col = 0; col< 3; col++){
     if(rskAndAtkLevlCol[col] == -2){
   chkAndPutDwnCol(col)
     }
 }
 /*攻擊斜率為-1的斜線*/
 if(rskAndAtkLevlSlsh[0] == -2){
     for(row = 0, col = 0; row < 3; row++, col++){
         if(chsman[row][col]==0)
            {draw(row,col,P2);return;}
     }
 }
 /*攻擊斜率為1的斜線*/
 if(rskAndAtkLevlSlsh[1] == -2){
     for(row = 0, col = 2; row < 3; row++, col--)
           if(chsman[row][col]==0) {draw(row,col,P2);return;}
 }
 /*若權值為2(人下了兩子,另一位置為空),計算機防守*/
 /*在某一行上防守*/
 for(row = 0; row < 3; row++){
     if(rskAndAtkLevlRow[row] == 2)
       chkAndPutDwnRow(row)
 }
 /*在某一列上防守*/
 for(col = 0; col< 3; col++){
     if(rskAndAtkLevlCol[col] == 2)
         chkAndPutDwnCol(col)
 }
 /*在斜率為-1的斜線上防守*/
 if(rskAndAtkLevlSlsh[0] == 2){
     for(row = 0, col = 0; row < 3; row++, col++)
           if(chsman[row][col]==0) {draw(row,col,P2);return;}
 }
 /*在斜率為1的斜線上防守*/
 if(rskAndAtkLevlSlsh[1] == 2){
     for(row = 0, col = 2; row < 3; row++, col--)
           if(chsman[row][col]==0) {draw(row,col,P2);return;}
 }
 /*若上述條件都不符,計算機在棋盤四角上下一子*/
 for(row = 0; row < 3; row++){
     for(col = 0; col < 3; col++){
         if(chsman[row][col] == 0 && ((row == 0 && col == 0) || (row == 0 && col == 2) ||
    (row == 2 && col == 0) || (row == 2 && col == 2)))
        {draw(row,col,P2);return;}
     }
 }
 /*若上述條件都不符,計算機在棋盤與數字鍵2、4、6、8的位置上下一子*/
 for(row = 0; row < 3; row++){
     for(col = 0; col < 3; col++){
         if(chsman[row][col] == 0 && ((row == 0 && col == 1) || (row == 1 && col == 0) ||
             (row == 1 && col == 2) || (row == 2 && col == 1)))
        {draw(row,col,P2);return;}
     }
 }
}
void chessboard()
/*進入游戲后畫出棋盤*/
  {int i,j;
   cleardevice();
   setcolor(BACKGROUND);
   for(j=0;j<=getmaxy();j++)
        line(0,j,getmaxx(),j);   /*用循環語句畫背景防止屏幕閃爍*/
   setcolor(RED);
   line(215, 205, 425, 205);
   line(215, 275, 425, 275);
   line(285, 135, 285, 345);
   line(355, 135, 355, 345);
   drawmat(ji24S,24,145,110,computercolor);    /*在棋盤邊寫"計算機"與"人",先下一方用黑色字,另一方白色字*/
   drawmat(suan24S,24,165,110,computercolor);
   drawmat(Ji24S,24,185,110,computercolor);
   drawmat(ren24S,24,460,110,mancolor);
  }
/*判斷游戲是否結束,若結束則輸出結果并返回1,否則返回零*/
int chkresult(void)
{int i;
 for(i = 0; i < 3; i++)  
     if(chsman[i][0] + chsman[i][1] + chsman[i][2] == -3 ||  /*計算機贏*/
          chsman[0][i] + chsman[1][i] + chsman[2][i] == -3 ||
            chsman[0][0] + chsman[1][1] + chsman[2][2] == -3 ||
              chsman[0][2] + chsman[1][1] + chsman[2][0] == -3)
       {drawmat(ying24S,24,165,150,RED);
        drawmat(shu24S,24,460,150,WHITE);
        return 1;
       }
 for(i = 0; i < 3; i++) 
     if(chsman[i][0] + chsman[i][1] + chsman[i][2] == 3 ||  /*人贏*/
               chsman[0][i] + chsman[1][i] + chsman[2][i] == 3 ||
                 chsman[0][0] + chsman[1][1] + chsman[2][2] == 3 ||
                  chsman[0][2] + chsman[1][1] + chsman[2][0] == 3)
       {drawmat(ying24S,24,460,150,RED);
        drawmat(shu24S,24,165,150,WHITE);
        return 1;
       }
 if(stepFlg==5)/*計算機已下五子(計算機先下)或四子(人先下), 和棋*/
    {drawmat(he24S,24,293,110,RED);
     drawmat(qi24S,24,324,110,RED);
     return 1;
    } 
 return 0;
}
void compete() /*進入游戲,并對本函數對下棋的一些參數初始化*/
 {int i,j;
  int result;
  stepFlg = 0;
  for(i=0;i<3;i++)     /*初始化棋盤狀態*/
    for(j=0;j<3;j++)
      chsman[i][j]=0;
  randomize();
  firstone=random(2);  /*隨機讓人或計算機先下第一子*/
  if(firstone==MAN) {mancolor=BLACK;computercolor=WHITE;}  /*先下者用黑子*/
  else {mancolor=WHITE;computercolor=BLACK;}
  chessboard();       /*畫棋盤*/
  while(1)
    {
    if(firstone==MAN)    /*先后下子直至結束*/
       {man();
       if(chkresult()==1) {getch();return;}
       judge();
       if(chkresult()==1) {getch();return;}
       }
    else
      {judge();
       if(chkresult()==1) {getch();return;}
       man();
       if(chkresult()==1) {getch();return;}
      }
    }
 }
int main(void)
{ int k=ENTER;
  initgr(); /* BGI初始化 */
  while(k==ENTER)
  {k=pictureone();
   if(k==QUITE) break;
   else compete();
  }
  closegraph();
  return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产电影一区二区| 色又黄又爽网站www久久| 亚洲精品国产无套在线观| 久久精品一区二区三区av| 欧美成人vps| 337p日本欧洲亚洲大胆精品| 久久视频一区二区| 国产人妖乱国产精品人妖| 日韩一区二区精品| 国产中文字幕一区| 国产一区二区三区免费在线观看| 丝袜美腿亚洲一区| 秋霞电影网一区二区| 午夜精品影院在线观看| 日本一道高清亚洲日美韩| 免费成人在线视频观看| 国产一区三区三区| 成人app下载| 色婷婷国产精品综合在线观看| 欧美亚洲图片小说| 日韩欧美一区二区不卡| 欧美激情一区二区三区全黄| 亚洲天堂2014| 日本欧美韩国一区三区| 国产美女一区二区三区| 99久久精品国产麻豆演员表| 欧美日精品一区视频| 欧美刺激午夜性久久久久久久| 国产午夜精品久久| 亚洲国产aⅴ成人精品无吗| 免费观看日韩电影| 97久久精品人人做人人爽50路| 在线精品国精品国产尤物884a| 日韩一级免费观看| 中文字幕制服丝袜成人av| 亚洲一区二区在线视频| 久久精品国产99久久6| 9l国产精品久久久久麻豆| 91精品啪在线观看国产60岁| 欧美激情在线一区二区| 亚洲动漫第一页| 大胆欧美人体老妇| 欧美大黄免费观看| 亚洲综合小说图片| 成人不卡免费av| 欧美一级二级在线观看| 自拍视频在线观看一区二区| 卡一卡二国产精品| 在线精品国精品国产尤物884a| 国产网站一区二区三区| 天天做天天摸天天爽国产一区| 精品视频资源站| 在线亚洲一区观看| 中文字幕的久久| 九九精品一区二区| 69久久夜色精品国产69蝌蚪网| 亚洲视频一二三区| 成人美女视频在线观看| 日韩视频免费观看高清完整版在线观看| 国产精品国产三级国产有无不卡| 激情欧美一区二区| 538prom精品视频线放| 一区二区三区国产精品| 成人深夜福利app| 国产丝袜在线精品| 激情综合亚洲精品| 欧美大片在线观看| 精品在线一区二区三区| 911精品产国品一二三产区| 亚洲一区二区三区四区在线观看| av在线不卡免费看| 中文字幕人成不卡一区| 不卡欧美aaaaa| 国产精品久久久久久久久搜平片| 韩国女主播成人在线观看| 日韩欧美一级二级| 国产真实乱子伦精品视频| 精品日产卡一卡二卡麻豆| 免费成人在线观看| 久久综合色一综合色88| 国产一区不卡在线| 国产日韩精品久久久| 国产精品一二三四五| 久久久www成人免费无遮挡大片| 国产精品91xxx| 欧美国产激情二区三区| 成人免费视频播放| 亚洲精品视频一区二区| 欧美裸体一区二区三区| 日韩成人免费在线| 337p日本欧洲亚洲大胆精品| 国产一区二区福利| 亚洲欧美日韩电影| 欧美一区二区三区四区在线观看| 久久99国产精品久久| 欧美国产欧美亚州国产日韩mv天天看完整| 高清国产一区二区三区| 中文字幕一区二区不卡| 欧美性大战久久久久久久蜜臀 | 麻豆精品国产91久久久久久 | 国产自产v一区二区三区c| 久久嫩草精品久久久精品一| 99国产精品久久久久久久久久| 一区二区三区四区激情| 日韩视频免费观看高清完整版在线观看 | 一区二区三区久久| 69堂成人精品免费视频| 国产福利电影一区二区三区| 日韩一区有码在线| 欧美一区二区性放荡片| 成人免费av网站| 三级久久三级久久| 国产精品区一区二区三| 7777女厕盗摄久久久| 不卡av在线网| 久久99精品一区二区三区| 1024亚洲合集| 337p日本欧洲亚洲大胆精品| 在线欧美日韩国产| 国产99精品在线观看| 五月天欧美精品| 亚洲人成小说网站色在线| 日韩美女在线视频| 欧美高清视频不卡网| 成人动漫中文字幕| 国产在线不卡视频| 日韩精品一二三| 亚洲精品菠萝久久久久久久| 国产婷婷色一区二区三区在线| 欧美日韩精品一区二区天天拍小说| 国产99久久久国产精品潘金网站| 蜜臀av在线播放一区二区三区| 一区二区三区加勒比av| 亚洲欧洲国产日韩| 久久综合九色欧美综合狠狠 | 中文字幕中文在线不卡住| 日韩免费高清av| 欧美精品在线一区二区| 99久久精品国产麻豆演员表| 国产91对白在线观看九色| 久久精品国产999大香线蕉| 亚洲成国产人片在线观看| 亚洲免费观看在线视频| 国产精品福利一区二区| 亚洲国产精品ⅴa在线观看| 久久亚洲精品小早川怜子| 欧美精品一区二区三区蜜臀| 欧美一级二级三级乱码| 日韩午夜激情免费电影| 日韩欧美国产一区二区三区 | 欧美激情一区二区三区四区| 精品久久久久久久久久久久久久久久久 | 国产精品资源网站| 麻豆视频观看网址久久| 免费人成精品欧美精品| 蜜臀久久99精品久久久久久9| 日韩精品国产欧美| 美女一区二区在线观看| 久久66热偷产精品| 国内一区二区视频| 成人丝袜高跟foot| 色综合久久88色综合天天| 91黄色免费看| 欧美欧美午夜aⅴ在线观看| 91精品国产综合久久香蕉麻豆| 欧美一区二区视频在线观看2022| 欧美疯狂性受xxxxx喷水图片| 日韩视频在线一区二区| 国产午夜精品一区二区三区视频| 国产午夜精品久久久久久久| 国产精品久久毛片a| 一区二区三区欧美日韩| 偷偷要91色婷婷| 开心九九激情九九欧美日韩精美视频电影 | 亚洲欧美自拍偷拍色图| 亚洲一区二区精品久久av| 日韩专区一卡二卡| 国产乱子轮精品视频| av不卡一区二区三区| 欧美日韩成人一区二区| 久久久久久久久久久黄色| 国产精品看片你懂得| 婷婷综合另类小说色区| 国产91精品在线观看| 欧美亚洲一区二区在线| 久久中文娱乐网| 亚洲成va人在线观看| 国产一区不卡精品| 欧美视频在线一区二区三区| 久久这里只有精品视频网| 亚洲狠狠丁香婷婷综合久久久| 日本欧美肥老太交大片| 成人听书哪个软件好| 欧美一区二区国产| 亚洲天堂福利av| 激情综合色丁香一区二区| 在线观看日韩国产| 国产女主播在线一区二区| 肉肉av福利一精品导航| 色吊一区二区三区|