• <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>
            天地之靈學習小組
            我們學習小組的OpenGL學習筆記 大家一定要互相折磨呀~~
            posts - 150,  comments - 156,  trackbacks - 0
            以前從沒寫過游戲,甚至連大程序都沒嘗試寫過,這一次可謂要突破一下了。昨天晚上一夜都沒睡好,一直都在想著這個游戲。參考了一下俄羅斯方塊,羅列了一些函數,由于能力有限函數的具體功能都沒實現,但是我會盡快補全這些功能的,請大家監督。第一次分析的難免會有很多漏洞與不全,請大家多多指教。
            首先是導入各函數庫
            #include 
            <.h>
            各個全局變量
            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
            {………};
            定義瓶子網格的類型
            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++)
                           
            {
                               對從第0行到第k行進行初始化,                 全  部設置成空的,即不包含蟲子。K                 根據關數自定義
                              }

                       }

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

                            Else
                            
            {
                               設置網格為空
                               }

                        }

                   }

                   
            ~Bottle()                   析構函數
                    
            {
                         
            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)
            {
                判斷藥片是否可以旋轉
                Can
                    Return  
            true;
                Not 
                    Return 
            false;
            }

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

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

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

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

            }

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

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



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

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

            常用鏈接

            留言簿(6)

            隨筆分類(149)

            隨筆檔案(150)

            同道中人

            搜索

            •  

            積分與排名

            • 積分 - 47509
            • 排名 - 471

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            亚洲精品无码久久久久去q| 婷婷综合久久狠狠色99h| 亚洲一级Av无码毛片久久精品| 久久精品国产精品亚洲人人| 亚洲精品无码久久不卡| 亚洲AV日韩精品久久久久| 国产精品美女久久久久| 热RE99久久精品国产66热| 亚洲中文字幕无码久久2020| 亚洲欧美日韩精品久久| 青青热久久国产久精品 | 亚洲AV日韩精品久久久久久久| 人妻精品久久久久中文字幕69 | 999久久久免费国产精品播放| 久久精品国产福利国产琪琪| 午夜精品久久久久久久| 精品久久久久久无码中文野结衣| 久久久久亚洲AV成人网人人网站| 99久久婷婷国产一区二区| 色狠狠久久AV五月综合| 亚洲国产日韩欧美综合久久| 国产99久久久久久免费看| 久久九九精品99国产精品| 狠狠色丁香久久婷婷综合图片| 夜夜亚洲天天久久| 国产精品99久久99久久久| 久久人人爽人人人人片av| 亚洲日韩欧美一区久久久久我| 91精品国产高清久久久久久国产嫩草| 色婷婷久久综合中文久久蜜桃av| 久久青青草视频| 久久久久亚洲AV片无码下载蜜桃| 亚洲国产香蕉人人爽成AV片久久| 久久综合九色欧美综合狠狠| 久久久久国色AV免费观看| 国产精品成人无码久久久久久| 国产精品久久久久影院色 | 久久精品国产亚洲精品| 久久成人18免费网站| 国产日产久久高清欧美一区| 国内精品久久久久影院免费|