• <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
              1 #include <GL/glut.h>
              2 #include <ctime>
              3 
              4 #define MULTIPLIER 0x015a4e35L 
              5 #define INCREMENT 1 
              6 
              7 static const unsigned char CD_UP = 24;
              8 static const unsigned char CD_DOWN = 25;
              9 static const unsigned char CD_RIGHT = 26;
             10 static const unsigned char CD_LEFT = 27;
             11 
             12 static const int WindowWidth = 640;
             13 static const int WindowHeight = 480;
             14 
             15 static Bottle* bottle = NULL;
             16 static Capsule* capsule = NULL;
             17 
             18 enum Connect
             19 {
             20     LEFT, RIGHT, UP, DOWN, NOT_CONNECTED
             21 };
             22 
             23 enum Color
             24 {
             25     YELLOW, BLUE, RED, BLACK
             26 };
             27 
             28 enum GridType
             29 {
             30     CAPSULE, WORM, NOTHING
             31 };
             32 
             33 class Bottle
             34 {
             35 private:
             36     GridType b_grid_type[16][8];
             37     Color b_color[16][8];
             38     int b_x,b_y;
             39     int b_seed;
             40 public:
             41     Bottle( int seed, int level, int xx, int yy )
             42     {
             43         b_seed = seed;
             44         b_x = xx;
             45         b_y = yy;
             46         for ( int i = 0; i < 16++i )
             47         {
             48             for ( int j = 0; j < 8++j )
             49             {
             50                 b_grid_type[i][j] = NOTHING;
             51                 b_color[16][8= BLACK;
             52             }
             53         }
             54         for ( int i = 0; i < level*4++i )
             55         {
             56             int x = myRand()%8;
             57             int y = myRand()%16;
             58             Color color = myRand()%3;
             59             if ( ok( x, y, color, level ) )
             60             {
             61                 b_grid_type[y][x] = WORM;
             62                 b_color[y][x] = color;
             63             }
             64             else
             65                 --i;
             66         }
             67     }
             68     int myRand( void )
             69     {
             70         seed = MULTIPLIER*seed + INCREMENT; 
             71         return ((int)(seed>>16& 0x7fff); 
             72     }
             73     bool ok( int x, int y, Color color, int level )
             74     {
             75         if ( level < 15 && y <= 6 ) return false;
             76         if ( ((level+1)>>1)+3+< 16 ) return false;
             77         if ( x-2 >= 0 && b_grid_type[x-1][y] == WORM && b_color[x-1][y] == color 
             78             && b_grid_type[x-2][y] == WORM && b_color[x-2][y] == color ) return false;
             79         if ( x+2 < 8 && b_grid_type[x+1][y] == WORM && b_color[x+1][y] == color 
             80             && b_grid_type[x+2][y] == WORM && b_color[x+2][y] == color ) return false;
             81         if ( y+2 < 16 && b_grid_type[x][y+1== WORM && b_color[x][y+1== color 
             82             && b_grid_type[x][y+2== WORM && b_color[x][y+2== color ) return false;
             83         if ( b_grid_type[x][y-1== WORM && b_color[x][y-1== color 
             84             && b_grid_type[x][y-2== WORM && b_color[x][y-2== color ) return false;
             85         return true;
             86     }
             87 };
             88 
             89 class Capsule
             90 {
             91 private:
             92     int c_x,c_y;
             93     Connect c_connect;
             94     Color C_color;
             95 public:
             96     Capsule( int xx, int yy, Connect con, int color)
             97     {
             98         c_x = xx; c_y = yy; c_connect = con; c_color = color;
             99     }
            100 };
            101 
            102 void draw( void )
            103 {
            104     bottle->display();
            105 }
            106 
            107 void display( void )
            108 {
            109     glClear( GL_COLOR_BUFFER_BIT );
            110     draw();
            111     glutSwapBuffers();
            112 }
            113 
            114 void key( unsigned char key_char, int not_use, int not_use_1 )
            115 {
            116     capsule->setDirect( key_char );
            117 }
            118 
            119 int main( int argc, char * argv[] )
            120 {
            121     glutInit( &argc, argv );
            122     glutInitDisplayMode( GLUT_RGBA|GLUT_DOUBLE );
            123     glutInitWindowPosition( 5050 );
            124     glutInitWindowSize( WindowWidth, WindowHeight );
            125     glutCreateWindow( "Dr Mario By PureMilk" );
            126     glutDisplayFunc( display );
            127     glutKeyboardFunc( key );
            128     glutTimerFunc( 250, timer, 0 );
            129     gluOrtho2D( 0, WindowWidth, WindowHeight, 0 );
            130     glutMainLoop();
            131     
            132     return 0;
            133 }
            我是C++盲……

            FeedBack:
            # re: 10月15日_拍板磚吧_By PureMilk
            2008-10-15 17:08 | 筱筱殿下
            注解注解~~  回復  更多評論
              
            # re: 10月15日_拍板磚吧_By PureMilk
            2008-10-15 17:32 | risky
            都開始寫了,俄們還停留在。。  回復  更多評論
              
            # re: 10月15日_拍板磚吧_By PureMilk[未登錄]
            2008-10-15 19:10 | missdeer
            何必自己寫隨機值函數,而且就算要寫,放在這個類里也不合適  回復  更多評論
              
            # re: 10月15日_拍板磚吧_By PureMilk
            2008-10-16 19:27 | 肖赫_王婷婷_王冠_鄭燚
            @missdeer
            對,您教訓的是,俺C++盲,要仔細地研究下。  回復  更多評論
              
            # re: 10月15日_拍板磚吧_By PureMilk
            2008-10-17 01:43 | 陳梓瀚(vczh)
            類的職責要單一、要正交、要小。  回復  更多評論
              

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(6)

            隨筆分類(149)

            隨筆檔案(150)

            同道中人

            搜索

            •  

            積分與排名

            • 積分 - 48584
            • 排名 - 467

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            久久中文字幕视频、最近更新| 精品久久久久久无码中文字幕| 亚洲精品99久久久久中文字幕 | 久久91精品综合国产首页| 99久久精品无码一区二区毛片 | 国产精品亚洲综合专区片高清久久久 | 国内高清久久久久久| 久久精品国产一区| 久久精品国产色蜜蜜麻豆| 精品久久777| 国产美女亚洲精品久久久综合| 97久久久久人妻精品专区| 久久播电影网| 99久久99久久| 久久久精品久久久久影院| 2022年国产精品久久久久 | 狠狠色综合久久久久尤物| 无码国内精品久久人妻蜜桃| 久久国产精品波多野结衣AV| 国产亚洲色婷婷久久99精品| 久久久久久久久久久| 很黄很污的网站久久mimi色| 丁香狠狠色婷婷久久综合| 色天使久久综合网天天| 久久精品国产欧美日韩| 91久久香蕉国产熟女线看| 国内精品久久久久影院一蜜桃| 久久这里都是精品| 欧美成人免费观看久久| 久久精品夜色噜噜亚洲A∨| 精品久久人人妻人人做精品| 青青草原综合久久| 18岁日韩内射颜射午夜久久成人| 国产亚洲精久久久久久无码| 久久99精品久久久久久动态图| 久久亚洲精品成人AV| 色婷婷综合久久久久中文一区二区| 久久妇女高潮几次MBA| 久久天天躁狠狠躁夜夜avapp | 色综合久久天天综合| 久久免费视频网站|