• <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)
            類的職責要單一、要正交、要小。  回復  更多評論
              

            <2008年11月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456

            常用鏈接

            留言簿(6)

            隨筆分類(149)

            隨筆檔案(150)

            同道中人

            搜索

            •  

            積分與排名

            • 積分 - 48257
            • 排名 - 469

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            久久人人爽人人爽人人片AV东京热| 香蕉久久夜色精品升级完成| 婷婷伊人久久大香线蕉AV| 久久久久国色AV免费观看| 亚洲欧美一级久久精品| 亚洲精品蜜桃久久久久久| 91久久精品91久久性色| 美女写真久久影院| 久久国产成人午夜aⅴ影院| 国产免费久久精品99re丫y| 久久青青草原精品国产| 久久久无码精品亚洲日韩蜜臀浪潮| 精品蜜臀久久久久99网站| 久久综合偷偷噜噜噜色| 久久精品国产99久久无毒不卡| 久久精品亚洲乱码伦伦中文| aaa级精品久久久国产片| 中文字幕久久精品无码| 99久久99久久精品国产片果冻| 一本大道久久东京热无码AV| 久久96国产精品久久久| 精品久久久久久久| 9久久9久久精品| 久久久久久国产a免费观看不卡| 91麻精品国产91久久久久| 久久亚洲高清观看| 91精品国产高清久久久久久国产嫩草| 亚洲中文久久精品无码| 久久综合给久久狠狠97色| 久久精品国产亚洲AV无码偷窥| 亚洲中文字幕无码久久2017| 中文字幕一区二区三区久久网站 | 久久久久久精品免费看SSS| 区久久AAA片69亚洲| 久久婷婷五月综合色高清| 久久国产成人亚洲精品影院| 亚洲日本va午夜中文字幕久久| 久久人爽人人爽人人片AV| 久久99久久无码毛片一区二区| 777午夜精品久久av蜜臀| 久久本道伊人久久|