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

學(xué)習(xí)心得(code)

superlong@CoreCoder

  C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
  74 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

公告

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

常用鏈接

留言簿(4)

我參與的團(tuán)隊(duì)

搜索

  •  

最新隨筆

最新評(píng)論

  • 1.?re: Poj 1279
  • 對(duì)于一個(gè)凹多邊形用叉積計(jì)算面積 后能根據(jù)結(jié)果的正負(fù)來(lái)判斷給的點(diǎn)集的時(shí)針?lè)较颍?
  • --bsshanghai
  • 2.?re: Poj 3691
  • 你寫(xiě)的這個(gè)get_fail() 好像并是真正的get_fail,也是說(shuō)fail指向的串并不是當(dāng)前結(jié)點(diǎn)的子串。為什么要這樣弄呢?
  • --acmer1183
  • 3.?re: HDU2295[未登錄](méi)
  • 這個(gè)是IDA* 也就是迭代加深@ylfdrib
  • --superlong
  • 4.?re: HDU2295
  • 評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
  • --ylfdrib
  • 5.?re: HOJ 11482
  • 呵呵..把代碼發(fā)在這里很不錯(cuò)..以后我也試試...百度的編輯器太爛了....
  • --csuft1

閱讀排行榜

評(píng)論排行榜

#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                  請(qǐng)選擇先手                        \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   是否繼續(xù)(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(
"本方無(wú)棋可走,更換棋手\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) 評(píng)論(0)  編輯 收藏 引用

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美人在线视频| 蜜桃av一区二区三区| 伊人成人开心激情综合网| 久久久久久9| 在线一区日本视频| 亚洲欧洲视频在线| 亚洲东热激情| 一本色道久久综合一区| 国产精品99久久久久久久女警| 国产揄拍国内精品对白| 欧美视频精品一区| 欧美亚洲成人精品| 国产欧美日韩免费| 黄色成人av| 国语精品中文字幕| 99re热精品| 午夜精品偷拍| 亚洲国产影院| 亚洲高清免费| 久久国产欧美日韩精品| 欧美成人第一页| 亚洲日本视频| 午夜一区在线| 久热精品视频在线观看一区| 99国产精品自拍| 亚洲黄色天堂| 久久久蜜桃精品| 欧美福利网址| 国产在线观看精品一区二区三区| 狠狠操狠狠色综合网| 亚洲一区二区欧美| 亚洲精品在线三区| 欧美韩日视频| 一区二区三区成人精品| 欧美激情偷拍| 亚洲欧美日韩国产| 欧美 日韩 国产精品免费观看| 美日韩精品视频免费看| 国产亚洲一区在线| 亚洲国产清纯| 久久亚洲综合色| 香蕉免费一区二区三区在线观看| 欧美日韩中文字幕在线视频| 亚洲精品中文字幕有码专区| 亚洲欧美日韩电影| 亚洲精品一二| 欧美日韩久久精品| 在线视频一区观看| 一本久久综合亚洲鲁鲁| 欧美高清视频在线播放| 亚洲人成网站777色婷婷| 欧美高清视频在线| 欧美日本一区二区视频在线观看| 一区二区三区国产在线| 一本色道久久综合狠狠躁篇的优点 | 久久视频在线免费观看| 国产精品男gay被猛男狂揉视频| 午夜亚洲福利| 欧美.www| 午夜免费久久久久| 香港久久久电影| 亚洲国产精品久久久久| 亚洲国产日本| 国产精品视频免费在线观看| 久久久午夜电影| 欧美日韩免费在线| 欧美一区成人| 欧美成在线视频| 久久国产欧美| 欧美激情视频网站| 欧美在线啊v| 欧美日韩dvd在线观看| 久久久久久久久久久久久9999| 欧美老女人xx| 亚洲国产精品久久| 国产资源精品在线观看| 亚洲美女电影在线| 亚洲人体1000| 久久av一区二区| 久久久久久久999| 国产一区亚洲一区| 欧美与欧洲交xxxx免费观看 | 一区二区三区导航| 亚洲国产精品一区二区尤物区 | 亚洲国产精品久久久久秋霞不卡| 国产精品国产精品| 亚洲少妇自拍| 欧美日韩亚洲一区二| 亚洲经典三级| 欧美在线观看一区二区| 国产精品久久夜| 久久国产加勒比精品无码| 欧美aⅴ一区二区三区视频| 一区二区三区中文在线观看 | 欧美国产日本在线| 一区二区三区四区五区在线| 久久免费精品视频| 亚洲视频电影图片偷拍一区| 国产亚洲精品一区二区| 欧美人与禽猛交乱配| 欧美亚洲免费在线| 亚洲精品欧美在线| 欧美大秀在线观看| 久久久久久欧美| 久久精品色图| 久久成人18免费网站| 亚洲视频在线一区| 99这里只有久久精品视频| 亚洲黄色一区| 亚洲国产精品一区二区三区 | 亚洲欧美亚洲| 亚洲欧美精品伊人久久| 一区二区三区导航| 一本在线高清不卡dvd| 欧美**字幕| 欧美激情精品久久久久| 老司机精品导航| 久久久久久久久久看片| 亚洲国产精品久久久久秋霞影院 | 这里只有精品视频| 亚洲精品一区二区三区四区高清| 在线看片欧美| 国产精品久久久久av| 国产精品亚洲激情| 国产一区欧美| 99国产精品久久| 亚洲视频二区| 美女脱光内衣内裤视频久久网站| 久久视频免费观看| 亚洲黄色高清| 亚洲一区在线播放| 久久久久久尹人网香蕉| 欧美久久视频| 狠狠色综合日日| 亚洲精选一区| 久久久久久999| 亚洲在线成人| 国产精品黄视频| 亚洲精品男同| 欧美高清在线一区| 欧美呦呦网站| 欧美日韩亚洲另类| 一色屋精品亚洲香蕉网站| 亚洲精品乱码久久久久久日本蜜臀| 午夜久久电影网| 一本色道久久88亚洲综合88| 久久精品日产第一区二区| 欧美特黄一级大片| 亚洲日本在线观看| 免费永久网站黄欧美| 亚洲另类自拍| 欧美性做爰毛片| 99热在这里有精品免费| 校园激情久久| 国产精品久久久999| 欧美搞黄网站| 亚洲国产精品一区二区第四页av| 久久亚洲欧美| 久久这里有精品15一区二区三区| 国产欧美婷婷中文| 欧美精品一区二区三区久久久竹菊 | 欧美三级午夜理伦三级中文幕 | 欧美激情成人在线| 精品不卡在线| 欧美激情四色| 欧美日韩三级一区二区| 午夜视频久久久| 久久精品一区二区| 亚洲精品一区二区三区婷婷月| 亚洲精品国产无天堂网2021| 欧美国内亚洲| 午夜精品影院在线观看| 午夜视频在线观看一区二区| 国产手机视频一区二区| 亚洲电影有码| 韩国三级在线一区| 亚洲天堂偷拍| 99riav1国产精品视频| 久久亚裔精品欧美| 欧美综合二区| 国产精品久久久久久久久借妻 | 欧美一区激情视频在线观看| 久久精品五月| 久久久久久精| 国产日韩欧美精品一区| 亚洲综合导航| 亚洲午夜在线观看| 欧美巨乳在线观看| 亚洲欧洲午夜| 一区二区三区不卡视频在线观看 | 欧美成人午夜免费视在线看片| 亚洲欧美日韩一区| 午夜电影亚洲| 久久久国产视频91| 一区二区三区我不卡| 久久青草福利网站| 亚洲电影在线看| 午夜久久久久| 国产综合av| 欧美极品影院|