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

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

            常用鏈接

            留言簿(6)

            隨筆分類(149)

            隨筆檔案(150)

            同道中人

            搜索

            •  

            積分與排名

            • 積分 - 47397
            • 排名 - 472

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久亚洲AV成人无码电影| 国产精品99久久久久久人| 亚洲狠狠婷婷综合久久久久 | 伊人久久大香线焦AV综合影院| 久久综合狠狠综合久久97色| 久久99热这里只有精品国产| 久久精品国产91久久综合麻豆自制 | 久久久久国产一级毛片高清板| 日韩久久久久中文字幕人妻| 久久精品国产第一区二区三区| 久久发布国产伦子伦精品| 欧美性猛交xxxx免费看久久久| 亚洲国产成人久久综合野外| 狠狠色丁香久久综合五月| 久久久久亚洲AV成人网人人网站| 99热成人精品热久久669| 亚洲欧美日韩精品久久亚洲区 | 亚洲精品蜜桃久久久久久| 国产高潮国产高潮久久久91 | 91超碰碰碰碰久久久久久综合| 久久亚洲国产成人精品无码区| 亚洲色欲久久久综合网| 久久国产视频99电影| 色综合久久天天综合| 久久精品毛片免费观看| 亚洲国产精品无码久久久不卡| 久久精品国产精品亚洲精品| 男女久久久国产一区二区三区 | 日韩欧美亚洲国产精品字幕久久久 | 久久精品国产2020| 欧美午夜A∨大片久久 | 亚洲精品无码久久久影院相关影片| 久久综合综合久久97色| 国内精品久久九九国产精品| 久久久久久夜精品精品免费啦| 亚洲精品成人久久久| 久久天天日天天操综合伊人av| 麻豆精品久久久一区二区| 久久久久久久99精品免费观看| 久久亚洲精品无码AV红樱桃| 日本久久久久亚洲中字幕|