• <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>
            天地之靈學(xué)習(xí)小組
            我們學(xué)習(xí)小組的OpenGL學(xué)習(xí)筆記 大家一定要互相折磨呀~~
            posts - 150,  comments - 156,  trackbacks - 0
            以前從沒寫過游戲,甚至連大程序都沒嘗試寫過,這一次可謂要突破一下了。昨天晚上一夜都沒睡好,一直都在想著這個(gè)游戲。參考了一下俄羅斯方塊,羅列了一些函數(shù),由于能力有限函數(shù)的具體功能都沒實(shí)現(xiàn),但是我會(huì)盡快補(bǔ)全這些功能的,請(qǐng)大家監(jiān)督。第一次分析的難免會(huì)有很多漏洞與不全,請(qǐng)大家多多指教。
            首先是導(dǎo)入各函數(shù)庫
            #include 
            <.h>
            各個(gè)全局變量
            Static 
            const int Bottle_width                瓶子的寬和高度
            Static 
            const int Bottle_height
            Static 
            const int Pill_Szie                     藥丸的尺寸
            Static 
            const int bug_rate                   蟲子的幾率
            static const int  WindowPositionX         窗口位置
            static const int  WindowPositionY 



            定義枚舉類型的顏色
            Enmu color
            {………};
            定義瓶子網(wǎng)格的類型
            enmu BottleGridType 
            {
                BGT_EMPTY,        
            //空的
                BGT_BUG,          //蟲子
                BGT,MEDICINE      //藥片
            }
            ;

            定義瓶子類
            class Bottle
            {
            private :
                BottleGrifTYpe 
            **b_ptr;
                
            int b_Width;
                
            int b_Height;
            public:
                  Bottle(
            int width,int height,intbug_rate)
                  
            {
                       B_Width
            =width;
                       B_Height
            =height;
                       b_ptr
            =new BottleGridTYpe*[height];
                       
            for(int i=0;i<k;i++)
                       
            {
                           For(
            int j=0;j<width;j++)
                           
            {
                               對(duì)從第0行到第k行進(jìn)行初始化,                 全  部設(shè)置成空的,即不包含蟲子。K                 根據(jù)關(guān)數(shù)自定義
                              }

                       }

                       For(
            int i=k;i<height;i++)
                       
            {
                          
            for(int j=0;j<width;j++)
                            
            if(bug_rate>0)
                            
            {
                               如果蟲子出現(xiàn)的幾率
            >0則根據(jù)rate              設(shè)置某些網(wǎng)格成蟲子
                              }

                            Else
                            
            {
                               設(shè)置網(wǎng)格為空
                               }

                        }

                   }

                   
            ~Bottle()                   析構(gòu)函數(shù)
                    
            {
                         
            for(int i=0; i<m_Height; ++i)
                              delete[] b_ptr[i];
                         delete[] b_ptr;
                   }

                   Void display()
                    
            {
                      For(
            int i=0;i<b_Width;i++)
                          
            {
                      For(
            int j=0;j<b_Height;j++)
                                Switch(b_ptr[j][i] )
                                
            {
                                Case BGT_EMPTY:
                                                
            {
                
                                                 }

                                    Case BGT_BUG:
                                                
            {
                
                                                 }

                                     Case BGT_EMPTY:
                                                
            {
                
                                                 }

                                  }

                               }

                          }

                      }

            }
            定義Medicine 類型
            enmu Medicine
            {
                
            char c[2][2];
                
            int x;
                
            int y;
                
            char color;
                
            char size;
                
            char name;
            }

            drawBug()
            {
                畫蟲子
            }

            drawMedicine()
            {
                畫藥片
            }

            canRotate(Medicine mc)
            {
                判斷藥片是否可以旋轉(zhuǎn)
                Can
                    Return  
            true;
                Not 
                    Return 
            false;
            }

            Int canMove(Medicine mc)
            {
                判斷藥片是否可以向左右移動(dòng)
                If(can move to left )
                    Return  
            1;
                If(can move to right)
                    Return 
            2
            }

            Void display()           顯示函數(shù),
            {
                glClear(GL_COLOR_BUFFER_BIT);
                (Bottle)
            ->display();          //Bottle的一個(gè)對(duì)象
                glutSwapBuffers();
            }

            Void clearMedicineAndBug()
            {
                如果垂直或水平相鄰顏色的蟲子或藥丸大于或等于四個(gè),消除。。。。
            }

            Void keyboard(unsigned 
            char key,int x,int y)
            {
                Switch(key)
            {
                Case ‘a’:
                Case ‘A’:
                    If(canMove(Mecidine mc)
            ==1 )
                            藥片向左移動(dòng)
                        Break;
                    Case ‘d’:
                    Case ‘D’:
                    If(canMove(Mecidine mc)
            ==2 )
                        藥片向右移動(dòng)
                    Break;
                    Case ‘s’:
                    Case ‘S’:
                    藥片加速下移
                    Break;
                    Case ‘w’:
                    Case ‘W’:
                    If(canRotate(Mecidine mc))
                        藥片旋轉(zhuǎn)
                    Break;
                    Case ‘p’:
                    Case ‘P’:
                    暫停,按任意鍵繼續(xù)
                    Break;
                }

            }

            Void init()
            {
                 glClearColor(,        ,    ,    ,);
                 。
                 。
                 。
            }

            Int main(
            int argc,char*argv[])
            {
                初始化一個(gè)瓶子
                
                   glutInit(
            &argc,argv);
                  glutInitDisplayMode(GLUT_
            |GLUT_);
                  glutInitInitWindowSize();
                  glutInitWindowPosition();
                  glutCreateWindow(argv);
                  init();
                  glutDisplayFunc(display);
                  glutMainLoop();
                  
            return 0;
            }



            FeedBack:
            # re: 10月18日_關(guān)于瑪麗醫(yī)生的部分函數(shù)(現(xiàn)在就想到這一點(diǎn),至于功能還不會(huì)實(shí)現(xiàn),我會(huì)慢慢寫全的)_By risky
            2008-10-18 21:08 | 肖赫_王婷婷_王冠_鄭燚_孫婷
            risky,你不會(huì)是在用word在寫程序吧……怎么連int main都搞成大寫了……  回復(fù)  更多評(píng)論
              
            # re: 10月18日_關(guān)于瑪麗醫(yī)生的部分函數(shù)(現(xiàn)在就想到這一點(diǎn),至于功能還不會(huì)實(shí)現(xiàn),我會(huì)慢慢寫全的)_By risky
            2008-10-18 21:17 | 肖赫_王婷婷_王冠_鄭燚_孫婷
            我舉報(bào)我舉報(bào),他確實(shí)開Word了。。  回復(fù)  更多評(píng)論
              
            # re: 10月18日_關(guān)于瑪麗醫(yī)生的部分函數(shù)(現(xiàn)在就想到這一點(diǎn),至于功能還不會(huì)實(shí)現(xiàn),我會(huì)慢慢寫全的)_By risky
            2008-10-18 21:40 | 肖赫_王婷婷_王冠_鄭燚_孫婷
            恭喜你猜對(duì)了,本來是些個(gè)計(jì)劃的,結(jié)果越寫越像是偽代碼。@肖赫_王婷婷_王冠_鄭燚_孫婷
              回復(fù)  更多評(píng)論
              

            <2008年10月>
            2829301234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            常用鏈接

            留言簿(6)

            隨筆分類(149)

            隨筆檔案(150)

            同道中人

            搜索

            •  

            積分與排名

            • 積分 - 47514
            • 排名 - 471

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久亚洲精品无码VA大香大香| 99久久www免费人成精品| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 久久国产精品99久久久久久老狼| 久久精品水蜜桃av综合天堂| 精品久久久久久国产潘金莲| 久久综合久久综合久久综合| 久久精品18| 日韩人妻无码一区二区三区久久| 国产99久久精品一区二区| 国产激情久久久久影院老熟女免费 | 狠狠色丁香久久综合婷婷| 国产精品内射久久久久欢欢| 模特私拍国产精品久久| 久久久久无码精品国产不卡| 精品久久久久久久久久久久久久久| 日韩欧美亚洲综合久久影院Ds| 久久久一本精品99久久精品88| 麻豆精品久久精品色综合| 午夜精品久久久久9999高清| 久久精品无码一区二区无码| 国产农村妇女毛片精品久久| 亚洲精品乱码久久久久久中文字幕| 久久线看观看精品香蕉国产| 久久天天躁狠狠躁夜夜avapp| 狠狠狠色丁香婷婷综合久久俺| 久久婷婷午色综合夜啪| 国产成人精品久久一区二区三区| 久久中文字幕精品| 亚洲狠狠久久综合一区77777| 亚洲女久久久噜噜噜熟女| 久久激情五月丁香伊人| 国产精品久久永久免费| 国产成人精品久久| 人妻丰满?V无码久久不卡| 久久99精品国产99久久| 亚洲精品美女久久久久99| 伊人精品久久久久7777| 国产成人精品久久亚洲高清不卡| 99久久人妻无码精品系列蜜桃| 久久九九兔免费精品6|