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

置頂隨筆

[置頂]關于五子棋代碼。求指導!!!

人人對戰:


#include<iostream>
using namespace std;
void wz()
{
 cout<<"下面開始五子棋比賽,一號選手用方塊符號,二號用心型符號:"<<endl<<endl;
 for(int i=3;i>0;i--)
 {
  cout<<i<<"  ";
 }
 cout<<"開始-----------"<<endl<<endl;
}

int hs()
{
 int x,y,i=0,j=1;
       char d[80][80];
    //初始化---
       for(x=0;x<25;x+=3)
       {
              for(y=0;y<80;y+=3)
              {
                     d[x][y]='+';
     }
    }

     //第一行數字--
    for(x=0;x<10;x++)
           cout<<x<<"  ";
    for(x=10;x<27;x++)
     cout<<x<<" ";
    cout<<endl;

//輸出棋盤--
    for(x=0;x<25;x+=3)
       {
     cout<<j<<"  ";j++;
              for(y=0;y<76;y+=3)
              {
     
                     cout<<d[x][y]<<"  ";
     }
     cout<<endl;
    }
   

 
  

 while(1)
 {
  
  int a,b;
  if(i%2==0)
  cout<<"由玩家一下棋:"<<endl;
  else
   cout<<"由玩家二下棋:"<<endl;

  cin>>a>>b;
  if(i%2==1)
  {
   if(d[(a-1)*3][(b-1)*3]=='+')
         d[(a-1)*3][(b-1)*3]=3;
   else
   {
    cout<<"-----------------------------不能覆蓋棋子:"<<endl;
    continue;
   }
  }
  else
  {
   if(d[(a-1)*3][(b-1)*3]=='+')
   d[(a-1)*3][(b-1)*3]=1;
   else
   {
    cout<<"-----------------------------不能覆蓋棋子:"<<endl;
    continue;
   }
  }
  i++;
  j=1;
  //第一行數字---
 for(x=0;x<10;x++)
           cout<<x<<"  ";
    for(x=10;x<27;x++)
     cout<<x<<" ";
    cout<<endl;

    for(x=0;x<25;x+=3)
       {
     cout<<j<<"  ";j++;
              for(y=0;y<76;y+=3)
              {
     
                     cout<<d[x][y]<<"  ";
     }
     cout<<endl;
    }
//判斷是否是五個
    if(//橫著
     d[(a-1)*3][(b-1)*3]==1&&d[(a-1)*3][(b)*3]==1&&d[(a-1)*3][(b+1)*3]==1&&d[(a-1)*3][(b+2)*3]==1&&d[(a-1)*3][(b+3)*3]==1
     ||d[(a-1)*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[(a-1)*3][(b)*3]==1&&d[(a-1)*3][(b+1)*3]==1&&d[(a-1)*3][(b+2)*3]==1
     ||d[(a-1)*3][(b-3)*3]==1&&d[(a-1)*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[(a-1)*3][(b)*3]==1&&d[(a-1)*3][(b+1)*3]==1
     ||d[(a-1)*3][(b-4)*3]==1&&d[(a-1)*3][(b-3)*3]==1&&d[(a-1)*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[(a-1)*3][(b)*3]==1
     ||d[(a-1)*3][(b-5)*3]==1&&d[(a-1)*3][(b-4)*3]==1&&d[(a-1)*3][(b-3)*3]==1&&d[(a-1)*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1
     //從左上到右下
     ||d[(a-1)*3][(b-1)*3]==1&&d[a*3][b*3]==1&&d[(a+1)*3][(b+1)*3]==1&&d[(a+2)*3][(b+2)*3]==1&&d[(a+3)*3][(b+3)*3]==1
     ||d[(a-2)*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[a*3][b*3]==1&&d[(a+1)*3][(b+1)*3]==1&&d[(a+2)*3][(b+2)*3]==1
     ||d[(a-3)*3][(b-3)*3]==1&&d[(a-2)*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[a*3][b*3]==1&&d[(a+1)*3][(b+1)*3]==1
     ||d[(a-4)*3][(b-4)*3]==1&&d[(a-3)*3][(b-3)*3]==1&&d[(a-2)*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[a*3][b*3]==1
     ||d[(a-5)*3][(b-5)*3]==1&&d[(a-4)*3][(b-4)*3]==1&&d[(a-3)*3][(b-3)*3]==1&&d[(a-2)*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1
     //從右上到左下
     ||d[(a-1)*3][(b-1)*3]==1&&d[(a-2)*3][b*3]==1&&d[a-3][b+1]==1&&d[a-4][b+2]==1&&d[a-5][b+3]==1
     ||d[a*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[(a-2)*3][b*3]==1&&d[(a-3)*3][(b+1)*3]==1&&d[(a-4)*3][(b+2)*3]==1
     ||d[(a+1)*3][(b-3)*3]==1&&d[a*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[(a-2)*3][b*3]==1&&d[(a-3)*3][(b+1)*3]==1
     ||d[(a+2)*3][(b-4)*3]==1&&d[(a+1)*3][(b-3)*3]==1&&d[a*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[(a-2)*3][b*3]==1
     ||d[(a+3)*3][(b-5)*3]==1&&d[(a+2)*3][(b-4)*3]==1&&d[(a+1)*3][(b-3)*3]==1&&d[a*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1
     //豎著
        ||d[(a-1)*3][(b-1)*3]==1&&d[a*3][(b-1)*3]==1&&d[(a+1)*3][(b-1)*3]==1&&d[(a+2)*3][(b-1)*3]==1&&d[(a+3)*3][(b-1)*3]==1
     ||d[(a-2)*3][(b-1)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[a*3][(b-1)*3]==1&&d[(a+1)*3][(b-1)*3]==1&&d[(a+2)*3][(b-1)*3]==1
     ||d[(a-3)*3][(b-1)*3]==1&&d[(a-2)*3][(b-1)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[a*3][(b-1)*3]==1&&d[(a+1)*3][(b-1)*3]==1
     ||d[(a-4)*3][(b-1)*3]==1&&d[(a-3)*3][(b-1)*3]==1&&d[(a-2)*3][(b-1)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[a*3][(b-1)*3]==1
     ||d[(a-5)*3][(b-1)*3]==1&&d[(a-4)*3][(b-1)*3]==1&&d[(a-3)*3][(b-1)*3]==1&&d[(a-2)*3][(b-1)*3]==1&&d[(a-1)*3][(b-1)*3]==1
     )
    {
     cout<<endl<<"玩家一獲勝"<<endl;break;
    }

    if(//橫著
     d[(a-1)*3][(b-1)*3]==3&&d[(a-1)*3][(b)*3]==3&&d[(a-1)*3][(b+1)*3]==3&&d[(a-1)*3][(b+2)*3]==3&&d[(a-1)*3][(b+3)*3]==3
     ||d[(a-1)*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[(a-1)*3][(b)*3]==3&&d[(a-1)*3][(b+1)*3]==3&&d[(a-1)*3][(b+2)*3]==3
     ||d[(a-1)*3][(b-3)*3]==3&&d[(a-1)*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[(a-1)*3][(b)*3]==3&&d[(a-1)*3][(b+1)*3]==3
     ||d[(a-1)*3][(b-4)*3]==3&&d[(a-1)*3][(b-3)*3]==3&&d[(a-1)*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[(a-1)*3][(b)*3]==3
     ||d[(a-1)*3][(b-5)*3]==3&&d[(a-1)*3][(b-4)*3]==3&&d[(a-1)*3][(b-3)*3]==3&&d[(a-1)*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3
     //從左上到右下
     ||d[(a-1)*3][(b-1)*3]==3&&d[a*3][b*3]==3&&d[(a+1)*3][(b+1)*3]==3&&d[(a+2)*3][(b+2)*3]==3&&d[(a+3)*3][(b+3)*3]==3
     ||d[(a-2)*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[a*3][b*3]==3&&d[(a+1)*3][(b+1)*3]==3&&d[(a+2)*3][(b+2)*3]==3
     ||d[(a-3)*3][(b-3)*3]==3&&d[(a-2)*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[a*3][b*3]==3&&d[(a+1)*3][(b+1)*3]==3
     ||d[(a-4)*3][(b-4)*3]==3&&d[(a-3)*3][(b-3)*3]==3&&d[(a-2)*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[a*3][b*3]==3
     ||d[(a-5)*3][(b-5)*3]==3&&d[(a-4)*3][(b-4)*3]==3&&d[(a-3)*3][(b-3)*3]==3&&d[(a-2)*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3
     //從右上到左下
     ||d[(a-1)*3][(b-1)*3]==3&&d[(a-2)*3][b*3]==3&&d[a-3][b+1]==3&&d[a-4][b+2]==3&&d[a-5][b+3]==3
     ||d[a*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[(a-2)*3][b*3]==3&&d[(a-3)*3][(b+1)*3]==3&&d[(a-4)*3][(b+2)*3]==3
     ||d[(a+1)*3][(b-3)*3]==3&&d[a*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[(a-2)*3][b*3]==3&&d[(a-3)*3][(b+1)*3]==3
     ||d[(a+2)*3][(b-4)*3]==3&&d[(a+1)*3][(b-3)*3]==3&&d[a*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[(a-2)*3][b*3]==3
     ||d[(a+3)*3][(b-5)*3]==3&&d[(a+2)*3][(b-4)*3]==3&&d[(a+1)*3][(b-3)*3]==3&&d[a*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3
     //豎著
        ||d[(a-1)*3][(b-1)*3]==3&&d[a*3][(b-1)*3]==3&&d[(a+1)*3][(b-1)*3]==3&&d[(a+2)*3][(b-1)*3]==3&&d[(a+3)*3][(b-1)*3]==3
     ||d[(a-2)*3][(b-1)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[a*3][(b-1)*3]==3&&d[(a+1)*3][(b-1)*3]==3&&d[(a+2)*3][(b-1)*3]==3
     ||d[(a-3)*3][(b-1)*3]==3&&d[(a-2)*3][(b-1)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[a*3][(b-1)*3]==3&&d[(a+1)*3][(b-1)*3]==3
     ||d[(a-4)*3][(b-1)*3]==3&&d[(a-3)*3][(b-1)*3]==3&&d[(a-2)*3][(b-1)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[a*3][(b-1)*3]==3
     ||d[(a-5)*3][(b-1)*3]==3&&d[(a-4)*3][(b-1)*3]==3&&d[(a-3)*3][(b-1)*3]==3&&d[(a-2)*3][(b-1)*3]==3&&d[(a-1)*3][(b-1)*3]==3
     )
    {
   cout<<endl<<"玩家二獲勝"<<endl;break;
    }
 }
 return 0;
}
int main()
{
 char a;
 wz();
 hs();
 while(1)
  {
  cout<<"按P重新開始:";
  cin>>a;
  if(a=='p')
   hs();
  else
   break;
  }
 return 0; 
}




人機對戰暫時沒想出來,有知道的希望指教一下!!感激----

posted @ 2012-04-12 23:48 迎風而立 閱讀(1578) | 評論 (5)編輯 收藏

[置頂]關于移位運算符和取反運算符的一點感悟

今天在學習移位運算符和取反運算符的時候,發現一些問題!現在呢在這里說一下自己的感悟!

先看下面一道 取反和移位相結合的問題


#include<stdio.h>
int main()
{
 char a=0x11;
 char b;
 b=~a<<2;
 printf("%d\n",b);
 b=~(a<<2);
 printf("%d\n",b);
 b=~a>>2;
 printf("%d\n",b);
 b=~(a>>2);
 printf("%d\n",b);
 return 0;
}

 

輸出結果是:

-72
-69
-5
-5

 

剛開始在想為什么相同的操作(只是移位方向不同),為什么上面兩個結果不一樣,而下面兩個結果卻是一樣的呢。有些人在疑問是不是因為下面兩個表達式都是先移位后取反的呢?我可以肯定不是這樣的,但是不能解釋這個結果。這個問題我糾結了半天!  不過對下面的知識了解之后便豁然開朗了。

移位運算符分為左移運算符和右移運算符。
當對一個數執行左移運算的時候,右邊的空位是用0補齊。
而當對一個數執行右移運算的時候,左邊的空位是用符號位補齊的(這是我之前沒注意的地方,慚愧)。

 

解體步驟如下:


a=0x11=0001 0001

~a=1110 1110
a<<2=0100 0100
a>>2=0000 0100


~a<<2=1011 1000 
現在 1011 1000是補碼,轉化成原碼之后是
1100 1000=-72  -72是十進制

~(a<<2)=0100 0100
轉化為原碼之后是 1100 0101=-69


~a>>2=1111 1011(注意現在是用1補齊的,因為~a的符號位是1)
轉化為原碼之后是  1000 0101=-5


~(a>>2)=1111 1011
轉化為原碼之后是  1000 0101=-5


明白之后心情很好,所以在這里分享一下。呵呵

posted @ 2012-04-08 21:29 迎風而立 閱讀(1715) | 評論 (2)編輯 收藏

2012年4月12日

關于五子棋代碼。求指導!!!

人人對戰:


#include<iostream>
using namespace std;
void wz()
{
 cout<<"下面開始五子棋比賽,一號選手用方塊符號,二號用心型符號:"<<endl<<endl;
 for(int i=3;i>0;i--)
 {
  cout<<i<<"  ";
 }
 cout<<"開始-----------"<<endl<<endl;
}

int hs()
{
 int x,y,i=0,j=1;
       char d[80][80];
    //初始化---
       for(x=0;x<25;x+=3)
       {
              for(y=0;y<80;y+=3)
              {
                     d[x][y]='+';
     }
    }

     //第一行數字--
    for(x=0;x<10;x++)
           cout<<x<<"  ";
    for(x=10;x<27;x++)
     cout<<x<<" ";
    cout<<endl;

//輸出棋盤--
    for(x=0;x<25;x+=3)
       {
     cout<<j<<"  ";j++;
              for(y=0;y<76;y+=3)
              {
     
                     cout<<d[x][y]<<"  ";
     }
     cout<<endl;
    }
   

 
  

 while(1)
 {
  
  int a,b;
  if(i%2==0)
  cout<<"由玩家一下棋:"<<endl;
  else
   cout<<"由玩家二下棋:"<<endl;

  cin>>a>>b;
  if(i%2==1)
  {
   if(d[(a-1)*3][(b-1)*3]=='+')
         d[(a-1)*3][(b-1)*3]=3;
   else
   {
    cout<<"-----------------------------不能覆蓋棋子:"<<endl;
    continue;
   }
  }
  else
  {
   if(d[(a-1)*3][(b-1)*3]=='+')
   d[(a-1)*3][(b-1)*3]=1;
   else
   {
    cout<<"-----------------------------不能覆蓋棋子:"<<endl;
    continue;
   }
  }
  i++;
  j=1;
  //第一行數字---
 for(x=0;x<10;x++)
           cout<<x<<"  ";
    for(x=10;x<27;x++)
     cout<<x<<" ";
    cout<<endl;

    for(x=0;x<25;x+=3)
       {
     cout<<j<<"  ";j++;
              for(y=0;y<76;y+=3)
              {
     
                     cout<<d[x][y]<<"  ";
     }
     cout<<endl;
    }
//判斷是否是五個
    if(//橫著
     d[(a-1)*3][(b-1)*3]==1&&d[(a-1)*3][(b)*3]==1&&d[(a-1)*3][(b+1)*3]==1&&d[(a-1)*3][(b+2)*3]==1&&d[(a-1)*3][(b+3)*3]==1
     ||d[(a-1)*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[(a-1)*3][(b)*3]==1&&d[(a-1)*3][(b+1)*3]==1&&d[(a-1)*3][(b+2)*3]==1
     ||d[(a-1)*3][(b-3)*3]==1&&d[(a-1)*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[(a-1)*3][(b)*3]==1&&d[(a-1)*3][(b+1)*3]==1
     ||d[(a-1)*3][(b-4)*3]==1&&d[(a-1)*3][(b-3)*3]==1&&d[(a-1)*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[(a-1)*3][(b)*3]==1
     ||d[(a-1)*3][(b-5)*3]==1&&d[(a-1)*3][(b-4)*3]==1&&d[(a-1)*3][(b-3)*3]==1&&d[(a-1)*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1
     //從左上到右下
     ||d[(a-1)*3][(b-1)*3]==1&&d[a*3][b*3]==1&&d[(a+1)*3][(b+1)*3]==1&&d[(a+2)*3][(b+2)*3]==1&&d[(a+3)*3][(b+3)*3]==1
     ||d[(a-2)*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[a*3][b*3]==1&&d[(a+1)*3][(b+1)*3]==1&&d[(a+2)*3][(b+2)*3]==1
     ||d[(a-3)*3][(b-3)*3]==1&&d[(a-2)*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[a*3][b*3]==1&&d[(a+1)*3][(b+1)*3]==1
     ||d[(a-4)*3][(b-4)*3]==1&&d[(a-3)*3][(b-3)*3]==1&&d[(a-2)*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[a*3][b*3]==1
     ||d[(a-5)*3][(b-5)*3]==1&&d[(a-4)*3][(b-4)*3]==1&&d[(a-3)*3][(b-3)*3]==1&&d[(a-2)*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1
     //從右上到左下
     ||d[(a-1)*3][(b-1)*3]==1&&d[(a-2)*3][b*3]==1&&d[a-3][b+1]==1&&d[a-4][b+2]==1&&d[a-5][b+3]==1
     ||d[a*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[(a-2)*3][b*3]==1&&d[(a-3)*3][(b+1)*3]==1&&d[(a-4)*3][(b+2)*3]==1
     ||d[(a+1)*3][(b-3)*3]==1&&d[a*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[(a-2)*3][b*3]==1&&d[(a-3)*3][(b+1)*3]==1
     ||d[(a+2)*3][(b-4)*3]==1&&d[(a+1)*3][(b-3)*3]==1&&d[a*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[(a-2)*3][b*3]==1
     ||d[(a+3)*3][(b-5)*3]==1&&d[(a+2)*3][(b-4)*3]==1&&d[(a+1)*3][(b-3)*3]==1&&d[a*3][(b-2)*3]==1&&d[(a-1)*3][(b-1)*3]==1
     //豎著
        ||d[(a-1)*3][(b-1)*3]==1&&d[a*3][(b-1)*3]==1&&d[(a+1)*3][(b-1)*3]==1&&d[(a+2)*3][(b-1)*3]==1&&d[(a+3)*3][(b-1)*3]==1
     ||d[(a-2)*3][(b-1)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[a*3][(b-1)*3]==1&&d[(a+1)*3][(b-1)*3]==1&&d[(a+2)*3][(b-1)*3]==1
     ||d[(a-3)*3][(b-1)*3]==1&&d[(a-2)*3][(b-1)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[a*3][(b-1)*3]==1&&d[(a+1)*3][(b-1)*3]==1
     ||d[(a-4)*3][(b-1)*3]==1&&d[(a-3)*3][(b-1)*3]==1&&d[(a-2)*3][(b-1)*3]==1&&d[(a-1)*3][(b-1)*3]==1&&d[a*3][(b-1)*3]==1
     ||d[(a-5)*3][(b-1)*3]==1&&d[(a-4)*3][(b-1)*3]==1&&d[(a-3)*3][(b-1)*3]==1&&d[(a-2)*3][(b-1)*3]==1&&d[(a-1)*3][(b-1)*3]==1
     )
    {
     cout<<endl<<"玩家一獲勝"<<endl;break;
    }

    if(//橫著
     d[(a-1)*3][(b-1)*3]==3&&d[(a-1)*3][(b)*3]==3&&d[(a-1)*3][(b+1)*3]==3&&d[(a-1)*3][(b+2)*3]==3&&d[(a-1)*3][(b+3)*3]==3
     ||d[(a-1)*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[(a-1)*3][(b)*3]==3&&d[(a-1)*3][(b+1)*3]==3&&d[(a-1)*3][(b+2)*3]==3
     ||d[(a-1)*3][(b-3)*3]==3&&d[(a-1)*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[(a-1)*3][(b)*3]==3&&d[(a-1)*3][(b+1)*3]==3
     ||d[(a-1)*3][(b-4)*3]==3&&d[(a-1)*3][(b-3)*3]==3&&d[(a-1)*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[(a-1)*3][(b)*3]==3
     ||d[(a-1)*3][(b-5)*3]==3&&d[(a-1)*3][(b-4)*3]==3&&d[(a-1)*3][(b-3)*3]==3&&d[(a-1)*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3
     //從左上到右下
     ||d[(a-1)*3][(b-1)*3]==3&&d[a*3][b*3]==3&&d[(a+1)*3][(b+1)*3]==3&&d[(a+2)*3][(b+2)*3]==3&&d[(a+3)*3][(b+3)*3]==3
     ||d[(a-2)*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[a*3][b*3]==3&&d[(a+1)*3][(b+1)*3]==3&&d[(a+2)*3][(b+2)*3]==3
     ||d[(a-3)*3][(b-3)*3]==3&&d[(a-2)*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[a*3][b*3]==3&&d[(a+1)*3][(b+1)*3]==3
     ||d[(a-4)*3][(b-4)*3]==3&&d[(a-3)*3][(b-3)*3]==3&&d[(a-2)*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[a*3][b*3]==3
     ||d[(a-5)*3][(b-5)*3]==3&&d[(a-4)*3][(b-4)*3]==3&&d[(a-3)*3][(b-3)*3]==3&&d[(a-2)*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3
     //從右上到左下
     ||d[(a-1)*3][(b-1)*3]==3&&d[(a-2)*3][b*3]==3&&d[a-3][b+1]==3&&d[a-4][b+2]==3&&d[a-5][b+3]==3
     ||d[a*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[(a-2)*3][b*3]==3&&d[(a-3)*3][(b+1)*3]==3&&d[(a-4)*3][(b+2)*3]==3
     ||d[(a+1)*3][(b-3)*3]==3&&d[a*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[(a-2)*3][b*3]==3&&d[(a-3)*3][(b+1)*3]==3
     ||d[(a+2)*3][(b-4)*3]==3&&d[(a+1)*3][(b-3)*3]==3&&d[a*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[(a-2)*3][b*3]==3
     ||d[(a+3)*3][(b-5)*3]==3&&d[(a+2)*3][(b-4)*3]==3&&d[(a+1)*3][(b-3)*3]==3&&d[a*3][(b-2)*3]==3&&d[(a-1)*3][(b-1)*3]==3
     //豎著
        ||d[(a-1)*3][(b-1)*3]==3&&d[a*3][(b-1)*3]==3&&d[(a+1)*3][(b-1)*3]==3&&d[(a+2)*3][(b-1)*3]==3&&d[(a+3)*3][(b-1)*3]==3
     ||d[(a-2)*3][(b-1)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[a*3][(b-1)*3]==3&&d[(a+1)*3][(b-1)*3]==3&&d[(a+2)*3][(b-1)*3]==3
     ||d[(a-3)*3][(b-1)*3]==3&&d[(a-2)*3][(b-1)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[a*3][(b-1)*3]==3&&d[(a+1)*3][(b-1)*3]==3
     ||d[(a-4)*3][(b-1)*3]==3&&d[(a-3)*3][(b-1)*3]==3&&d[(a-2)*3][(b-1)*3]==3&&d[(a-1)*3][(b-1)*3]==3&&d[a*3][(b-1)*3]==3
     ||d[(a-5)*3][(b-1)*3]==3&&d[(a-4)*3][(b-1)*3]==3&&d[(a-3)*3][(b-1)*3]==3&&d[(a-2)*3][(b-1)*3]==3&&d[(a-1)*3][(b-1)*3]==3
     )
    {
   cout<<endl<<"玩家二獲勝"<<endl;break;
    }
 }
 return 0;
}
int main()
{
 char a;
 wz();
 hs();
 while(1)
  {
  cout<<"按P重新開始:";
  cin>>a;
  if(a=='p')
   hs();
  else
   break;
  }
 return 0; 
}




人機對戰暫時沒想出來,有知道的希望指教一下!!感激----

posted @ 2012-04-12 23:48 迎風而立 閱讀(1578) | 評論 (5)編輯 收藏

2012年4月8日

關于移位運算符和取反運算符的一點感悟

今天在學習移位運算符和取反運算符的時候,發現一些問題!現在呢在這里說一下自己的感悟!

先看下面一道 取反和移位相結合的問題


#include<stdio.h>
int main()
{
 char a=0x11;
 char b;
 b=~a<<2;
 printf("%d\n",b);
 b=~(a<<2);
 printf("%d\n",b);
 b=~a>>2;
 printf("%d\n",b);
 b=~(a>>2);
 printf("%d\n",b);
 return 0;
}

 

輸出結果是:

-72
-69
-5
-5

 

剛開始在想為什么相同的操作(只是移位方向不同),為什么上面兩個結果不一樣,而下面兩個結果卻是一樣的呢。有些人在疑問是不是因為下面兩個表達式都是先移位后取反的呢?我可以肯定不是這樣的,但是不能解釋這個結果。這個問題我糾結了半天!  不過對下面的知識了解之后便豁然開朗了。

移位運算符分為左移運算符和右移運算符。
當對一個數執行左移運算的時候,右邊的空位是用0補齊。
而當對一個數執行右移運算的時候,左邊的空位是用符號位補齊的(這是我之前沒注意的地方,慚愧)。

 

解體步驟如下:


a=0x11=0001 0001

~a=1110 1110
a<<2=0100 0100
a>>2=0000 0100


~a<<2=1011 1000 
現在 1011 1000是補碼,轉化成原碼之后是
1100 1000=-72  -72是十進制

~(a<<2)=0100 0100
轉化為原碼之后是 1100 0101=-69


~a>>2=1111 1011(注意現在是用1補齊的,因為~a的符號位是1)
轉化為原碼之后是  1000 0101=-5


~(a>>2)=1111 1011
轉化為原碼之后是  1000 0101=-5


明白之后心情很好,所以在這里分享一下。呵呵

posted @ 2012-04-08 21:29 迎風而立 閱讀(1715) | 評論 (2)編輯 收藏

僅列出標題  
<2025年10月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

導航

統計

常用鏈接

留言簿

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美一区观看| 亚洲欧美日韩在线一区| 久久久久久久久综合| 亚洲欧美激情视频| 国产欧美日韩视频一区二区| 欧美在线观看视频一区二区| 欧美一区二粉嫩精品国产一线天| 狠狠入ady亚洲精品| 麻豆精品传媒视频| 欧美激情按摩在线| 亚洲在线视频免费观看| 欧美专区日韩专区| 亚洲国产一成人久久精品| 亚洲精品在线视频| 国产精品一区二区三区四区五区 | 国产精品老女人精品视频| 亚洲欧美日本在线| 久久久精品欧美丰满| 亚洲久久在线| 午夜在线精品| 亚洲免费观看高清在线观看 | 国产精品一区二区三区久久| 久久亚洲精品欧美| 欧美ab在线视频| 亚洲午夜av在线| 久久精品国内一区二区三区| 日韩午夜视频在线观看| 午夜精品久久久久久久99樱桃| 亚洲电影天堂av| 国产精品99久久久久久www| 国语自产在线不卡| 一本在线高清不卡dvd| 亚洲电影有码| 午夜精品久久久久久久久久久久 | 久久久久国内| 亚洲激情欧美| 国产视频精品网| 亚洲经典三级| 在线精品一区二区| 亚洲一区国产精品| 日韩视频亚洲视频| 久久国产视频网站| 亚洲欧美区自拍先锋| 欧美激情久久久久久| 久久久av网站| 国产免费成人av| 99re66热这里只有精品4| 在线观看视频一区二区| 午夜精品久久久久久久99热浪潮 | 欧美日韩国产小视频在线观看| 欧美91福利在线观看| 国产视频在线观看一区| 一区二区三区成人| 一区二区三区四区五区精品| 欧美1区3d| 欧美电影美腿模特1979在线看| 狠狠色丁香久久婷婷综合丁香| 亚洲综合第一| 午夜精品一区二区三区电影天堂| 欧美日韩你懂的| 亚洲精品乱码久久久久久按摩观| 亚洲欧洲精品天堂一级| 美女国产精品| 亚洲国产裸拍裸体视频在线观看乱了中文 | 午夜精品视频| 欧美亚洲免费在线| 国产精品专区第二| 香蕉亚洲视频| 久久久久久一区| 一区在线观看| 久久久噜噜噜久久人人看| 久久久久久香蕉网| 在线精品一区| 欧美成人免费va影院高清| 亚洲第一精品电影| 日韩午夜免费| 国产精品超碰97尤物18| 亚洲嫩草精品久久| 久久免费视频在线| 亚洲第一毛片| 欧美美女bb生活片| 一区二区三区.www| 久久男人资源视频| 亚洲国产成人在线视频| 欧美黑人多人双交| 在线亚洲免费| 久久久久久综合网天天| 亚洲欧洲精品一区| 欧美系列电影免费观看| 欧美专区日韩专区| 亚洲精品视频免费| 欧美一区二区在线免费观看 | 欧美三级午夜理伦三级中视频| 欧美v亚洲v综合ⅴ国产v| 美女脱光内衣内裤视频久久影院 | 欧美亚洲综合网| 久久精品99国产精品日本| 国产一区二区三区四区在线观看| 久久福利电影| 亚洲精品乱码久久久久| 久久精品国产精品亚洲综合| 亚洲国产精品精华液2区45| 欧美天堂在线观看| 久久亚洲一区| 午夜天堂精品久久久久| 欧美激情视频在线免费观看 欧美视频免费一 | 久久噜噜噜精品国产亚洲综合 | 国产欧美高清| 欧美日本不卡高清| 欧美在线视频二区| 日韩一级大片| 欧美国产综合一区二区| 欧美中文在线观看| 一本久久综合| 亚洲国产日韩综合一区| 国产欧美一区二区三区久久人妖| 欧美国产日韩在线| 久久精品一本| 亚洲欧美激情在线视频| 亚洲精品一区二区在线| 欧美激情精品久久久| 久久精品一二三区| 小辣椒精品导航| 亚洲婷婷在线| 一区二区三区日韩精品| 亚洲国产精品va在线看黑人动漫 | aa国产精品| 91久久久久| 亚洲高清资源| 黄色一区二区三区四区| 国产伦理一区| 国产精品av久久久久久麻豆网| 欧美.com| 欧美wwwwww| 欧美高清在线观看| 免费在线一区二区| 另类av导航| 久久久亚洲人| 久久婷婷成人综合色| 欧美影院视频| 欧美一区三区二区在线观看| 欧美一二三视频| 欧美在线免费观看亚洲| 午夜在线观看免费一区| 欧美一区午夜视频在线观看| 欧美一区二区三区在| 久久精品国产99| 久久中文在线| 欧美福利视频| 欧美精品成人| 欧美日韩专区| 国产精品国码视频| 国产精品你懂的在线| 国产精品夜夜夜一区二区三区尤| 国产精品自拍网站| 国产日韩成人精品| 激情欧美日韩| 久久亚洲精品视频| 久久久久国产一区二区| 狂野欧美激情性xxxx| 欧美大香线蕉线伊人久久国产精品| 欧美激情精品久久久久久久变态 | 一本色道综合亚洲| 午夜精品av| 欧美88av| 国产精品永久免费| 在线国产精品播放| 一本色道久久综合狠狠躁篇怎么玩 | 老司机免费视频一区二区| 欧美成人午夜| 国产乱码精品一区二区三区五月婷| 国产日韩一区二区| 亚洲精品国产视频| 欧美一区二区视频在线观看2020| 另类av一区二区| 亚洲精品中文字幕在线观看| 亚洲欧美日韩视频二区| 久久婷婷麻豆| 欧美午夜宅男影院| 亚洲高清一区二区三区| 亚洲女人天堂av| 欧美freesex8一10精品| 一二三四社区欧美黄| 久久久久久久久蜜桃| 欧美日韩成人免费| 国产综合久久久久久鬼色| 99国产精品久久久久老师| 久久久91精品国产一区二区三区| 欧美激情精品久久久久久变态| 亚洲一区二区在线免费观看视频 | 亚洲视频在线观看三级| 久久精品国产一区二区电影| 欧美视频在线免费| 亚洲国产天堂久久综合网| 午夜宅男欧美| 日韩一区二区高清| 老**午夜毛片一区二区三区| 国产女人aaa级久久久级| 国产精品99久久久久久www| 免费国产一区二区|