PichuChen 10 發表於 April 3, 2007 檢舉 Share 發表於 April 3, 2007 如題......要用什麼方法下去判斷..是純粹抓活三,活四嗎? 鏈接文章 分享到其他網站
lachu 10 發表於 April 4, 2007 檢舉 Share 發表於 April 4, 2007 只抓活三死四的話很容易就被雙活三了最好是活二就有檢測會不會出現雙活三 鏈接文章 分享到其他網站
PichuChen 10 發表於 January 7, 2008 作者 檢舉 Share 發表於 January 7, 2008 話說這東西其實做好很久了不要問我這東西為什麼#include <cstdlib>#include <iostream>而printf XD#include <cstdlib>#include <iostream>#include <conio.h>#define xmax 19#define ymax 19#define curicon "■"#define empty "┼"#define p1c "○"//參考用:☆★ ○●♀♂#define p2c "●" #define p1cw "☆"#define p2cw "★" //AI權值#define SD4 94011#define ED4 5000#define SA3 2511#define EA3 2500#define ED3 100#define EA2 50#define ED2 20#define EA1 10using namespace std;const char fa[19][3]={"1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J",};void rester(int);int set(int,int,int);void show (void);int check(int,int);int ai(void);int btov(void);char b[xmax][ymax],cursor[2],r[2][xmax][ymax];int now;char playername[2][21];char defkey[7][2]={{27,0},{-32,72},{-32,80},{-32,75},{-32,77},{32,0},{'r',0}};//0:ESC 1:上 2:下 3:左 4:右 5:放置(空白) 6:悔棋 char wontext[100]="%s獲勝!!\n%s失敗!!\n" ;char is_beep=0,is_comp=0;char stat[5],out;int main(int argc, char *argv[]){firstdot: /* printf("%d",getch()); system("PAUSE"); */ //初始化開始 char inkey[2]={0,0}; now = 0; out = 0; cursor[0] = (int)(xmax / 2 - (xmax % 2)*0.5 ); cursor[1] = (int)(ymax / 2 - (ymax % 2)*0.5 ); for (int cy = 0;cy<ymax;cy++) for (int cx = 0;cx<xmax;cx++) b[cx][cy] = 0; strcpy(playername[0],""); strcpy(playername[1],""); //初始化結束 do{//主目錄 system("cls"); printf("┌─────────────────┐\n"); printf("│五子棋 棋盤大小: %2dX%2d │\n",xmax,ymax); printf("│ v3.14159265358 by Pichu │\n"); printf("├─────────────────┤\n"); printf("│(1)開始遊戲 │\n"); printf("│(2)遊戲設定 │\n"); printf("│(3)遊戲說明 │\n"); printf("│(4)遊戲製作 │\n"); printf("│(0)離開遊戲 │\n"); printf("└─────────────────┘\n"); inkey[0] = getch(); if (inkey[0] == '1'){ do{ system("cls"); printf("┌─────────────────┐\n"); printf("│五子棋 │\n"); printf("│ v3.14159265358 by Pichu │\n"); printf("├─────────────────┤\n"); printf("│(1)單人遊戲 │\n"); printf("│(2)雙人遊戲 │\n"); printf("│(0)返回上一層 │\n"); printf("└─────────────────┘\n"); inkey[0] = getch(); if (inkey[0] == '1'){ do{ system("cls"); printf("┌─────────────────┐\n"); printf("│五子棋 │\n"); printf("│ v3.1415926 by Pichu │\n"); printf("├─────────────────┤\n"); printf("│(1)玩家先 │\n"); printf("│(2)電腦先 │\n"); printf("│(0)返回上一層 │\n"); printf("└─────────────────┘\n"); inkey[0]=getch(); if (inkey[0] == '1'){ now = 3; is_comp = 1; break; } if (inkey[0] == '2'){ now = 2; is_comp = 1; break; } }while(inkey[0] != '0'); inkey[0] = 1; } else if (inkey[0] == '2'){ is_comp = 0; now = 2; break; } }while((now<2)and(inkey[0] != '0')); inkey[0] = 1; } if (inkey[0] == '2') {//主目錄--遊戲設定 do{ system("cls"); printf("┌─────────────────┐\n"); printf("│遊戲設定 │\n"); printf("│ │\n"); printf("├─────────────────┤\n"); printf("│(1)按鍵控制 │\n"); printf("│(2)遊戲音效 │\n"); //printf("│(3)提示文字 │\n"); printf("│(0)返回上一層 │\n"); printf("└─────────────────┘\n"); inkey[0] = getch(); if (inkey[0] == '1') {//主目錄--遊戲設定--按鍵控制 do{ system("cls"); printf("┌─────────────────┐\n"); printf("│按鍵控制 │\n"); printf("│ 請選擇欲修改的項目 │\n"); printf("├─────────────────┤\n"); if (defkey[0][0]==27) printf("│(1)離開:%26s│\n","<esc>"); else printf("│(1)離開:%26c│\n",defkey[0][0]); printf("│(2)方向控制 │\n"); if ((defkey[1][0] == -32) && (defkey[1][1] == 72)) printf("│ ├上:%26s│\n","<up>"); else printf("│ ├上:%26c│\n",defkey[1][0]); if ((defkey[2][0] == -32) && (defkey[2][1] == 80)) printf("│ ├下:%26s│\n","<down>"); else printf("│ ├下:%26c│\n",defkey[2][0]); if ((defkey[3][0] == -32) && (defkey[3][1] == 75)) printf("│ ├左:%26s│\n","<left>"); else printf("│ ├左:%26c│\n",defkey[3][0]); if ((defkey[4][0] == -32) && (defkey[4][1] == 77)) printf("│ ├右:%26s│\n","<right>"); else printf("│ ├右:%26c│\n",defkey[4][0]); if (defkey[5][0]==32) printf("│(3)放置棋子:%22s│\n","<space>"); else printf("│(3)放置棋子:%22c│\n",defkey[5][0]); printf("│(4)悔棋:%26c│\n",defkey[6][0]); printf("│(0)返回上一層 │\n"); printf("└─────────────────┘\n"); inkey[0] = getch(); if (inkey[0] == '1') { printf("離開:"); defkey[0][0]=getch(); } if (inkey[0] == '2') { printf("上:"); defkey[1][0] = getch(); if (defkey[1][0] == -32) defkey[1][1] = getch(); printf("下:"); defkey[2][0]=getch(); if (defkey[2][0] == -32) defkey[2][1] = getch(); printf("左:"); defkey[3][0]=getch(); if (defkey[3][0] == -32) defkey[3][1] = getch(); printf("右:"); defkey[4][0]=getch(); if (defkey[4][0] == -32) defkey[4][1] = getch(); } if (inkey[0] == '3') { printf("放置棋子:"); defkey[5][0]=getch(); } if (inkey[0] == '4') { printf("悔棋:"); defkey[5][0]=getch(); } }while(inkey[0] != '0'); inkey[0] = 0; } if (inkey[0] == '2'){//主目錄--遊戲設定--音效設定 do{ system("cls"); printf("┌─────────────────┐\n"); printf("│音效設定 │\n"); printf("│ 請選擇欲修改的項目 │\n"); printf("├─────────────────┤\n"); if (is_beep) printf("│(1)音效狀態: 開│\n"); else printf("│(1)音效狀態: 關│\n"); //printf("│(2)音效次數 │\n"); printf("│(0)返回上一層 │\n"); printf("└─────────────────┘\n"); inkey[0] = getch(); }while(inkey[0] != '0'); inkey[0] = 0; } }while(inkey[0] != '0'); inkey[0] = 0; } if (inkey[0] == '3') { system("cls"); printf("┌─────────────────┐\n"); printf("│遊戲說明 │\n"); printf("│ 五子棋│\n"); printf("├─────────────────┤\n"); printf("│ 不需要想太多,這真的只是五子棋│\n"); printf("│,這應該是皮丘寫過最安全的遊戲之一│\n"); printf("│。 │\n"); printf("│按鍵說明: │\n"); if (defkey[0][0]==27) printf("│(1)離開:%26s│\n","<esc>"); else printf("│(1)離開:%26c│\n",defkey[0][0]); printf("│(2)方向控制 │\n"); if ((defkey[1][0] == -32) && (defkey[1][1] == 72)) printf("│ ├上:%26s│\n","<up>"); else printf("│ ├上:%26c│\n",defkey[1][0]); if ((defkey[2][0] == -32) && (defkey[2][1] == 80)) printf("│ ├下:%26s│\n","<down>"); else printf("│ ├下:%26c│\n",defkey[2][0]); if ((defkey[3][0] == -32) && (defkey[3][1] == 75)) printf("│ ├左:%26s│\n","<left>"); else printf("│ ├左:%26c│\n",defkey[3][0]); if ((defkey[4][0] == -32) && (defkey[4][1] == 77)) printf("│ ├右:%26s│\n","<right>"); else printf("│ ├右:%26c│\n",defkey[4][0]); if (defkey[5][0]==32) printf("│(3)放置棋子:%22s│\n","<space>"); else printf("│(3)放置棋子:%22c│\n",defkey[5][0]); printf("│(4)悔棋:%26c│\n",defkey[6][0]); printf("│以上 │\n"); printf("│ Pichu │\n"); printf("└─────────────────┘\n"); system("pause"); } if (inkey[0] == '4') { system("cls"); printf("┌─────────────────┐\n"); printf("│遊戲製作 │\n"); printf("│ 皮丘│\n"); printf("├─────────────────┤\n"); printf("│遊戲測試 │\n"); printf("│ 陳彥安│\n"); printf("│ 小小冠│\n"); printf("│ 大明星│\n"); printf("│ 小峰│\n"); //printf("│ │\n"); printf("├─────────────────┤\n"); printf("│特別感謝 │\n"); printf("│ 資訊老師賴和隆│\n"); printf("│ 中正高中童軍團│\n"); printf("└─────────────────┘\n"); system("pause"); } if (inkey[0] == '0') return 0; }while(now < 2); //資料蒐集 do{ if (is_comp){ printf("請輸入玩家姓名\n"); scanf("%s",&playername[1]); strcpy(playername[0],"Pichu's AI"); }else{ printf("請輸入玩家一姓名\n"); scanf("%s",&playername[0]); printf("請輸入玩家二姓名\n"); scanf("%s",&playername[1]); } printf("以上資料是否需要修改(y/any key)? "); inkey[0] = getche(); }while((inkey[0] == 'y') or (inkey[0] == 'Y')); //資料蒐集結束 do{ start: out = 0; if (is_comp){ if ((now % 2) == 0){ now +=1 + ai(); if (is_beep) for (int bi = 0 ; bi < 1 ; bi++) printf("%c",7); } /* if ((now % 2) == 1){ now +=1 + ai(); if (is_beep) for (int bi = 0 ; bi < 1 ; bi++) printf("%c",7); } *///電腦對下 } show(); inkey[0] = getch(); if (inkey[0] == -32) inkey[1] = getch(); printf("%d,%d",inkey[0],inkey[1]); if (inkey[0] == defkey[6][0]){ rester(1); now--; goto start;} //移動開始 if (inkey[0] == 'p') is_comp = 1; if (inkey[0] == 'o') is_comp = 0; if ((inkey[0] == defkey[1][0]) && (inkey[1] == defkey[1][1])) cursor[1]--; if ((inkey[0] == defkey[2][0]) && (inkey[1] == defkey[2][1])) cursor[1]++; if ((inkey[0] == defkey[3][0]) && (inkey[1] == defkey[3][1])) cursor[0]--; if ((inkey[0] == defkey[4][0]) && (inkey[1] == defkey[4][1])) cursor[0]++; if (cursor[0] < 0) cursor[0] = 0;//避免暴走 if (cursor[1] < 0) cursor[1] = 0; if (cursor[0] > xmax-1) cursor[0] = xmax-1; if (cursor[1] > ymax-1) cursor[1] = ymax-1; //移動結束 if (inkey[0] == defkey[5][0]) { rester(0); now +=1 + set(cursor[0],cursor[1],1+(now % 2)); if (is_beep) for (int bi = 0 ; bi < 1 ; bi++) printf("%c",7); // now = 0 ; } }while((inkey[0] != defkey[0][0]) and !out); inkey[0] = getch(); if (inkey[0] == defkey[6][0]){ rester(1); now--; goto start; } goto firstdot; return EXIT_SUCCESS;}//-------------------------------------------------------main在這裡~~ ^^^^ int set(int x,int y,int player){ if (player == 0){ b[x][y]=0;return 0; }else if (b[x][y] ==0 ){ b[x][y] = player; if (check(x,y) > 0){ out = 1; show(); if (player == 1) printf(wontext,playername[0],playername[1]) ; else printf(wontext,playername[1],playername[0]) ; if (is_beep) for (int bi = 0 ; bi < 5 ; bi++) printf("%c",7); system("pause"); } if (check(x,y) == -1 ){ out = 1; show(); printf("%s與%s平手!!\n",playername[0],playername[1]) ; if (is_beep) for (int bi = 0 ; bi < 10 ; bi++) printf("%c",7); system("pause"); } return 0; }else if (b[x][y] ==player ){ printf("不要把兩顆棋疊在一起!!\n"); if (is_beep) for (int bi = 0 ; bi < 10 ; bi++) printf("%c",7); system("PAUSE");return -1; }else{ printf("不要把棋疊在別人的棋上!!\n"); if (is_beep) for (int bi = 0 ; bi < 10 ; bi++) printf("%c",7); system("PAUSE");return -1; }}void show(void){ system("cls"); printf("@"); for (int fk = 0; fk < xmax;fk++){ printf("%s",fa[fk]); } printf("\n"); for (int sy = 0;sy < ymax ; sy++){ printf("%s",fa[sy]); switch (sy){ } for(int sx = 0 ; sx < xmax; sx++){ if((sx == cursor[0]) && (sy == cursor[1])){ printf(curicon);continue;}//印出游標 switch (b[sx][sy]){ case 0: printf(empty);break; case 1: printf(p1c);break; case 2: printf(p2c);break; case 3: printf(p1cw);break; case 4: printf(p2cw);break; } } cout<<endl; } }int check(int x,int y){ int win=0; if ((b[x][y] == 1)or(b[x][y] == 2)){ int k,num; num=0; k=1; while((b[x][y]==b[x+k][y]) and (x+k < xmax)){ if (++num >= 4){ for(k = 0 ; k <= 4 ; k++) b[x+k][y] +=2; win++; } k++; } k=1; while((b[x][y]==b[x-k][y]) and (x-k >= 0)){ if (++num >= 4){ for(int fk = 0 ; fk <= 4 ; fk++) b[x-k+fk][y] +=2; win++; } k++; }//1 num=0; k=1; while((b[x][y]==b[x][y+k]) and (y+k < ymax)){ if (++num >= 4){ for(k = 0 ; k <= 4 ; k++) b[x][y+k] +=2;win++; } k++; } k=1; while((b[x][y]==b[x][y-k]) and (y-k >= 0)){ if (++num >= 4){ for(int fk = 0 ; fk <= 4 ; fk++) b[x][y-k+fk] +=2; win++; } k++; }//2 num=0; k=1; while((b[x][y]==b[x+k][y+k]) and (x+k < xmax) and (y+k < ymax)){ if (++num >= 4){ for(k = 0 ; k <= 4 ; k++) b[x+k][y+k] +=2; win++; } k++; } k=1; while((b[x][y]==b[x-k][y-k]) and (x-k >= 0) and (y-k >= 0)){ if (++num >= 4){ for(int fk = 0 ; fk <= 4 ; fk++) b[x-k+fk][y-k+fk] +=2; win++; } k++; }//3 num=0; k=1; while((b[x][y]==b[x+k][y-k]) and (x+k < xmax) and (y-k >= 0)){ if (++num >= 4){ for(k = 0 ; k <= 4 ; k++) b[x+k][y-k] +=2;win++; } k++; } k=1; while((b[x][y]==b[x-k][y+k]) and (x-k >= 0) and (y+k < ymax)){ if (++num >= 4){ for(int fk = 0 ; fk <= 4 ; fk++) b[x-k+fk][y+k-fk] +=2; win++; } k++; } } if (win == 0){ for (int cy = 0;cy<ymax;cy++){ for (int cx = 0;cx<xmax;cx++){ if (b[cx][cy] != 0 ){ win = -1; }else{ win = 0; break; } } if (win == 0) break; } }return win;}void rester(int fun){//0:讀取b 1:寫入b if (fun){ for (int cy = 0;cy<ymax;cy++) for (int cx = 0;cx<xmax;cx++) b[cx][cy] = r[((now)%2)][cx][cy]; now--; if (is_beep) for (int bi = 0 ; bi < 2 ; bi++) printf("%c",7); }else{ for (int cy = 0;cy<ymax;cy++) for (int cx = 0;cx<xmax;cx++) r[(now)%2][cx][cy] = b[cx][cy]; }}int ai(void){ rester(0); int best[3]={1,10,10}; int a[xmax][ymax]; for (int ay = 0 ;ay<ymax ; ay ++) for (int ax = 0 ;ax<xmax ; ax ++) a[ax][ay] = 0; for (int ay = 0 ;ay<ymax ; ay ++){ for (int ax = 0 ;ax<xmax ; ax ++){ for (int k = 0 ;k<5 ; k ++){ if (ax+k >= xmax) {stat[k] = 3; continue;} stat[k] = b[ax+k][ay]; } switch (btov()){ case 80: a[ax][ay] +=ED4 ; break; case 188: a[ax+1][ay] +=ED4 ; break; case 224: a[ax+2][ay] +=ED4 ; break; case 236: a[ax+3][ay] +=ED4 ; break; case 240: a[ax+4][ay] +=ED4 ; break; case 40: a[ax][ay] +=SD4 ; break; case 94: a[ax+1][ay] +=SD4 ; break; case 112: a[ax+2][ay] +=SD4 ; break; case 118: a[ax+3][ay] +=SD4 ; break; case 120: a[ax+4][ay] +=SD4 ; break; case 39: a[ax+0][ay] +=SA3 ; a[ax+4][ay] +=SA3 ; break; case 78: a[ax+0][ay] +=EA3 ; a[ax+4][ay] +=EA3 ; break; case 26:case 13: a[ax+0][ay] +=ED3 ; a[ax+1][ay] +=ED3 ; break; case 62:case 31: a[ax+0][ay] +=ED3 ; a[ax+2][ay] +=ED3 ; break; case 74:case 37: a[ax+0][ay] +=ED3 ; a[ax+3][ay] +=ED3 ; break; case 170:case 85: a[ax+1][ay] +=ED3 ; a[ax+2][ay] +=ED3 ; break; case 182:case 91: a[ax+1][ay] +=ED3 ; a[ax+3][ay] +=ED3 ; break; case 186:case 93: a[ax+1][ay] +=ED3 ; a[ax+4][ay] +=ED3 ; break; case 218:case 109: a[ax+1][ay] +=ED3 ; a[ax+4][ay] +=ED3 ; break; case 222:case 111: a[ax+2][ay] +=ED3 ; a[ax+4][ay] +=ED3 ; break; case 234:case 117: a[ax+3][ay] +=ED3 ; a[ax+4][ay] +=ED3 ; break; case 24:case 12: a[ax][ay] +=EA2 ; a[ax+1][ay] +=EA2 ; a[ax+4][ay] +=EA2 ; break; case 60:case 30: a[ax][ay] +=EA2 ; a[ax+2][ay] +=EA2 ; a[ax+4][ay] +=EA2 ; break; case 72:case 36: a[ax][ay] +=EA2 ; a[ax+3][ay] +=EA2 ; a[ax+4][ay] +=EA2 ; break; case 8:case 4: a[ax][ay] +=ED2 ; a[ax+1][ay] +=ED2 ; a[ax+2][ay] +=ED2 ; break; case 20:case 10: a[ax][ay] +=ED2 ; a[ax+1][ay] +=ED2 ; a[ax+3][ay] +=ED2 ; break; case 56:case 28: a[ax][ay] +=ED2 ; a[ax+2][ay] +=ED2 ; a[ax+3][ay] +=ED2 ; break; case 164:case 82: a[ax+1][ay] +=ED2 ; a[ax+2][ay] +=ED2 ; a[ax+3][ay] +=ED2 ; break; case 168:case 84: a[ax+1][ay] +=ED2 ; a[ax+2][ay] +=ED2 ; a[ax+4][ay] +=ED2 ; break; case 180:case 90: a[ax+1][ay] +=ED2 ; a[ax+3][ay] +=ED2 ; a[ax+4][ay] +=ED2 ; break; case 216:case 108: a[ax+2][ay] +=ED2 ; a[ax+3][ay] +=ED2 ; a[ax+4][ay] +=ED2 ; break; case 54:case 27: a[ax+0][ay] +=EA1 ; a[ax+2][ay] +=EA1 ; a[ax+3][ay] +=EA1 ; a[ax+4][ay] +=EA1 ; break; case 18:case 9: a[ax+0][ay] +=EA1 ; a[ax+1][ay] +=EA1 ; a[ax+3][ay] +=EA1 ; a[ax+4][ay] +=EA1 ; break; case 6:case 3: a[ax+0][ay] +=EA1 ; a[ax+1][ay] +=EA1 ; a[ax+2][ay] +=EA1 ; a[ax+4][ay] +=EA1 ; break; case 162:case 81: a[ax+1][ay] +=1 ; a[ax+2][ay] +=1 ; a[ax+3][ay] +=1 ; a[ax+4][ay] +=1 ; break; case 2:case 1: a[ax+0][ay] +=1 ; a[ax+1][ay] +=1 ; a[ax+2][ay] +=1 ; a[ax+3][ay] +=1 ; break; } for (int k = 0 ;k<5 ; k ++){ if (ay+k >= ymax) {stat[k] = 3;continue;} stat[k] = b[ax][ay+k]; } switch (btov()){ case 80: a[ax][ay] +=ED4 ; break; case 188: a[ax][ay+1] +=ED4 ; break; case 224: a[ax][ay+2] +=ED4 ; break; case 236: a[ax][ay+3] +=ED4 ; break; case 240: a[ax][ay+4] +=ED4 ; break; case 40: a[ax][ay] +=SD4 ; break; case 94: a[ax][ay+1] +=SD4 ; break; case 112: a[ax][ay+2] +=SD4 ; break; case 118: a[ax][ay+3] +=SD4 ; break; case 120: a[ax][ay+4] +=SD4 ; break; case 39: a[ax][ay] +=SA3 ; a[ax][ay+4] +=SA3 ; break; case 78: a[ax][ay+0] +=EA3 ; a[ax][ay+4] +=EA3 ; break; case 26:case 13: a[ax][ay+0] +=ED3 ; a[ax][ay+1] +=ED3 ; break; case 62:case 31: a[ax][ay+0] +=ED3 ; a[ax][ay+2] +=ED3 ; break; case 74:case 37: a[ax][ay+0] +=ED3 ; a[ax][ay+3] +=ED3 ; break; case 170:case 85: a[ax][ay+1] +=ED3 ; a[ax][ay+2] +=ED3 ; break; case 182:case 91: a[ax][ay+1] +=ED3 ; a[ax][ay+3] +=ED3 ; break; case 186:case 93: a[ax][ay+1] +=ED3 ; a[ax][ay+4] +=ED3 ; break; case 218:case 109: a[ax][ay+1] +=ED3 ; a[ax][ay+4] +=ED3 ; break; case 222:case 111: a[ax][ay+2] +=ED3 ; a[ax][ay+4] +=ED3 ; break; case 234:case 117: a[ax][ay+3] +=ED3 ; a[ax][ay+4] +=ED3 ; break; case 24:case 12: a[ax][ay] +=EA2 ; a[ax][ay+1] +=EA2 ; a[ax][ay+4] +=EA2 ; break; case 60:case 30: a[ax][ay] +=EA2 ; a[ax][ay+2] +=EA2 ; a[ax][ay+4] +=EA2 ; break; case 72:case 36: a[ax][ay] +=EA2 ; a[ax][ay+3] +=EA2 ; a[ax][ay+4] +=EA2 ; break; case 8:case 4: a[ax][ay] +=ED2 ; a[ax][ay+1] +=ED2 ; a[ax][ay+2] +=ED2 ; break; case 20:case 10: a[ax][ay] +=ED2 ; a[ax][ay+1] +=ED2 ; a[ax][ay+3] +=ED2 ; break; case 56:case 28: a[ax][ay] +=ED2 ; a[ax][ay+2] +=ED2 ; a[ax][ay+3] +=ED2 ; break; case 164:case 82: a[ax][ay+1] +=ED2 ; a[ax][ay+2] +=ED2 ; a[ax][ay+3] +=ED2 ; break; case 168:case 84: a[ax][ay+1] +=ED2 ; a[ax][ay+2] +=ED2 ; a[ax][ay+4] +=ED2 ; break; case 180:case 90: a[ax][ay+1] +=ED2 ; a[ax][ay+3] +=ED2 ; a[ax][ay+4] +=ED2 ; break; case 216:case 108: a[ax][ay+2] +=ED2 ; a[ax][ay+3] +=ED2 ; a[ax][ay+4] +=ED2 ; break; case 54:case 27: a[ax+0][ay] +=EA1 ; a[ax][ay+2] +=EA1 ; a[ax][ay+3] +=EA1 ; a[ax][ay+4] +=EA1 ; break; case 18:case 9: a[ax+0][ay] +=EA1 ; a[ax][ay+1] +=EA1 ; a[ax][ay+3] +=EA1 ; a[ax][ay+4] +=EA1 ; break; case 6:case 3: a[ax+0][ay] +=EA1 ; a[ax][ay+1] +=EA1 ; a[ax][ay+2] +=EA1 ; a[ax][ay+4] +=EA1 ; break; case 162:case 81: a[ax][ay+1] +=1 ; a[ax][ay+2] +=1 ; a[ax][ay+3] +=1 ; a[ax][ay+4] +=1 ; break; case 2:case 1: a[ax][ay] +=1 ; a[ax][ay+1] +=1 ; a[ax][ay+2] +=1 ; a[ax][ay+3] +=1 ; break; } for (int k = 0 ;k<5 ; k ++){ if ((ax+k >= xmax)or (ay+k >= ymax)) {stat[k] = 3;continue;} stat[k] = b[ax+k][ay+k]; } switch (btov()){ case 80: a[ax][ay] +=ED4 ; break; case 188: a[ax+1][ay+1] +=ED4 ; break; case 224: a[ax+2][ay+2] +=ED4 ; break; case 236: a[ax+3][ay+3] +=ED4 ; break; case 240: a[ax+4][ay+4] +=ED4 ; break; case 40: a[ax][ay] +=SD4 ; break; case 94: a[ax+1][ay+1] +=SD4 ; break; case 112: a[ax+2][ay+2] +=SD4 ; break; case 118: a[ax+3][ay+3] +=SD4 ; break; case 120: a[ax+4][ay+4] +=SD4 ; break; case 39: a[ax+0][ay] +=SA3 ; a[ax+4][ay+4] +=SA3 ; break; case 78: a[ax][ay+0] +=EA3 ; a[ax+4][ay+4] +=EA3 ; break; case 26:case 13: a[ax][ay+0] +=ED3 ; a[ax+1][ay+1] +=ED3 ; break; case 62:case 31: a[ax][ay+0] +=ED3 ; a[ax+2][ay+2] +=ED3 ; break; case 74:case 37: a[ax][ay+0] +=ED3 ; a[ax+3][ay+3] +=ED3 ; break; case 170:case 85: a[ax+1][ay+1] +=ED3 ; a[ax+2][ay+2] +=ED3 ; break; case 182:case 91: a[ax+1][ay+1] +=ED3 ; a[ax+3][ay+3] +=ED3 ; break; case 186:case 93: a[ax+1][ay+1] +=ED3 ; a[ax+4][ay+4] +=ED3 ; break; case 218:case 109: a[ax+1][ay+1] +=ED3 ; a[ax+4][ay+4] +=ED3 ; break; case 222:case 111: a[ax+2][ay+2] +=ED3 ; a[ax+4][ay+4] +=ED3 ; break; case 234:case 117: a[ax+3][ay+3] +=ED3 ; a[ax+4][ay+4] +=ED3 ; break; case 24:case 12: a[ax][ay] +=EA2 ; a[ax+1][ay+1] +=EA2 ; a[ax+4][ay+4] +=EA2 ; break; case 60:case 30: a[ax][ay] +=EA2 ; a[ax+2][ay+2] +=EA2 ; a[ax+4][ay+4] +=EA2 ; break; case 72:case 36: a[ax][ay] +=EA2 ; a[ax+3][ay+3] +=EA2 ; a[ax+4][ay+4] +=EA2 ; break; case 8:case 4: a[ax][ay] +=ED2 ; a[ax+1][ay+1] +=ED2 ; a[ax+2][ay+2] +=ED2 ; break; case 20:case 10: a[ax][ay] +=ED2 ; a[ax+1][ay+1] +=ED2 ; a[ax+3][ay+3] +=ED2 ; break; case 56:case 28: a[ax][ay] +=ED2 ; a[ax+2][ay+2] +=ED2 ; a[ax+3][ay+3] +=ED2 ; break; case 164:case 82: a[ax+1][ay+1] +=ED2 ; a[ax+2][ay+2] +=ED2 ; a[ax+3][ay+3] +=ED2 ; break; case 168:case 84: a[ax+1][ay+1] +=ED2 ; a[ax+2][ay+2] +=ED2 ; a[ax+4][ay+4] +=ED2 ; break; case 180:case 90: a[ax+1][ay+1] +=ED2 ; a[ax+3][ay+3] +=ED2 ; a[ax+4][ay+4] +=ED2 ; break; case 216:case 108: a[ax+2][ay+2] +=ED2 ; a[ax+3][ay+3] +=ED2 ; a[ax+4][ay+4] +=ED2 ; break; case 54:case 27: a[ax+0][ay] +=EA1 ; a[ax+2][ay+2] +=EA1 ; a[ax+3][ay+3] +=EA1 ; a[ax+4][ay+4] +=EA1 ; break; case 18:case 9: a[ax+0][ay] +=EA1 ; a[ax+1][ay+1] +=EA1 ; a[ax+3][ay+3] +=EA1 ; a[ax+4][ay+4] +=EA1 ; break; case 6:case 3: a[ax+0][ay] +=EA1 ; a[ax+1][ay+1] +=EA1 ; a[ax+2][ay+2] +=EA1 ; a[ax+4][ay+4] +=EA1 ; break; case 162:case 81: a[ax+1][ay+1] +=1 ; a[ax+2][ay+2] +=1 ; a[ax+3][ay+3] +=1 ; a[ax+4][ay+4] +=1 ; break; case 2:case 1: a[ax][ay] +=1 ; a[ax+1][ay+1] +=1 ; a[ax+2][ay+2] +=1 ; a[ax+3][ay+3] +=1 ; break; } for (int k = 0 ;k<5 ; k ++){ if ((ax+k >= xmax)or (ay-k < 0)) {stat[k] = 3;continue;} stat[k] = b[ax+k][ay-k]; } switch (btov()){ case 80: a[ax][ay] +=ED4 ; break; case 188: a[ax+1][ay-1] +=ED4 ; break; case 224: a[ax+2][ay-2] +=ED4 ; break; case 236: a[ax+3][ay-3] +=ED4 ; break; case 240: a[ax+4][ay-4] +=ED4 ; break; case 40: a[ax][ay] +=SD4 ; break; case 94: a[ax+1][ay-1] +=SD4 ; break; case 112: a[ax+2][ay-2] +=SD4 ; break; case 118: a[ax+3][ay-3] +=SD4 ; break; case 120: a[ax+4][ay-4] +=SD4 ; break; case 39: a[ax+0][ay] +=SA3 ; a[ax+4][ay-4] +=SA3 ; break; case 78: a[ax][ay+0] +=EA3 ; a[ax+4][ay-4] +=EA3 ; break; case 26:case 13: a[ax][ay+0] +=ED3 ; a[ax+1][ay-1] +=ED3 ; break; case 62:case 31: a[ax][ay+0] +=ED3 ; a[ax+2][ay-2] +=ED3 ; break; case 74:case 37: a[ax][ay+0] +=ED3 ; a[ax+3][ay-3] +=ED3 ; break; case 170:case 85: a[ax+1][ay-1] +=ED3 ; a[ax+2][ay-2] +=ED3 ; break; case 182:case 91: a[ax+1][ay-1] +=ED3 ; a[ax+3][ay-3] +=ED3 ; break; case 186:case 93: a[ax+1][ay-1] +=ED3 ; a[ax+4][ay-4] +=ED3 ; break; case 218:case 109: a[ax+1][ay-1] +=ED3 ; a[ax+4][ay-4] +=ED3 ; break; case 222:case 111: a[ax+2][ay-2] +=ED3 ; a[ax+4][ay-4] +=ED3 ; break; case 234:case 117: a[ax+3][ay-3] +=ED3 ; a[ax+4][ay-4] +=ED3 ; break; case 24:case 12: a[ax][ay] +=EA2 ; a[ax+1][ay-1] +=EA2 ; a[ax+4][ay-4] +=EA2 ; break; case 60:case 30: a[ax][ay] +=EA2 ; a[ax+2][ay-2] +=EA2 ; a[ax+4][ay-4] +=EA2 ; break; case 72:case 36: a[ax][ay] +=EA2 ; a[ax+3][ay-3] +=EA2 ; a[ax+4][ay-4] +=EA2 ; break; case 8:case 4: a[ax][ay] +=ED2 ; a[ax+1][ay-1] +=ED2 ; a[ax+2][ay-2] +=ED2 ; break; case 20:case 10: a[ax][ay] +=ED2 ; a[ax+1][ay-1] +=ED2 ; a[ax+3][ay-3] +=ED2 ; break; case 56:case 28: a[ax][ay] +=ED2 ; a[ax+2][ay-2] +=ED2 ; a[ax+3][ay-3] +=ED2 ; break; case 164:case 82: a[ax+1][ay-1] +=ED2 ; a[ax+2][ay-2] +=ED2 ; a[ax+3][ay-3] +=ED2 ; break; case 168:case 84: a[ax+1][ay-1] +=ED2 ; a[ax+2][ay-2] +=ED2 ; a[ax+4][ay-4] +=ED2 ; break; case 180:case 90: a[ax+1][ay-1] +=ED2 ; a[ax+3][ay-3] +=ED2 ; a[ax+4][ay-4] +=ED2 ; break; case 216:case 108: a[ax+2][ay-2] +=ED2 ; a[ax+3][ay-3] +=ED2 ; a[ax+4][ay-4] +=ED2 ; break; case 54:case 27: a[ax+0][ay] +=EA1 ; a[ax+2][ay-2] +=EA1 ; a[ax+3][ay-3] +=EA1 ; a[ax+4][ay-4] +=EA1 ; break; case 18:case 9: a[ax+0][ay] +=EA1 ; a[ax+1][ay-1] +=EA1 ; a[ax+3][ay-3] +=EA1 ; a[ax+4][ay-4] +=EA1 ; break; case 6:case 3: a[ax+0][ay] +=EA1 ; a[ax+1][ay-1] +=EA1 ; a[ax+2][ay-2] +=EA1 ; a[ax+4][ay-4] +=EA1 ; break; case 162:case 81: a[ax+1][ay-1] +=1 ; a[ax+2][ay-2] +=1 ; a[ax+3][ay-3] +=1 ; a[ax+4][ay-4] +=1 ; break; case 2:case 1: a[ax][ay] +=1 ; a[ax+1][ay-1] +=1 ; a[ax+2][ay-2] +=1 ; a[ax+3][ay-3] +=1 ; break; } for (int k = 0 ;k<5 ; k ++){ if ((ax-k < 0)) {stat[k] = 3;continue;} stat[k] = b[ax-k][ay]; } switch (btov()){ case 80: a[ax][ay] +=ED4 ; break; case 188: a[ax-1][ay] +=ED4 ; break; case 224: a[ax-2][ay] +=ED4 ; break; case 236: a[ax-3][ay] +=ED4 ; break; case 240: a[ax-4][ay] +=ED4 ; break; case 40: a[ax][ay] +=SD4 ; break; case 94: a[ax-1][ay] +=SD4 ; break; case 112: a[ax-2][ay] +=SD4 ; break; case 118: a[ax-3][ay] +=SD4 ; break; case 120: a[ax-4][ay] +=SD4 ; break; case 39: a[ax+0][ay] +=SA3 ; a[ax-4][ay] +=SA3 ; break; case 78: a[ax][ay+0] +=EA3 ; a[ax-4][ay] +=EA3 ; break; case 26:case 13: a[ax][ay+0] +=ED3 ; a[ax-1][ay] +=ED3 ; break; case 62:case 31: a[ax][ay+0] +=ED3 ; a[ax-2][ay] +=ED3 ; break; case 74:case 37: a[ax][ay+0] +=ED3 ; a[ax-3][ay] +=ED3 ; break; case 170:case 85: a[ax-1][ay] +=ED3 ; a[ax-2][ay] +=ED3 ; break; case 182:case 91: a[ax-1][ay] +=ED3 ; a[ax-3][ay] +=ED3 ; break; case 186:case 93: a[ax-1][ay] +=ED3 ; a[ax-4][ay] +=ED3 ; break; case 218:case 109: a[ax-1][ay] +=ED3 ; a[ax-4][ay] +=ED3 ; break; case 222:case 111: a[ax-2][ay] +=ED3 ; a[ax-4][ay] +=ED3 ; break; case 234:case 117: a[ax-3][ay] +=ED3 ; a[ax-4][ay] +=ED3 ; break; case 24:case 12: a[ax][ay] +=EA2 ; a[ax-1][ay] +=EA2 ; a[ax-4][ay] +=EA2 ; break; case 60:case 30: a[ax][ay] +=EA2 ; a[ax-2][ay] +=EA2 ; a[ax-4][ay] +=EA2 ; break; case 72:case 36: a[ax][ay] +=EA2 ; a[ax-3][ay] +=EA2 ; a[ax-4][ay] +=EA2 ; break; case 8:case 4: a[ax][ay] +=ED2 ; a[ax-1][ay] +=ED2 ; a[ax-2][ay] +=ED2 ; break; case 20:case 10: a[ax][ay] +=ED2 ; a[ax-1][ay] +=ED2 ; a[ax-3][ay] +=ED2 ; break; case 56:case 28: a[ax][ay] +=ED2 ; a[ax-2][ay] +=ED2 ; a[ax-3][ay] +=ED2 ; break; case 164:case 82: a[ax-1][ay] +=ED2 ; a[ax-2][ay] +=ED2 ; a[ax-3][ay] +=ED2 ; break; case 168:case 84: a[ax-1][ay] +=ED2 ; a[ax-2][ay] +=ED2 ; a[ax-4][ay] +=ED2 ; break; case 180:case 90: a[ax-1][ay] +=ED2 ; a[ax-3][ay] +=ED2 ; a[ax-4][ay] +=ED2 ; break; case 216:case 108: a[ax-2][ay] +=ED2 ; a[ax-3][ay] +=ED2 ; a[ax-4][ay] +=ED2 ; break; case 54:case 27: a[ax+0][ay] +=EA1 ; a[ax-2][ay] +=EA1 ; a[ax-3][ay] +=EA1 ; a[ax-4][ay] +=EA1 ; break; case 18:case 9: a[ax+0][ay] +=EA1 ; a[ax-1][ay] +=EA1 ; a[ax-3][ay] +=EA1 ; a[ax-4][ay] +=EA1 ; break; case 6:case 3: a[ax+0][ay] +=EA1 ; a[ax-1][ay] +=EA1 ; a[ax-2][ay] +=EA1 ; a[ax-4][ay] +=EA1 ; break; case 162:case 81: a[ax-1][ay] +=1 ; a[ax-2][ay] +=1 ; a[ax-3][ay] +=1 ; a[ax-4][ay] +=1 ; break; case 2:case 1: a[ax][ay] +=1 ; a[ax-1][ay] +=1 ; a[ax-2][ay] +=1 ; a[ax-3][ay] +=1 ; break; } for (int k = 0 ;k<5 ; k ++){ if ((ay-k < 0)) {stat[k] = 3;continue;} stat[k] = b[ax][ay-k]; } switch (btov()){ case 80: a[ax][ay] +=ED4 ; break; case 188: a[ax][ay-1] +=ED4 ; break; case 224: a[ax][ay-2] +=ED4 ; break; case 236: a[ax][ay-3] +=ED4 ; break; case 240: a[ax][ay-4] +=ED4 ; break; case 40: a[ax][ay] +=SD4 ; break; case 94: a[ax][ay-1] +=SD4 ; break; case 112: a[ax][ay-2] +=SD4 ; break; case 118: a[ax][ay-3] +=SD4 ; break; case 120: a[ax][ay-4] +=SD4 ; break; case 39: a[ax+0][ay] +=SA3 ; a[ax][ay-4] +=SA3 ; break; case 78: a[ax][ay+0] +=EA3 ; a[ax][ay-4] +=EA3 ; break; case 26:case 13: a[ax][ay+0] +=ED3 ; a[ax][ay-1] +=ED3 ; break; case 62:case 31: a[ax][ay+0] +=ED3 ; a[ax][ay-2] +=ED3 ; break; case 74:case 37: a[ax][ay+0] +=ED3 ; a[ax][ay-3] +=ED3 ; break; case 170:case 85: a[ax][ay-1] +=ED3 ; a[ax][ay-2] +=ED3 ; break; case 182:case 91: a[ax][ay-1] +=ED3 ; a[ax][ay-3] +=ED3 ; break; case 186:case 93: a[ax][ay-1] +=ED3 ; a[ax][ay-4] +=ED3 ; break; case 218:case 109: a[ax][ay-1] +=ED3 ; a[ax][ay-4] +=ED3 ; break; case 222:case 111: a[ax][ay-2] +=ED3 ; a[ax][ay-4] +=ED3 ; break; case 234:case 117: a[ax][ay-3] +=ED3 ; a[ax][ay-4] +=ED3 ; break; case 24:case 12: a[ax][ay] +=EA2 ; a[ax][ay-1] +=EA2 ; a[ax][ay-4] +=EA2 ; break; case 60:case 30: a[ax][ay] +=EA2 ; a[ax][ay-2] +=EA2 ; a[ax][ay-4] +=EA2 ; break; case 72:case 36: a[ax][ay] +=EA2 ; a[ax][ay-3] +=EA2 ; a[ax][ay-4] +=EA2 ; break; case 8:case 4: a[ax][ay] +=ED2 ; a[ax][ay-1] +=ED2 ; a[ax][ay-2] +=ED2 ; break; case 20:case 10: a[ax][ay] +=ED2 ; a[ax][ay-1] +=ED2 ; a[ax][ay-3] +=ED2 ; break; case 56:case 28: a[ax][ay] +=ED2 ; a[ax][ay-2] +=ED2 ; a[ax][ay-3] +=ED2 ; break; case 164:case 82: a[ax][ay-1] +=ED2 ; a[ax][ay-2] +=ED2 ; a[ax][ay-3] +=ED2 ; break; case 168:case 84: a[ax][ay-1] +=ED2 ; a[ax][ay-2] +=ED2 ; a[ax][ay-4] +=ED2 ; break; case 180:case 90: a[ax][ay-1] +=ED2 ; a[ax][ay-3] +=ED2 ; a[ax][ay-4] +=ED2 ; break; case 216:case 108: a[ax][ay-2] +=ED2 ; a[ax][ay-3] +=ED2 ; a[ax][ay-4] +=ED2 ; break; case 54:case 27: a[ax+0][ay] +=EA1 ; a[ax][ay-2] +=EA1 ; a[ax][ay-3] +=EA1 ; a[ax][ay-4] +=EA1 ; break; case 18:case 9: a[ax+0][ay] +=EA1 ; a[ax][ay-1] +=EA1 ; a[ax][ay-3] +=EA1 ; a[ax][ay-4] +=EA1 ; break; case 6:case 3: a[ax+0][ay] +=EA1 ; a[ax][ay-1] +=EA1 ; a[ax][ay-2] +=EA1 ; a[ax][ay-4] +=EA1 ; break; case 162:case 81: a[ax][ay-1] +=1 ; a[ax][ay-2] +=1 ; a[ax][ay-3] +=1 ; a[ax][ay-4] +=1 ; break; case 2:case 1: a[ax][ay] +=1 ; a[ax][ay-1] +=1 ; a[ax][ay-2] +=1 ; a[ax][ay-3] +=1 ; break; } for (int k = 0 ;k<5 ; k ++){ if ((ax-k < 0)or (ay-k < 0)) {stat[k] = 3;continue;} stat[k] = b[ax-k][ay-k]; } switch (btov()){ case 80: a[ax][ay] +=ED4 ; break; case 188: a[ax-1][ay-1] +=ED4 ; break; case 224: a[ax-2][ay-2] +=ED4 ; break; case 236: a[ax-3][ay-3] +=ED4 ; break; case 240: a[ax-4][ay-4] +=ED4 ; break; case 40: a[ax][ay] +=SD4 ; break; case 94: a[ax-1][ay-1] +=SD4 ; break; case 112: a[ax-2][ay-2] +=SD4 ; break; case 118: a[ax-3][ay-3] +=SD4 ; break; case 120: a[ax-4][ay-4] +=SD4 ; break; case 39: a[ax+0][ay] +=SA3 ; a[ax-4][ay-4] +=SA3 ; break; case 78: a[ax][ay+0] +=EA3 ; a[ax-4][ay-4] +=EA3 ; break; case 26:case 13: a[ax][ay+0] +=ED3 ; a[ax-1][ay-1] +=ED3 ; break; case 62:case 31: a[ax][ay+0] +=ED3 ; a[ax-2][ay-2] +=ED3 ; break; case 74:case 37: a[ax][ay+0] +=ED3 ; a[ax-3][ay-3] +=ED3 ; break; case 170:case 85: a[ax-1][ay-1] +=ED3 ; a[ax-2][ay-2] +=ED3 ; break; case 182:case 91: a[ax-1][ay-1] +=ED3 ; a[ax-3][ay-3] +=ED3 ; break; case 186:case 93: a[ax-1][ay-1] +=ED3 ; a[ax-4][ay-4] +=ED3 ; break; case 218:case 109: a[ax-1][ay-1] +=ED3 ; a[ax-4][ay-4] +=ED3 ; break; case 222:case 111: a[ax-2][ay-2] +=ED3 ; a[ax-4][ay-4] +=ED3 ; break; case 234:case 117: a[ax-3][ay-3] +=ED3 ; a[ax-4][ay-4] +=ED3 ; break; case 24:case 12: a[ax][ay] +=EA2 ; a[ax-1][ay-1] +=EA2 ; a[ax-4][ay-4] +=EA2 ; break; case 60:case 30: a[ax][ay] +=EA2 ; a[ax-2][ay-2] +=EA2 ; a[ax-4][ay-4] +=EA2 ; break; case 72:case 36: a[ax][ay] +=EA2 ; a[ax-3][ay-3] +=EA2 ; a[ax-4][ay-4] +=EA2 ; break; case 8:case 4: a[ax][ay] +=ED2 ; a[ax-1][ay-1] +=ED2 ; a[ax-2][ay-2] +=ED2 ; break; case 20:case 10: a[ax][ay] +=ED2 ; a[ax-1][ay-1] +=ED2 ; a[ax-3][ay-3] +=ED2 ; break; case 56:case 28: a[ax][ay] +=ED2 ; a[ax-2][ay-2] +=ED2 ; a[ax-3][ay-3] +=ED2 ; break; case 164:case 82: a[ax-1][ay-1] +=ED2 ; a[ax-2][ay-2] +=ED2 ; a[ax-3][ay-3] +=ED2 ; break; case 168:case 84: a[ax-1][ay-1] +=ED2 ; a[ax-2][ay-2] +=ED2 ; a[ax-4][ay-4] +=ED2 ; break; case 180:case 90: a[ax-1][ay-1] +=ED2 ; a[ax-3][ay-3] +=ED2 ; a[ax-4][ay-4] +=ED2 ; break; case 216:case 108: a[ax-2][ay-2] +=ED2 ; a[ax-3][ay-3] +=ED2 ; a[ax-4][ay-4] +=ED2 ; break; case 54:case 27: a[ax+0][ay] +=EA1 ; a[ax-2][ay-2] +=EA1 ; a[ax-3][ay-3] +=EA1 ; a[ax-4][ay-4] +=EA1 ; break; case 18:case 9: a[ax+0][ay] +=EA1 ; a[ax-1][ay-1] +=EA1 ; a[ax-3][ay-3] +=EA1 ; a[ax-4][ay-4] +=EA1 ; break; case 6:case 3: a[ax+0][ay] +=EA1 ; a[ax-1][ay-1] +=EA1 ; a[ax-2][ay-2] +=EA1 ; a[ax-4][ay-4] +=EA1 ; break; case 162:case 81: a[ax-1][ay-1] +=1 ; a[ax-2][ay-2] +=1 ; a[ax-3][ay-3] +=1 ; a[ax-4][ay-4] +=1 ; break; case 2:case 1: a[ax][ay] +=1 ; a[ax-1][ay-1] +=1 ; a[ax-2][ay-2] +=1 ; a[ax-3][ay-3] +=1 ; break; } for (int k = 0 ;k<5 ; k ++){ if ((ax-k < 0)or (ay+k >= ymax)) {stat[k] = 3;continue;} stat[k] = b[ax-k][ay+k]; } switch (btov()){ case 80: a[ax][ay] +=ED4 ; break; case 188: a[ax-1][ay+1] +=ED4 ; break; case 224: a[ax-2][ay+2] +=ED4 ; break; case 236: a[ax-3][ay+3] +=ED4 ; break; case 240: a[ax-4][ay+4] +=ED4 ; break; case 40: a[ax][ay] +=SD4 ; break; case 94: a[ax-1][ay+1] +=SD4 ; break; case 112: a[ax-2][ay+2] +=SD4 ; break; case 118: a[ax-3][ay+3] +=SD4 ; break; case 120: a[ax-4][ay+4] +=SD4 ; break; case 39: a[ax+0][ay] +=SA3 ; a[ax-4][ay+4] +=SA3 ; break; case 78: a[ax][ay+0] +=EA3 ; a[ax-4][ay+4] +=EA3 ; break; case 26:case 13: a[ax][ay+0] +=ED3 ; a[ax-1][ay+1] +=ED3 ; break; case 62:case 31: a[ax][ay+0] +=ED3 ; a[ax-2][ay+2] +=ED3 ; break; case 74:case 37: a[ax][ay+0] +=ED3 ; a[ax-3][ay+3] +=ED3 ; break; case 170:case 85: a[ax-1][ay+1] +=ED3 ; a[ax-2][ay+2] +=ED3 ; break; case 182:case 91: a[ax-1][ay+1] +=ED3 ; a[ax-3][ay+3] +=ED3 ; break; case 186:case 93: a[ax-1][ay+1] +=ED3 ; a[ax-4][ay+4] +=ED3 ; break; case 218:case 109: a[ax-1][ay+1] +=ED3 ; a[ax-4][ay+4] +=ED3 ; break; case 222:case 111: a[ax-2][ay+2] +=ED3 ; a[ax-4][ay+4] +=ED3 ; break; case 234:case 117: a[ax-3][ay+3] +=ED3 ; a[ax-4][ay+4] +=ED3 ; break; case 24:case 12: a[ax][ay] +=EA2 ; a[ax-1][ay+1] +=EA2 ; a[ax-4][ay+4] +=EA2 ; break; case 60:case 30: a[ax][ay] +=EA2 ; a[ax-2][ay+2] +=EA2 ; a[ax-4][ay+4] +=EA2 ; break; case 72:case 36: a[ax][ay] +=EA2 ; a[ax-3][ay+3] +=EA2 ; a[ax-4][ay+4] +=EA2 ; break; case 8:case 4: a[ax][ay] +=ED2 ; a[ax-1][ay+1] +=ED2 ; a[ax-2][ay+2] +=ED2 ; break; case 20:case 10: a[ax][ay] +=ED2 ; a[ax-1][ay+1] +=ED2 ; a[ax-3][ay+3] +=ED2 ; break; case 56:case 28: a[ax][ay] +=ED2 ; a[ax-2][ay+2] +=ED2 ; a[ax-3][ay+3] +=ED2 ; break; case 164:case 82: a[ax-1][ay+1] +=ED2 ; a[ax-2][ay+2] +=ED2 ; a[ax-3][ay+3] +=ED2 ; break; case 168:case 84: a[ax-1][ay+1] +=ED2 ; a[ax-2][ay+2] +=ED2 ; a[ax-4][ay+4] +=ED2 ; break; case 180:case 90: a[ax-1][ay+1] +=ED2 ; a[ax-3][ay+3] +=ED2 ; a[ax-4][ay+4] +=ED2 ; break; case 216:case 108: a[ax-2][ay+2] +=ED2 ; a[ax-3][ay+3] +=ED2 ; a[ax-4][ay+4] +=ED2 ; break; case 54:case 27: a[ax+0][ay] +=EA1 ; a[ax-2][ay+2] +=EA1 ; a[ax-3][ay+3] +=EA1 ; a[ax-4][ay+4] +=EA1 ; break; case 18:case 9: a[ax+0][ay] +=EA1 ; a[ax-1][ay+1] +=EA1 ; a[ax-3][ay+3] +=EA1 ; a[ax-4][ay+4] +=EA1 ; break; case 6:case 3: a[ax+0][ay] +=EA1 ; a[ax-1][ay+1] +=EA1 ; a[ax-2][ay+2] +=EA1 ; a[ax-4][ay+4] +=EA1 ; break; case 162:case 81: a[ax-1][ay+1] +=1 ; a[ax-2][ay+2] +=1 ; a[ax-3][ay+3] +=1 ; a[ax-4][ay+4] +=1 ; break; case 2:case 1: a[ax][ay] +=1 ; a[ax-1][ay+1] +=1 ; a[ax-2][ay+2] +=1 ; a[ax-3][ay+3] +=1 ; break; } } } for (int ay = 0 ;ay<ymax ; ay ++){ for (int ax = 0 ;ax<xmax ; ax ++){ if((best[0] < a[ax][ay]) and (b[ax][ay] == 0)){ best[0] =a[ax][ay]; best[1] = ax; best[2] = ay; } } } if (is_beep) for (int bi = 0 ; bi < 1 ; bi++) printf("%c",7); cursor[0]=best[1]; cursor[1]=best[2]; return set(best[1],best[2],1+(now % 2));}inline int btov(void){ if ((stat[4] == 3) or (stat[3] == 3) or (stat[2] == 3) or (stat[1] == 3) or (stat[0] == 3)) return 243; return (stat[4]+ 3*stat[3] + 9*stat[2] + 27*stat[1] + 81*stat[0]); } 鏈接文章 分享到其他網站
Recommended Posts
請登入後來留意見
在登入之後,您才能留意見
立即登入