• <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>

            hqh

            C++博客 聯(lián)系 聚合 管理
              4 Posts :: 2 Stories :: 2 Comments :: 0 Trackbacks

            在其二他網(wǎng)站看到的一個(gè)字游戲,有意思點(diǎn)。
            #include <iostream>
            using namespace std;€
            typedef char chess[10];
            typedef int temparr[10];
            chess arr;
            temparr brr;
            int number,suc,c3,n2,c2,n1,c1;
            char ch;
            void inarrdata(chess a)
            {
            ????a[1]='1';a[2]='2';a[3]='3';
            ????a[4]='4';a[5]='5';a[6]='6';
            ????a[7]='7';a[8]='8';a[9]='9';
            }
            void display(chess a)
            {
            ????cout<<endl;cout<<endl;
            ????cout<<"??"<<a[1]<<" "<<'|'<<" "<<a[2]<<" "<<'|'<<" "<<a[3]<<endl;
            ????cout<<" -----------"<<endl;
            ????cout<<"??"<<a[4]<<" "<<'|'<<" "<<a[5]<<" "<<'|'<<" "<<a[6]<<endl;
            ????cout<<" -----------"<<endl;
            ????cout<<"??"<<a[7]<<" "<<'|'<<" "<<a[8]<<" "<<'|'<<" "<<a[9]<<endl;
            ????cout<<endl;cout<<endl;
            }
            int arrfull()
            {
            ????int i;
            ????int arrf=0;
            ????for(i=1;i<=9;i++)
            ????????if(i==arr[i]-48)
            ????????????arrf=1;
            ????return arrf;
            }
            void cn(int line)
            {
            ????switch(line)
            ????????{
            ????????????case 0:c3=c3+1;break;
            ????????????case 1:n2=n2+1;break;
            ????????????case 2:c2=c2+1;break;
            ????????????case 3:n1=n1+1;break;
            ????????????case 4:c1=c1+1;break;
            ????????}
            }
            int linenum(char a,char b,char c)
            {
            ????int ln=5;
            ????if((a=='X')&&(b=='X')&&(c=='X'))
            ????????ln=0;
            ????if(((a=='O')&&(b=='O')&&(c!='O'))||((a=='O')&&(b!='O')&&(c=='O'))||((a!='O')&&(b=='O')&&(c=='O')))
            ????????ln=1;
            ????if(((a=='X')&&(b=='X')&&(c!='X'))||((a=='X')&&(b!='X')&&(c=='X'))||((a!='X')&&(b=='X')&&(c=='X')))
            ????????ln=2;
            ????if(((a=='O')&&(b!='O')&&(c!='O'))||((a!='O')&&(b=='O')&&(c!='O'))||((a!='O')&&(b!='O')&&(c=='O')))
            ????????ln=3;
            ????if(((a=='X')&&(b!='X')&&(c!='x'))||((a!='X')&&(b=='X')&&(c!='X'))||((a!='X')&&(b!='X')&&(c=='X')))
            ????????ln=4;
            ????return ln;
            }
            int maxbrr(int *br)
            {
            ????int temp,i,mb;
            ????temp=-888;
            ????for(i=1;i<=9;i++)
            ????????{
            ????????????if(temp<=br[i])
            ????????????????{
            ????????????????????temp=br[i];
            ????????????????????mb=i;
            ????????????????}
            ????????}
            ????return mb;
            }
            void manstep() //
            人走棋處理模塊

            {
            ????int j;
            ????display(arr);
            ????if(arrfull())??//
            如果棋盤上還有下棋的位置,給人走一步棋
            ????????{
            ????????????cout<<"
            您要走哪一步?請(qǐng)輸入數(shù)字( 1--9 :";
            ????????????cin>>j;
            ????????????while((j<1)||(j>9)||(j!=arr[j]-48))
            ????????????????{
            ????????????????????cout<<"
            對(duì)不起,您輸入的數(shù)字不對(duì),請(qǐng)重新輸入( 1--9
            :";
            ????????????????????cin>>j;
            ????????????????}
            ????????????arr[j]='O';
            ????????}
            }
            void computerstep()??//
            計(jì)算機(jī)走棋處理模塊

            {
            ????int i;
            ????if(arrfull())??//
            如果棋盤上還有可下棋的位置,則計(jì)算機(jī)走棋
            ????????{
            ????????????for(i=1;i<=9;i++)??//
            對(duì)每一步可走的棋進(jìn)行計(jì)算
            ????????????????{
            ????????????????????if(i==arr[i]-48)
            ????????????????????????{
            ????????????????????????????c3=0;n2=0;c2=0;n1=0;c1=0;
            ????????????????????????????arr[i]='X';
            ????????????????????????????number=linenum(arr[1],arr[2],arr[3]);cn(number);
            ????????????????????????????number=linenum(arr[4],arr[5],arr[6]);cn(number);
            ????????????????????????????number=linenum(arr[7],arr[8],arr[9]);cn(number);
            ????????????????????????????number=linenum(arr[1],arr[4],arr[7]);cn(number);
            ????????????????????????????number=linenum(arr[2],arr[5],arr[8]);cn(number);
            ????????????????????????????number=linenum(arr[3],arr[6],arr[9]);cn(number);
            ????????????????????????????number=linenum(arr[1],arr[5],arr[9]);cn(number);
            ????????????????????????????number=linenum(arr[3],arr[5],arr[7]);cn(number);
            ????????????????????????????brr[i]=(128*c3-63*n2+31*c2-15*n1+7*c1);?? //
            計(jì)算此步權(quán)值
            ????????????????????????????arr[i]=i+48;
            ????????????????????????}
            ????????????????????else
            ????????????????????????brr[i]=-999;
            ????????????????}
            ????????????arr[maxbrr(brr)]='X';????//
            確定計(jì)算機(jī)走哪一步,權(quán)值最大的一步
            ????????????c3=0;n2=0;c2=0;n1=0;c1=0;
            ???????????? number=linenum(arr[1],arr[2],arr[3]);cn(number);
            ???????????? number=linenum(arr[4],arr[5],arr[6]);cn(number);
            ???????????? number=linenum(arr[7],arr[8],arr[9]);cn(number);
            ???????????? number=linenum(arr[1],arr[4],arr[7]);cn(number);
            ???????????? number=linenum(arr[2],arr[5],arr[8]);cn(number);
            ???????????? number=linenum(arr[3],arr[6],arr[9]);cn(number);
            ???????????? number=linenum(arr[1],arr[5],arr[9]);cn(number);
            ???????????? number=linenum(arr[3],arr[5],arr[7]);cn(number);
            ???????????? if(c3!=0)????????????????//
            計(jì)算機(jī)已贏
            ????????????????{
            ????????????????????display(arr);
            ????????????????????cout<<endl;
            ????????????????????cout<<"
            計(jì)算機(jī)贏了 !!!"<<endl;
            ????????????????????exit(0);
            ????????????????????suc=0;
            ????????????????}
            ????????}
            ????else
            ????????suc=0;
            }
            int main()
            {
            ????cout<<"
            游戲規(guī)則: "<<endl<<" 棋盤格式如圖,人和計(jì)算機(jī)在棋盤上交替走棋
            "<<endl;
            ????cout<<"
            約定計(jì)算機(jī)使用符號(hào) X ,人使用符號(hào)
            O"<<endl;
            ????cout<<"
            誰(shuí)先使一橫行或一豎行或?qū)蔷€上有三個(gè)自己的符號(hào),就勝利了!
            "<<endl;
            ????inarrdata(arr);??????????//
            棋盤坐標(biāo)編號(hào)

            ????display(arr);????????????//
            顯示初始棋盤
            ????suc=1;
            ????cout<<"
            請(qǐng)選擇您是否先走 ?(y/n)";
            ????cin>>ch;
            ????if((ch=='y')||(ch=='Y'))????//
            輸入 Y ,表示人先走棋

            ????????{
            ????????????while(suc)
            ????????????????{
            ????????????????????manstep();
            ????????????????????computerstep();
            ????????????????}
            ????????????display(arr);
            ????????}
            ????else?????????????????????????? //
            計(jì)算機(jī)先走棋
            ????????{
            ????????????while(suc)
            ????????????????{
            ????????????????????computerstep();
            ????????????????????if(suc)
            ????????????????????????manstep();
            ????????????????}
            ????????}
            ????cout<<endl<<"
            和棋 !"<<endl;
            ????return 0;
            }

            ?

            posted on 2007-03-24 13:35 hqh 閱讀(97) 評(píng)論(0)  編輯 收藏 引用

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


            久久国产精品久久精品国产| 亚洲欧美一级久久精品| 一本色道久久综合狠狠躁| 久久久久久久精品妇女99| 漂亮人妻被黑人久久精品| 香蕉久久夜色精品国产小说| 久久亚洲国产精品123区| 日本WV一本一道久久香蕉| 欧美午夜精品久久久久免费视 | 久久精品无码一区二区无码| 国内精品久久久久| 午夜精品久久影院蜜桃| 精品午夜久久福利大片| 亚洲国产精品狼友中文久久久 | 人妻少妇精品久久| jizzjizz国产精品久久| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 久久久SS麻豆欧美国产日韩| 亚洲一本综合久久| 少妇人妻综合久久中文字幕| 99久久婷婷国产一区二区| 亚洲午夜久久久影院伊人| 欧美午夜精品久久久久久浪潮| 国产精品久久久久jk制服| 亚洲日本va午夜中文字幕久久| 久久精品这里热有精品| 亚洲国产精品一区二区久久hs| 一本久久综合亚洲鲁鲁五月天| 中文字幕亚洲综合久久| 久久精品中文闷骚内射| 久久人做人爽一区二区三区| 无码乱码观看精品久久| 国产精品伊人久久伊人电影| 久久亚洲欧美日本精品| AAA级久久久精品无码片| 无码AV中文字幕久久专区| 久久久久人妻一区二区三区| 久久久久久国产精品无码下载| 超级97碰碰碰碰久久久久最新| 午夜精品久久久久久影视777| 伊人热热久久原色播放www|