青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

學習心得(code)

superlong@CoreCoder

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  74 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

公告

文字可能放在http://blog.csdn.net/superlong100,此處存放代碼

常用鏈接

留言簿(4)

我參與的團隊

搜索

  •  

最新隨筆

最新評論

  • 1.?re: Poj 1279
  • 對于一個凹多邊形用叉積計算面積 后能根據結果的正負來判斷給的點集的時針方向?
  • --bsshanghai
  • 2.?re: Poj 3691
  • 你寫的這個get_fail() 好像并是真正的get_fail,也是說fail指向的串并不是當前結點的子串。為什么要這樣弄呢?
  • --acmer1183
  • 3.?re: HDU2295[未登錄]
  • 這個是IDA* 也就是迭代加深@ylfdrib
  • --superlong
  • 4.?re: HDU2295
  • 評論內容較長,點擊標題查看
  • --ylfdrib
  • 5.?re: HOJ 11482
  • 呵呵..把代碼發在這里很不錯..以后我也試試...百度的編輯器太爛了....
  • --csuft1

閱讀排行榜

評論排行榜

#include <stdio.h>
#include 
<iostream>
#include 
<string.h>
#include 
<stdlib.h>
#include 
<conio.h>
#include 
<io.h>
#define HIGHT 20
#define WIGHT 80
#define N 8
#define BLACK 1
#define WHITE 2
#define BPOS 3
#define WPOS 4
#define SPACE 0
#define LEFT 75
#define UP 72
#define RIGHT 77
#define DOWN 80
#define ESC 27
using namespace std;

struct nod {
    
int x, y;
}
point;

int black, white, first, continued, esc;
int move[4][2= {{-10}{0-1}{10}{01}};//up left down right
int map[N][N], tp[N][N]; // 0->NULL 1->black 2->white
char mode[16][3= {"","","","","","","","",
                    
"","","""  """""""""}
;

void logo() {
    system(
"cls");
    puts(
"\t        _O_    黑  _____   白    _<>_    棋    ___  ");
    puts(
"\t      /     \\     |     |      /      \\      /  _  \\");
    puts(
"\t     |==/=\\==|    |[/_\\]|     |==\\==/==|    |  / \\  |");
    puts(
"\t     |  O O  |    / O O \\     |   ><   |    |  |\"|  |");
    puts("\t      \\  V  /    /\\  -  /\\  ,-\\   ()   /-.   \\  X  /");
    puts(
"\t                                                        ");
    puts(
"\t      /`---'\\     /`---'\\   V( `-====-' )V   /`---'\\");
    puts(
"\t      O'_:_`O     O'M|M`O   (_____:|_____)   O'_|_`O ");
    puts(
"\t       -- --       -- --      ----  ----      -- -- ");
    puts(
"\t                  請選擇先手                        \n\n"); 
    puts(
"\t\t      1、    ●                  \n");
    puts(
"\t\t      2、    ○        \n");
    puts(
"\t\t      3、   退出     \n");    
    printf(
"\t\t      您的選擇:"); 
    scanf(
"%d"&first);
    
if(first != 1 && first != 2 && first != 3) logo();
    
}

            
void draw(char head[], char body[], char cross[], char tail[], int size, int row, int mp[N][N]) {
    printf(
"%s", head);
    
for(int i = 1; i < 2 * size; i ++{
        
if(i % 2 == 0{
            printf(
"%s", cross);
        }
 else {
            
int t = (i + 1/ 2 - 1, r = row / 2 - 1;
            
if(row % 2 == 0 && ((i + 1% 2 == 0)) {
                printf(
"%s", mode[11 + mp[r][t]]);
            }
 else {
                printf(
"%s", body);
            }

        }

    }

    printf(
"%s\n", tail);    
}


void set_map(int size, int mp[N][N]) {
    
int temp;
    system(
"cls");
    temp 
= (HIGHT - size) / 2;
    puts(
"\n\t\t\t\t黑白棋");
    puts(
"\t\t\t 用ENTER放置棋子  用ESC鍵退出\n"); 
    
for(int i = 1; i <= 2 * size + 1; i ++{
        temp 
= (WIGHT - 2 * size + 1)  / 2 - 2 * size + 1;
        
for(int j = 0; j < temp; j ++) putchar(' ');
        
if(i == 1) draw(mode[0], mode[1], mode[2], mode[3], size, i, mp);
        
else if(i == 2 * size + 1) draw(mode[7], mode[1], mode[8], mode[9], size, i, mp);
        
else if(i % 2) draw(mode[4], mode[1], mode[5], mode[6], size, i, mp);
        
else           draw(mode[10], mode[11], mode[10], mode[10], size, i, mp);
    }

    printf(
"\n\t記分牌:    ○:%d               \t ●:%d\n", white, black);
}


void init() {
    memset(map, 
0sizeof(map));
    map[
3][3= map[4][4= BLACK;
    map[
4][3= map[3][4= WHITE;
    
//map[0][0] = WHITE;
    
//map[1][0] = BLACK;
    
//map[0][1] = BLACK;
    point.x = point.y = 0;
    black 
= 2;
    white 
= 2;
    set_map(
8, map);    
}


int move8[8][2= {{01}{10}{0-1}{-10},
                   
{11}{1-1}{-11}{-1-1}}
;

bool inmap(int x, int y) {
    
if(x < 0 || y < 0 || x >= N || y >= N) return false;
    
return true;
}


bool judge(int x, int y, int col, int mp[N][N]) {
    
if(mp[x][y] == WHITE || mp[x][y] == BLACK) return false;
    
for(int dic = 0; dic < 8; dic ++{
        
int tx = x + move8[dic][0], ty = y + move8[dic][1], flag = 0;
        
while(mp[tx][ty] == 3 - col && inmap(tx, ty)) {
            tx 
+= move8[dic][0]; 
            ty 
+= move8[dic][1];
            flag 
= 1;
        }

        
if(!flag) continue;
        
if( inmap(tx, ty) ) {
            
if(mp[tx][ty] == col) return true;
        }

    }

    
return false;
}


void change(int x, int y, int col, int mp[N][N]) {
    
for(int dic = 0; dic < 8; dic ++{
        
int tx = x + move8[dic][0], ty = y + move8[dic][1], flag = 0;
        
while(mp[tx][ty] == 3 - col && inmap(tx, ty)) {
            tx 
+= move8[dic][0]; 
            ty 
+= move8[dic][1];
            flag 
= 1;
        }

        
if(!flag) continue;
        
if( inmap(tx, ty) ) {
            
if(mp[tx][ty] == col) {
                
int xx = x, yy = y;
                
while(xx != tx || yy != ty) {
                    mp[xx][yy] 
= col;
                    xx 
+= move8[dic][0];
                    yy 
+= move8[dic][1];
                }

            }

        }

    }

}


void calc(int mp[N][N]) {
    white 
= black = 0;
    
for(int i = 0; i < N; i ++)
        
for(int j = 0; j < N; j ++{
            
if(mp[i][j] == WHITE) white ++;
            
if(mp[i][j] == BLACK) black ++;
        }

}


bool isok(int col, int mp[N][N]) {
    
for(int i = 0; i < N; i ++{
        
for(int j = 0; j < N; j ++{
            
if( judge(i, j, col, mp) ) return true;
        }

    }

    
return false;
}

void GameOver() {
    system(
"cls");
    cout 
<< "\t\t\t\t黑白棋\n\n" << endl;
    cout 
<< "\t\t※※※※※※※※※※※※※※※※※※※※※" << endl;
    cout 
<< "\t\t※                                      ※" << endl;
    cout 
<< "\t\t※                                      ※" << endl;
    cout 
<< "\t\t※                                      ※" << endl;
    cout 
<< "\t\t※                                      ※" << endl;
    cout 
<< "\t\t※";
    cout 
<<"            GAME     OVER             ";
    cout 
<< "" << endl;
    cout 
<< "\t\t※                                      ※" << endl;
    cout 
<< "\t\t※            ";
    printf( 
"●:%2d     ○:%2d           ※\n",white, black); ;
    cout 
<< "\t\t※                                      ※" << endl;
    cout 
<< "\t\t※                                      ※" << endl;
    
if( black < white) {
    cout 
<< "\t\t※          ●    wins!                 ※" << endl;
    }
 else if( black > white) {
    cout 
<< "\t\t※          ○    wins!                 ※" << endl;
    }
 else {
    cout 
<< "\t\t※            TIE                       ※" << endl;
    }

    cout 
<< "\t\t※                                      ※" << endl;
    cout 
<< "\t\t※                                      ※" << endl;
    cout 
<< "\t\t※                                      ※" << endl;
    cout 
<< "\t\t※                                      ※" << endl;
    cout 
<< "\t\t※※※※※※※※※※※※※※※※※※※※※" << endl;
    cout 
<< endl << endl;
}

void final() {
    GameOver();
    printf( 
"\t\t   是否繼續(Y/N):   ");
    
char ss[2];
    scanf(
"%s", ss);
    
if(ss[0== 'Y'{
        system(
"pause");
        
return;
    }
 else {
        esc 
= 1;
        
return;
    }

}


void play() {
    
int player = 2 + first;
    
int last = map[0][0];
    
while(true{
        
int flag = 0;
        map[point.x][point.y] 
= last;
        set_map(
8, map);
        
if!isok(player - 2, map) && !isok(5 - player, map) )  {
            
            final();
            
return;
        }
 else 
        
if!isok(player - 2, map) ) {
            flag 
= 1;
            player 
= 7 - player;
        }

        map[
0][0= player;
        set_map(
8, map);
        
if(flag) {
            printf(
"本方無棋可走,更換棋手\n"); 
        }

        
char keyborad;
        
while( (keyborad = getch()) != '\x0d'{
            keyborad 
= getch();
            
if(keyborad == ESC) {
                esc 
= 1;
                
return;
            }

            
int dic;
            
switch(keyborad) {
                
case UP:
                    dic 
= 0;
                    
break;
                
case LEFT:
                    dic 
= 1;
                    
break;
                
case DOWN:
                    dic 
= 2;
                    
break;
                
case RIGHT:
                    dic 
= 3;
                    
break;
                
default:
                    keyborad 
= getch();
                    
continue;
            }

            
int tx = (point.x + N + move[dic][0]) % N, ty = (point.y + N + move[dic][1]) % N;
            map[point.x][point.y] 
= last;
            point.x 
= tx;
            point.y 
= ty;
            last 
= map[point.x][point.y];
            map[point.x][point.y] 
= player;
            set_map(
8, map);
        }

        
if( judge(point.x, point.y, player - 2, map) && last == SPACE) {
            map[point.x][point.y] 
= player - 2;
            change(point.x, point.y, player 
- 2, map);
            calc(map);
            player 
= 3 + WPOS - player;
            point.x 
= point.y = 0;
            last 
= map[0][0];
            map[
0][0= player;
            set_map(
8, map);
        }
 else {
            set_map(
8, map); 
            puts(
"\t       \t       \t  該位置不能放置"); 
            system(
"pause");
            map[point.x][point.y] 
= last;
            last 
= map[0][0];
            point.x 
= point.y = 0;
        }

    }

}


int main() {
    logo();
    
if(first == 3return 0;
    continued 
= 1; esc = 0;
    
while(continued && !esc) {
        init();
        play();
    }

}

posted on 2009-11-10 11:33 superlong 閱讀(352) 評論(0)  編輯 收藏 引用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲一区二区三区免费在线观看 | 国产精品一级久久久| 亚洲美女少妇无套啪啪呻吟| 欧美成人亚洲| 欧美国产激情| 亚洲一区二区三区高清| 亚洲婷婷综合色高清在线| 欧美日韩免费在线观看| 日韩一区二区福利| 亚洲精品国产精品乱码不99按摩| 欧美jizzhd精品欧美巨大免费| 亚洲精品欧美专区| 99视频精品免费观看| 国产精品久久久久久妇女6080| 欧美中文字幕在线| 久久久在线视频| 夜夜嗨av一区二区三区网站四季av | 9久re热视频在线精品| av成人免费在线观看| 国产精品国产a级| 久久伊人免费视频| 欧美成人在线免费视频| 国产精品99久久久久久白浆小说 | 亚洲精品一区在线观看| 国产精品揄拍一区二区| 牛牛影视久久网| 国产精品www| 欧美aⅴ99久久黑人专区| 欧美精选在线| 久久久久久久尹人综合网亚洲 | 9l视频自拍蝌蚪9l视频成人| 国产一区二区三区在线观看免费视频 | 久久精品成人一区二区三区蜜臀| 久久夜色精品国产欧美乱极品| 亚洲少妇自拍| 久久亚裔精品欧美| 亚洲欧美三级伦理| 欧美成人精品三级在线观看| 午夜国产精品视频| 欧美精品久久一区二区| 久久综合国产精品台湾中文娱乐网| 欧美日韩国产成人精品| 久久人人爽人人爽| 国产精品―色哟哟| 日韩视频永久免费| 91久久精品一区| 欧美在线视频导航| 欧美一区二粉嫩精品国产一线天| 欧美精品1区2区3区| 美女脱光内衣内裤视频久久网站| 国产精品腿扒开做爽爽爽挤奶网站| 亚洲黄色免费电影| 亚洲国产乱码最新视频| 久久国产精品99国产| 久久不射电影网| 国产精品久久午夜夜伦鲁鲁| 亚洲精品久久久久久一区二区| 亚洲国产成人久久综合一区| 欧美在线高清视频| 久久精品一区二区| 国产亚洲日本欧美韩国| 午夜精品久久久99热福利| 亚洲综合三区| 国产精品久久网| 亚洲一区在线播放| 欧美中文字幕视频在线观看| 国产精品三区www17con| 亚洲综合首页| 久久国产一区二区三区| 国产日韩亚洲欧美| 欧美伊人久久久久久午夜久久久久| 欧美一区三区二区在线观看| 国产精品日韩欧美| 欧美亚洲在线观看| 久久久综合视频| 精品不卡一区| 欧美成人在线网站| 99精品免费| 欧美在线地址| 一区二区三区在线免费播放| 鲁大师成人一区二区三区| 亚洲狠狠婷婷| 亚洲一级高清| 国产九九视频一区二区三区| 亚洲欧美一级二级三级| 久久综合伊人| 艳女tv在线观看国产一区| 欧美性猛片xxxx免费看久爱| 亚洲欧美国内爽妇网| 蜜桃视频一区| 中日韩高清电影网| 国产人成精品一区二区三| 久久er精品视频| 亚洲国产一区二区三区青草影视| 亚洲性av在线| 极品尤物久久久av免费看| 欧美激情视频免费观看| 亚洲专区免费| 亚洲电影成人| 亚洲免费视频网站| 在线欧美日韩| 国产精品xvideos88| 久久福利精品| 中国女人久久久| 欧美bbbxxxxx| 欧美一区二区视频在线| 亚洲精品欧美在线| 韩国精品久久久999| 欧美人体xx| 久久久亚洲高清| 亚洲欧美日韩国产| 亚洲大片一区二区三区| 欧美一区二区三区久久精品| 亚洲精品久久久久久一区二区| 国产日韩欧美自拍| 欧美日韩免费在线| 欧美aa国产视频| 久久精品人人做人人爽电影蜜月 | 噜噜噜久久亚洲精品国产品小说| 亚洲视频一区在线| 亚洲国产精品久久精品怡红院| 国产精品影视天天线| 欧美日本成人| 欧美成人tv| 老鸭窝毛片一区二区三区| 午夜一区二区三区不卡视频| 日韩视频免费观看高清在线视频 | 欧美一区二区啪啪| 亚洲一级一区| 亚洲香蕉伊综合在人在线视看| 亚洲品质自拍| 91久久精品www人人做人人爽| 国产一区清纯| 韩国欧美国产1区| 国产在线精品一区二区中文| 国产精品一区2区| 国产精品色午夜在线观看| 国产精品国产| 国产精品大片wwwwww| 欧美三级午夜理伦三级中文幕| 欧美成人一区二区在线| 免费欧美在线| 欧美国产一区在线| 欧美精品福利| 欧美精品亚洲精品| 欧美美女bb生活片| 欧美日韩精品中文字幕| 欧美日韩国产麻豆| 欧美特黄视频| 国产精品主播| 黄色在线成人| 亚洲国产欧美日韩另类综合| 亚洲激情成人网| 99视频一区| 亚洲欧美日韩精品| 欧美一区午夜精品| 久久久在线视频| 免费在线成人| 亚洲国产日韩一级| 一本一本久久a久久精品综合妖精| 日韩亚洲成人av在线| 亚洲午夜久久久久久久久电影网| 亚洲欧美日韩精品久久久| 久久国产精品网站| 欧美成人dvd在线视频| 欧美日韩精品系列| 国产亚洲成av人在线观看导航| 伊人春色精品| 一区二区久久久久| 久久精品亚洲一区二区三区浴池 | 这里是久久伊人| 欧美中文字幕在线| 欧美激情欧美狂野欧美精品| 亚洲久久一区二区| 午夜精品久久久久久久久久久久久 | 午夜精品一区二区三区在线播放 | 欧美电影打屁股sp| 一区二区日本视频| 久久精品视频一| 欧美日韩成人一区二区三区| 国产欧亚日韩视频| 亚洲三级影片| 久久久免费av| 一本色道久久综合| 另类尿喷潮videofree| 欧美日韩综合视频网址| 在线播放国产一区中文字幕剧情欧美| 亚洲精品中文字幕有码专区| 欧美一站二站| 亚洲乱码久久| 免费成人性网站| 国产精品免费观看在线| 亚洲国产毛片完整版| 欧美亚洲系列| 99精品热视频| 欧美精品一区二| 一区在线播放| 久久精品三级| 亚洲在线视频观看| 欧美日韩亚洲国产一区|