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

學習心得(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>
            欧美高清不卡| 9l国产精品久久久久麻豆| 久久久成人网| 国产精品亚洲第一区在线暖暖韩国| 麻豆成人小视频| 亚洲国产片色| 在线看片一区| 久久精品国产免费看久久精品 | 亚洲一区二区三区影院| 欧美日韩国产在线看| 久久国产夜色精品鲁鲁99| 久久久久久一区二区三区| 免费日韩视频| 亚洲国产综合视频在线观看| 久久尤物视频| 亚洲激情另类| 亚洲欧美99| 久久精品视频免费播放| 老鸭窝亚洲一区二区三区| 欧美日韩免费一区二区三区| 国产精品网站视频| 国产婷婷精品| 亚洲三级电影全部在线观看高清| 亚洲在线电影| 欧美高潮视频| 亚洲一卡久久| 欧美激情视频在线免费观看 欧美视频免费一 | 性欧美办公室18xxxxhd| 久久综合999| 国产精品久久久久久久久借妻| 精品动漫3d一区二区三区免费 | 亚洲在线国产日韩欧美| 久久综合伊人77777蜜臀| 国产精品日韩久久久| 最新国产精品拍自在线播放| 欧美在线视频免费观看| 亚洲精品美女久久久久| 久久久爽爽爽美女图片| 国产精品自拍在线| 亚洲特级片在线| 亚洲国产99精品国自产| 久久精品99国产精品| 国产精品一卡二卡| 亚洲免费电影在线| 美女国产一区| 麻豆精品视频在线| 国产一区二区三区av电影| 亚洲电影在线免费观看| 亚洲欧美激情一区| 欧美精品一区二区三区在线看午夜 | 亚洲视频一区| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲欧洲一区二区天堂久久| 久久国产直播| 亚洲欧美久久久| 国产精品麻豆成人av电影艾秋| 亚洲视频999| 一区二区三区在线不卡| 亚洲一区欧美| 日韩视频―中文字幕| 欧美激情va永久在线播放| 亚洲电影在线看| 猛男gaygay欧美视频| 亚洲欧美国产高清va在线播| 国产精品二区三区四区| 亚洲激情小视频| 亚洲国产成人久久综合| 美国成人毛片| 日韩视频在线一区| 亚洲美女黄色片| 国产精品久久久久9999| 午夜综合激情| 久久国产婷婷国产香蕉| 在线成人性视频| 欧美激情综合色| 欧美啪啪成人vr| 香蕉av福利精品导航| 久久精品av麻豆的观看方式| 影音先锋久久资源网| 亚洲国产精品va在线看黑人动漫 | 久久国产福利国产秒拍| 欧美一级午夜免费电影| 国产农村妇女毛片精品久久莱园子 | 一本一本a久久| 国产精品一区二区三区观看 | 亚洲精品中文字| 91久久久久久| 日韩亚洲精品在线| 国产亚洲精品一区二区| 欧美大片免费观看| 欧美精品一区二区三区久久久竹菊| 亚洲无亚洲人成网站77777| 亚洲一线二线三线久久久| 精久久久久久| 亚洲午夜国产一区99re久久| 在线成人小视频| 亚洲午夜激情| 亚洲激情视频在线观看| 亚洲综合另类| 亚洲精品在线视频观看| 欧美专区在线观看一区| 亚洲人成人77777线观看| 亚洲午夜三级在线| 亚洲精品免费电影| 久久se精品一区二区| 在线一区二区三区四区五区| 久久综合狠狠综合久久激情| 亚洲欧美日韩爽爽影院| 欧美成人tv| 国产一区二区三区四区五区美女| 欧美电影在线观看| 国产精品视频xxxx| 亚洲精品美女91| 亚洲国产精品成人综合| 亚洲欧美成人一区二区在线电影| 亚洲美女毛片| 久久在线观看视频| 久久久精品国产免大香伊| 国产精品无码专区在线观看| 亚洲欧洲精品一区二区三区波多野1战4 | 久久久久.com| 久久国产精品高清| 国产精品美女久久久| 99www免费人成精品| 亚洲精品女人| 麻豆久久婷婷| 亚洲第一福利视频| 亚洲第一视频| 久久婷婷av| 欧美成人激情在线| 亚洲国产黄色片| 美女精品在线观看| 欧美高清视频在线观看| 亚洲激情亚洲| 欧美精品日本| av成人动漫| 亚洲资源在线观看| 国产精品久久久一区麻豆最新章节| aaa亚洲精品一二三区| 午夜国产精品视频| 国产色爱av资源综合区| 久久国产精品一区二区三区四区| 免费h精品视频在线播放| 亚洲国产中文字幕在线观看| 久久精品视频99| 久久国产手机看片| 欧美va天堂va视频va在线| 亚洲国产日韩欧美| 欧美福利网址| 亚洲图片你懂的| 猫咪成人在线观看| 日韩视频永久免费| 欧美日韩一区二区高清| 亚洲女人天堂av| 亚洲电影下载| 亚洲欧美影音先锋| 在线免费观看视频一区| 欧美剧在线免费观看网站| 在线一区二区三区四区| 久久久久久电影| 亚洲人成网站在线播| 欧美性生交xxxxx久久久| 午夜精品一区二区三区在线| 免费看精品久久片| 一区二区免费看| 国产最新精品精品你懂的| 欧美成人一区二区| 午夜亚洲性色视频| 91久久久在线| 久久婷婷一区| 亚洲影视中文字幕| 尤物精品在线| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 欧美日本久久| 欧美一级大片在线免费观看| 免费一级欧美片在线播放| 99精品欧美一区| 黄色综合网站| 国产精品婷婷| 欧美日韩视频专区在线播放 | 欧美日韩爆操| 久久激情视频久久| 一区二区日韩精品| 免费亚洲电影| 久久久亚洲欧洲日产国码αv | 久久久久久国产精品mv| 99综合电影在线视频| 尤妮丝一区二区裸体视频| 国产免费成人在线视频| 欧美久久99| 老司机成人在线视频| 午夜欧美不卡精品aaaaa| 亚洲免费av电影| 亚洲国产精品电影在线观看| 久久久999精品| 午夜精品久久久久久久99热浪潮| 亚洲精品视频在线观看网站| 激情懂色av一区av二区av| 国产精品一区二区三区乱码| 欧美视频导航|