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

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

?? othello.c~

?? linux下編的黑白棋 棋盤格4x4 人機對戰 gcc編譯
?? C~
字號:
#include <stdio.h>#include <stdlib.h>#include <ctype.h>#define     DIM 4  /* 4∵4の鴿茸 */#define   NOSPC 'x'/*彌く眷疥ない*/#define FREESPC ' '/*鄂腕*/#define BLACKPC '*'/*  輥短 */#define WHITEPC 'o'/* 球短 */void clear(      void );void printintro( void );void printscrn(  void );void initboard(  void );void printboard( void );void center( int );int place( int, int, int, int );int move(  int, int );int check( int, int, int, int * );int getspcs( int, int, int, int, int );void change( int, int, int * );char getcolor( int );char invcolor( char );char board[DIM + 2][DIM + 2]; int pcnum[3] = { 2, 2, 12 }; /*   0 = computer                             1 = human                             2 = free spaces    */int depth;  /* 雇えの考さ */main(){   int x, plyr = 1,  /* プレヤ〖フラグ                   ~     0 = computer, 1 = human                   */       a, b, c, d, max;   char y;   /*  棱湯と鴿茸を今く */   printintro();   initboard();   while( pcnum[0] * pcnum[1] * pcnum[2] )   {      printboard();      c = 0;      max = 0;      while( c < 2 )      {         for( a = 1; a < DIM + 1; a++ )            for( b = 1; b < DIM + 1; b++ )            {               if ( board[a][b] == FREESPC )                  d = check( plyr, a, b, NULL );/*check簇眶で短を彌けるかをチェックする*/               if (d > max)                  max = d;            }         if (max > 0)            break;         c++;         plyr = 1 - plyr;      }      if (c == 2)      {         printf("もう彌けない\n");         printf("(Press return)");         getchar();         break;      }      if (c == 1)         if (plyr == 0)         {            printf("おまえ海攙パス ");            printf("コンピュ〖タもう辦攙.\n(Press return)");            getchar();            printboard();         } else {            printf("コンピュ〖タパス、おまえもう辦攙 ");            printf("お搓い.\n");         }      if (plyr)      {         printf("郝篩を今きなさい:\n");         scanf("%c%d", &y, &x );         getchar();         /*  Check to make sure that the move is legal */         if ( place( plyr, tolower(y) - 'a' + 1, x, 0) )         {            /*  Prompt the user for his move */            printf("ここに彌けない.\n");            printf("(Press return)\n");            getchar();            plyr = 0;         }      } else {/*コンピュ〖タの戎*/         depth = 3;         move( plyr, 0 );      }      plyr = 1 - plyr;  /* プレヤ〖蛤侖 */   }   /* ゲ〖ム馮蔡 */   clear();   printf("\n\n\n\n\n\n\n\n\n\n\n");   center( 9 );   if (pcnum[1] > pcnum[0])      printf("YOU WIN!!\n");   if (pcnum[1] < pcnum[0])      printf("YOU LOSE.\n");   if (pcnum[1] == pcnum[0])      printf("苞き尸け!\n");   return(0);}voidclear( void ){   if (system("clear"))   {      printf("An error occured clearing the screen.\n");      exit(0);   }}void printscrn( void ){   clear();   printf("\n\n\n\n\n\n\n\n\n\n\n                        オセロ                          \n\n\n\n\n\n\n\n\n\n\n");   printf("                             デ〖タ菇隴とアルゴリズム呵姜レポ〖ト\n\n");   printf("                                          ep03027 撥 池\n                                              (辦嬸はアメリカのあるサイトのothelloに徊雇した)");   getchar();}voidprintintro( void ){   printscrn();   clear();   printf("舍奶のオセロゲ〖ムのル〖ルに驕う\n");   printf("Press <return> to start the game.");   getchar();}voidinitboard( void ){   int i, j;   for( i = 0; i < DIM + 2; i++ )      for( j = 0; j < DIM + 2; j++ )         if (i * j == 0 || i == DIM + 1 || j == DIM + 1)            board[i][j] = NOSPC;         else            board[i][j] = FREESPC;   board[ DIM/2    ][ DIM/2    ] = BLACKPC;   board[ DIM/2    ][ DIM/2 + 1] = WHITEPC;   board[ DIM/2 + 1][ DIM/2    ] = WHITEPC;   board[ DIM/2 + 1][ DIM/2 + 1] = BLACKPC;}voidprintboard( void )/*鴿茸を今く*/{   int i, j, c = DIM * 4 + 17;   char  comp[20] = "コンピュ〖タ",         humn[20] = "おまえ   ",        *pstr[2]  = {comp, humn};   clear();   center( c );   printf("  ");   for( i = 0; i < DIM; i++ )      printf("  %d ", i + 1);   printf("\n");   for ( i = 0; i < DIM; i++ )   {      center( c );      printf("  +");      for (j = 0; j < DIM; j++)         printf("---+");      printf("\n");      center( c );      printf("%c | %c", 'A' + i, board[i+1][1] );      for (j = 1; j < DIM; j++)         printf(" | %c", board[i+1][j+1]);      printf(" | %c", 'A' + i);      if (i < 2)         printf("   %s: %d", pstr[i], pcnum[i] );      printf("\n");   }   center( c );   printf("  +");   for (j = 0; j < DIM; j++)      printf("---+");   printf("\n");   center( c );   printf("  ");   for( i = 0; i < DIM; i++ )      printf("  %d ", i + 1);   printf("\n\n");}voidcenter( int spaces ){   int i;   for( i = 0; i < (80 - spaces) / 2; i++ )      printf(" ");}place( int who, int y, int x, int undo )/*短を彌く*/{   int n, k[8], na = 100 * (who * 2 - 1);   /* na 痰跟な猛 -100 に提る                */   if (x < 1 || y < 1)      return (na);   if (x > DIM || y > DIM)      return (na);   if (board[y][x] != FREESPC)      return (na);   if ( check( who, y, x, k ) == 0 )      return (na);   /*呵努眷疥を玫すため、短を極瓢に彌くときの球か輥かの冉們 */   board[y][x] = getcolor( who );   pcnum[2] -= 1;   pcnum[who] += 1;   /* チェンジ */   change( y, x, k );   /* もし塑碰に短を彌くなら、undoではない */   if (!undo)      return(0);   n = move( 1 - who, 1 );   depth++;  /* 徒鱗の考さ */   board[y][x] = FREESPC;   pcnum[2] += 1;   pcnum[who] -= 1;   change( y, x, k );   return (n);/*moveからの猛に提る*/}move( int who, int n ) /* nはplaceから */{   		int y, x, a, b, val, max = -100;	   char mycolor = getcolor( who ); /* 球か輥か冉們 */   /* 考さの姜爬に緬くと*/   if (depth-- < 1)      return( pcnum[0] - pcnum[1] ); /* ミニマクス恕で冉們 */   for( y = 1; y < DIM + 1; y++ ){      for( x = 1; x < DIM + 1; x++ )      {          /*who プレヤ〖が 1 コンピュ〖タが 0で 賴と砷に惰侍する */          val = (who * -2 + 1) * place( who, y, x, 1 );          if (val > max)            {             max = val;             a = y;             b = x;		          }      }	}  if ( max > -100 )      return (place( who, a, b, n ));         else            return (pcnum[0] - pcnum[1]);}intcheck( int who, int y, int x, int *k ){   int n = 0, i, j, num, max = 0, ydir, xdir; /* "dir" means "direction */    for( i = y - 1; i < y + 2; i++ )      for( j = x - 1; j < x + 2; j++ )         {            ydir = i - y;             xdir = j - x; /*                          ydir = -1   ydir = -1   ydir = -1                          xdir = -1   xdir =  0   xdir =  1                                    \     ^     /                                      \   |   /                          ydir =  0     \ | /     ydir = 0                          xdir = -1 <----- -----> xdir = 1                                        / | \                                      /   |   \                                    /     v     \                          ydir =  1   ydir =  1   ydir = 1                          xdir = -1   xdir =  0   xdir = 1 */                       if ( ydir || xdir )            {                              num = getspcs( 1 - who, i, j, ydir, xdir );               if (k != NULL )                    k[n++] = num;                                               if ( num > max )                       max = num;              }         }   return (max);}intgetspcs( int color, int y, int x, int ydir, int xdir ){    int n = 0;   char colrpc = getcolor( color );    while( board[y][x] == colrpc )   {                                  n++;            y += ydir;       x += xdir;   }      if (board[y][x] == invcolor( colrpc ) )      return (n);     else      return (0);}voidchange( int y, int x, int *amt )/*彌いた短による,輥か球かチェンジ*/{   int a, b, i, n, tempwho, ydir, xdir;   for( i = 0; i < 8; i++ )   {      ydir = 0 + (i > 4) - (i < 3);      xdir = 0 + (i < 4)*(i % 3 - 1) - (i > 3)*((7 - i) % 3 - 1);      a = y + ydir;        b = x + xdir;        n = 0;       while( n++ < amt[i] )       {         tempwho = (board[a][b] == BLACKPC);         board[a][b] = getcolor( 1 - tempwho );          pcnum[tempwho] -= 1;          pcnum[1 - tempwho] += 1;          a += ydir;          b += xdir;   }}}chargetcolor( int who ){   return ( (who == 0)*WHITEPC + (who == 1)*BLACKPC );}charinvcolor( char piece ){   return( (BLACKPC + WHITEPC) - piece );}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久国产精麻豆99网站 | 91精品国产麻豆| 91精品国产免费| 久久久久久影视| 伊人开心综合网| 极品美女销魂一区二区三区| gogogo免费视频观看亚洲一| 欧美日韩和欧美的一区二区| 精品国产欧美一区二区| 国产精品国产三级国产普通话三级 | 石原莉奈在线亚洲三区| 国产精品一卡二卡| 欧美偷拍一区二区| 久久精品亚洲麻豆av一区二区 | 欧美放荡的少妇| 欧美—级在线免费片| 亚洲国产你懂的| 国产精品99久久久久久似苏梦涵| 色哟哟在线观看一区二区三区| 日韩视频免费观看高清在线视频| 中文字幕在线一区二区三区| 男人的天堂亚洲一区| 91一区在线观看| 久久网站热最新地址| 亚洲一区二区影院| 国产一区二区精品久久91| 欧美日本在线看| 综合在线观看色| 国产高清不卡一区| 欧美日本视频在线| 最新高清无码专区| 国产伦精品一区二区三区免费| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 久久精品日产第一区二区三区高清版| 无吗不卡中文字幕| 99国产一区二区三精品乱码| 久久久久国产精品人| 五月激情综合网| 91行情网站电视在线观看高清版| 国产亚洲精品超碰| 奇米影视一区二区三区| 欧美丝袜第三区| 日韩美女视频19| 国产91富婆露脸刺激对白| 精品国产三级电影在线观看| 午夜精品福利一区二区三区蜜桃| 色婷婷亚洲综合| 中文字幕在线不卡一区二区三区| 国产剧情一区在线| 精品噜噜噜噜久久久久久久久试看 | 本田岬高潮一区二区三区| 精品国产乱子伦一区| 日韩制服丝袜先锋影音| 欧美三级日韩三级国产三级| 亚洲精品免费在线播放| eeuss影院一区二区三区| 国产亚洲精品资源在线26u| 精品一区二区三区的国产在线播放| 欧美久久久久久久久中文字幕| 亚洲黄色免费网站| 91麻豆.com| 亚洲欧美日韩国产另类专区| 国产a精品视频| 久久久久久久久久久黄色| 韩国午夜理伦三级不卡影院| 日韩欧美精品在线| 美女性感视频久久| 日韩一区二区三区视频在线观看| 免费成人在线观看视频| 日韩精品中文字幕一区| 久久电影网电视剧免费观看| 精品少妇一区二区三区免费观看 | 久久人人爽爽爽人久久久| 激情五月播播久久久精品| www日韩大片| 成人性视频网站| 中文字幕一区二区不卡| 99re热视频这里只精品| 成人欧美一区二区三区小说| 99久久精品免费看国产 | 欧美军同video69gay| 视频一区二区三区在线| 欧美大片免费久久精品三p| 国产在线麻豆精品观看| 亚洲国产激情av| av亚洲精华国产精华精| 亚洲精品高清在线| 精品视频一区三区九区| 日韩avvvv在线播放| 日韩女优电影在线观看| 国产成人啪免费观看软件| 国产精品久久久久9999吃药| 91福利在线观看| 免费一级欧美片在线观看| 精品国产123| av中文一区二区三区| 亚洲一区视频在线| 欧美成人激情免费网| 成人深夜福利app| 亚洲一二三专区| 精品国一区二区三区| 成人18视频日本| 午夜精品爽啪视频| 国产午夜精品一区二区| 99久久精品国产网站| 亚洲国产精品欧美一二99| 精品人在线二区三区| 99精品视频一区二区三区| 亚洲国产精品一区二区www在线| 日韩女优视频免费观看| 成人avav在线| 欧美a级理论片| 国产精品久久久久久久久免费丝袜| 欧美视频三区在线播放| 国产一区二区在线视频| 亚洲精品中文字幕乱码三区| 91麻豆精品国产自产在线观看一区| 国产一区二三区好的| 亚洲综合一区二区三区| 精品国产污网站| 欧美四级电影网| 国产suv一区二区三区88区| 亚洲国产精品尤物yw在线观看| 久久精品视频一区二区三区| 欧美视频在线观看一区二区| 国产精品一区专区| 丝袜美腿亚洲一区| 国产精品女同互慰在线看| 91精品国产一区二区人妖| av午夜精品一区二区三区| 蜜臀久久99精品久久久久宅男| 亚洲日本一区二区| 欧美精品一区二区三区很污很色的| 欧洲一区在线电影| 风间由美中文字幕在线看视频国产欧美| 亚洲一区视频在线| 国产精品麻豆99久久久久久| 日韩亚洲欧美一区| 色综合久久中文字幕| 国产成人自拍网| 麻豆精品一区二区三区| 洋洋av久久久久久久一区| 亚洲国产精品精华液2区45| 9191成人精品久久| 色老汉av一区二区三区| 成人免费视频网站在线观看| 精品一区二区三区影院在线午夜| 亚洲国产精品一区二区www在线| 国产精品久久久久影院色老大| 欧美哺乳videos| 91精品国产综合久久福利软件| 91国偷自产一区二区三区成为亚洲经典| 国产成人99久久亚洲综合精品| 久久精品99国产精品| 天堂va蜜桃一区二区三区漫画版| 亚洲黄色av一区| 亚洲手机成人高清视频| 久久亚洲二区三区| 欧美大片国产精品| 欧美一区二区三区视频免费| 欧美色综合网站| 欧美自拍偷拍一区| 91亚洲精品久久久蜜桃网站| 成人一道本在线| 成人美女视频在线观看| 精品无码三级在线观看视频| 麻豆国产精品777777在线| 亚洲动漫第一页| 亚洲一二三区视频在线观看| 亚洲精品老司机| 一区二区欧美国产| 亚洲综合成人在线视频| 亚洲品质自拍视频| 亚洲靠逼com| 亚洲黄色免费网站| 亚洲国产欧美在线人成| 亚洲一区二区三区四区在线| 一区二区三区加勒比av| 亚洲一线二线三线视频| 亚洲狠狠爱一区二区三区| 亚洲国产日韩在线一区模特| 亚洲综合精品久久| 五月综合激情网| 欧美aⅴ一区二区三区视频| 另类欧美日韩国产在线| 韩国av一区二区三区在线观看| 国产一区二区看久久| 国产成人免费视频网站| 本田岬高潮一区二区三区| 91麻豆文化传媒在线观看| 欧美一a一片一级一片| 欧美色图在线观看| 91精品国产色综合久久久蜜香臀| 884aa四虎影成人精品一区| 欧美一激情一区二区三区| 精品少妇一区二区三区视频免付费 | 午夜一区二区三区视频| 五月开心婷婷久久| 精品无码三级在线观看视频 | 成人欧美一区二区三区在线播放|