• <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年12月>
            30123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            常用鏈接

            留言簿(6)

            隨筆分類(149)

            隨筆檔案(150)

            同道中人

            搜索

            •  

            積分與排名

            • 積分 - 47595
            • 排名 - 471

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            久久精品国内一区二区三区| 久久九九免费高清视频| 奇米影视7777久久精品人人爽| 免费一级欧美大片久久网| 免费精品国产日韩热久久| 国内精品久久久久久99| 国产精品亚洲综合专区片高清久久久 | 伊人久久大香线焦综合四虎| 久久精品国产WWW456C0M| 久久99热这里只有精品国产| 久久久久久综合一区中文字幕| 香蕉久久夜色精品国产2020| 2020久久精品国产免费| 国内精品久久久久影院亚洲| 久久夜色tv网站| 漂亮人妻被黑人久久精品| 久久午夜综合久久| 亚洲国产精品久久66| 无码人妻精品一区二区三区久久| 999久久久免费国产精品播放| 老色鬼久久亚洲AV综合| 免费久久人人爽人人爽av| 久久精品国产亚洲5555| 久久香蕉综合色一综合色88| 一本久久知道综合久久| 久久精品aⅴ无码中文字字幕不卡| 国内精品久久久久影院网站| 国产精品久久久久国产A级| 偷窥少妇久久久久久久久| 亚洲国产成人精品91久久久| 狠狠色丁香婷婷综合久久来来去| 久久99国产精品久久久| 久久福利青草精品资源站| 99麻豆久久久国产精品免费| 久久香综合精品久久伊人| 久久久久久毛片免费播放| 热re99久久精品国99热| 人妻精品久久久久中文字幕69 | 亚洲国产高清精品线久久 | 久久精品桃花综合| 99久久免费国产精品特黄|