/*

还是得现配置OPENGL,或者直接下载配置好的。

*/

#include <gl/glut.h>
#include <math.h>
#include <windows.h>

#define WIDTH 600
#define HEIGHT 600
#define MAX_CHAR       128

#define ColoredVertex(c, v)  do{ glColor3fv(c); glVertex3fv(v); }while(0)

GLfloat angle = 0.0f;//旋转动画角度初始值
GLfloat anglex = 0.0f, angley = 0.0f, anglez = 0.0f;
static int Dxx=0,Dyy=0,Dzz=0;//旋转方向
int xx,yy,zz;//输入坐标
int limitx=360,limity=360,limitz=360;//旋转动画的最大角度
int playflag1=0,playflag2=0;

int movement_t=0;

void drawString(const char* str) {
    static int isFirstCall = 1;
    static GLuint lists;

if( isFirstCall ) { // 如果是第一次调用,执行初始化
                        // 为每一个ASCII字符产生一个显示列表
        isFirstCall = 0;

// 申请MAX_CHAR个连续的显示列表编号
        lists = glGenLists(MAX_CHAR);

// 把每个字符的绘制命令都装到对应的显示列表中
        wglUseFontBitmaps(wglGetCurrentDC(), 0, MAX_CHAR, lists);
    }
    // 调用每个字符对应的显示列表,绘制每个字符
    for(; *str!='\0'; ++str)
        glCallList(lists + *str);
}

void myDisplay(void)
{
     static int list = 0;
  GLint Gen3DObjectList();
    if( list == 0 )list=Gen3DObjectList();
 {
/*     //光源
  GLfloat sun_light_position[] = { 0.0f, 3.0f, -1.0f, 1.0f};
  GLfloat sun_light_ambient[]   = {0.5f, 0.5f, 0.5f, 1.0f};
  GLfloat sun_light_diffuse[]   = {0.5f, 0.5f, 0.5f, 1.0f};//不要设全零
  GLfloat sun_light_specular[] = {1.0f, 1.0f, 1.0f, 1.0f};//不要设全零

glLightfv(GL_LIGHT0, GL_POSITION, sun_light_position);
  glLightfv(GL_LIGHT0, GL_AMBIENT,   sun_light_ambient);
  glLightfv(GL_LIGHT0, GL_DIFFUSE,   sun_light_diffuse);
  glLightfv(GL_LIGHT0, GL_SPECULAR, sun_light_specular);

//材质
         GLfloat sun_mat_ambient[]   = {0.0f, 0.0f, 0.0f, 1.0f};
         GLfloat sun_mat_diffuse[]   = {0.0f, 0.0f, 0.0f, 1.0f};
         GLfloat sun_mat_specular[] = {0.0f, 0.0f, 0.0f, 1.0f};
         GLfloat sun_mat_emission[] = {1.0f, 0.0f, 0.0f, 1.0f};
         GLfloat sun_mat_shininess   = 0.0f;

glMaterialfv(GL_FRONT, GL_AMBIENT,    sun_mat_ambient);
         glMaterialfv(GL_FRONT, GL_DIFFUSE,    sun_mat_diffuse);
         glMaterialfv(GL_FRONT, GL_SPECULAR,   sun_mat_specular);
         glMaterialfv(GL_FRONT, GL_EMISSION,   sun_mat_emission);
         glMaterialf (GL_FRONT, GL_SHININESS, sun_mat_shininess);
 //  glTranslatef(5.0f, 0.0f, 0.0f);
 glutSolidSphere(0.3, 40, 32);//用作背景了
*/
          // 如果显示列表不存在,则创建
   //四个点的坐标

GLfloat
//船底
   PointA[] = {  0   ,  0.1f  , 1.2f },//RED
   PointD[] = {  0   , -0.1f  , 1.0f  },//YELLOW

PointB[] = { -0.23f,  0    , 0.8f},//GREEN
   PointE[] = { -0.21f, -0.1f , 0.8f},

PointC[] = {  0.23f,  0    ,0.8f  },//BLUE   
   PointF[] = {  0.21f, -0.1f , 0.8f},

PointG[] = {-0.2f,  0    ,-0.6f},
   PointI[] = {-0.2f, -0.1f, -0.6f},

PointH[] = { 0.2f,  0   , -0.6f},
   PointJ[] = { 0.2f, -0.1f, -0.6f},

//船舱

PointK[] = {-0.15f,  0     ,0.6f },   PointL[] = {-0.15f,  -0.1f , -0.3f},   PointM[] = { 0.15f,  -0.1f , -0.3f},   PointN[] = { 0.15f,  0     , 0.6f},

PointO[] = {-0.15f,  0.15f  ,  0.5f },   PointP[] = {-0.15f,  0.15f  ,  0.05f },   PointQ[] = { 0.15f,  0.15f  ,  0.05f  },   PointR[] = { 0.15f,  0.15f  ,  0.5f },

PointS[] = {-0.15f,  0.1f  ,  0.03f},   PointT[] = {-0.15f,  0.1f  ,  -0.3f },   PointU[] = { 0.15f,  0.1f  ,  -0.3f },   PointV[] = { 0.15f,  0.1f  ,  0.03f },

//指挥塔 
      Pointd21[] = {-0.13f,  0.15f  ,  0.4f },   Pointd22[] = {-0.13f,  0.15f  ,  0.06f },   Pointd23[] = { 0.13f,  0.15f  ,  0.06f  },   Pointd24[] = { 0.13f,  0.15f  ,  0.4f },

Pointd11[] = {-0.13f,  0.22f  ,  0.45f },   Pointd12[] = {-0.13f,  0.22f  ,  0.06f },   Pointd13[] = { 0.13f,  0.22f  ,  0.06f },   Pointd14[] = { 0.13f,  0.22f  ,  0.45f },

//瞭望塔
   Points21[] = {-0.03f,  0.22f  ,  0.15f },   Points22[] = {-0.03f,  0.22f  ,  0.06f },   Points23[] = { 0.03f,  0.22f  ,  0.06f },   Points24[] = { 0.03f,  0.22f  ,  0.15f },

Points11[] = {-0.03f,  0.45f  ,  0.09f },   Points12[] = {-0.03f,  0.45f  ,  0.06f },   Points13[] = { 0.03f,  0.45f  ,  0.06f  },   Points14[] = { 0.03f,  0.45f  ,  0.09f };

//测试//  GLfloat PointT1[]={0,0,0},PointT2[]={1,1,1},PointT3[]={-1,1,1},PointT4[]={1,1,2};
  
         GLfloat
   ColorR[] = {1, 0, 0},
   ColorG[] = {0, 1, 0},
   ColorB[] = {0, 0, 1},
   ColorW[] = {0.7, 0.7, 0.7},
   ColorY[] = {1, 1, 0},
   ColorW1[] = {0.5, 0.5, 0.5},
   ColorD[] = {0 , 0 ,0};

list = glGenLists(1);// 自动分配一个没有使用的显示列表编号,参数表示要分配i个连续的未使用的显示列表编号。返回的是分配的若干连续编号中最小的一个
         glNewList(list, GL_COMPILE);

//++++++++++++++++++++++++++++++++++++++++++++++++
/*

//地物材质
   GLfloat earth_mat_ambient[]   = {0.5f, 0.5f, 0.5f, 1.0f};
         GLfloat earth_mat_diffuse[]   = {0.5f, 0.5f, 0.5f, 1.0f};
         GLfloat earth_mat_specular[] = {0.0f, 0.0f, 1.0f, 1.0f};
         GLfloat earth_mat_emission[] = {0.1f, 0.1f, 0.1f, 1.0f};
         GLfloat earth_mat_shininess   = 30.0f;

glMaterialfv(GL_FRONT, GL_AMBIENT,    earth_mat_ambient);
         glMaterialfv(GL_FRONT, GL_DIFFUSE,    earth_mat_diffuse);
         glMaterialfv(GL_FRONT, GL_SPECULAR,   earth_mat_specular);
         glMaterialfv(GL_FRONT, GL_EMISSION,   earth_mat_emission);
         glMaterialf (GL_FRONT, GL_SHININESS, earth_mat_shininess);
   */
//________________________________________________
glBegin(GL_LINES);//画黑线
  //底部
  ColoredVertex(ColorD, PointA);ColoredVertex(ColorD, PointB);
  ColoredVertex(ColorD, PointB);ColoredVertex(ColorD, PointG);
  ColoredVertex(ColorD, PointG);ColoredVertex(ColorD, PointH);
  ColoredVertex(ColorD, PointH);ColoredVertex(ColorD, PointC);
  ColoredVertex(ColorD, PointA);ColoredVertex(ColorD, PointD);
  ColoredVertex(ColorD, PointB);ColoredVertex(ColorD, PointE);
  ColoredVertex(ColorD, PointG);ColoredVertex(ColorD, PointI);
  ColoredVertex(ColorD, PointH);ColoredVertex(ColorD, PointJ);
  ColoredVertex(ColorD, PointC);ColoredVertex(ColorD, PointF);
  //中部
  ColoredVertex(ColorD, PointL);ColoredVertex(ColorD, PointM);
  ColoredVertex(ColorD, PointT);ColoredVertex(ColorD, PointU);
  ColoredVertex(ColorD, PointT);ColoredVertex(ColorD, PointL);
  ColoredVertex(ColorD, PointU);ColoredVertex(ColorD, PointM);
  ColoredVertex(ColorD, PointS);ColoredVertex(ColorD, PointV);
  ColoredVertex(ColorD, PointS);ColoredVertex(ColorD, PointT);
  ColoredVertex(ColorD, PointV);ColoredVertex(ColorD, PointU);
  ColoredVertex(ColorD, PointM);ColoredVertex(ColorD, PointN);
  ColoredVertex(ColorD, PointL);ColoredVertex(ColorD, PointK);
  ColoredVertex(ColorD, PointO);ColoredVertex(ColorD, PointR);
  ColoredVertex(ColorD, PointP);ColoredVertex(ColorD, PointQ);
  ColoredVertex(ColorD, PointP);ColoredVertex(ColorD, PointS);
  ColoredVertex(ColorD, PointQ);ColoredVertex(ColorD, PointV);
  ColoredVertex(ColorD, PointP);ColoredVertex(ColorD, PointO);
  ColoredVertex(ColorD, PointR);ColoredVertex(ColorD, PointQ);
  ColoredVertex(ColorD, PointK);ColoredVertex(ColorD, PointO);
  ColoredVertex(ColorD, PointR);ColoredVertex(ColorD, PointN);
  //顶部
  ColoredVertex(ColorD, Pointd11);ColoredVertex(ColorD, Pointd14);
  ColoredVertex(ColorD, Pointd11);ColoredVertex(ColorD, Pointd21);
  ColoredVertex(ColorD, Pointd11);ColoredVertex(ColorD, Pointd12);
  ColoredVertex(ColorD, Pointd14);ColoredVertex(ColorD, Pointd24);
  ColoredVertex(ColorD, Pointd14);ColoredVertex(ColorD, Pointd13);
  ColoredVertex(ColorD, Pointd12);ColoredVertex(ColorD, Pointd13);
  ColoredVertex(ColorD, Pointd12);ColoredVertex(ColorD, Pointd22);
  ColoredVertex(ColorD, Pointd13);ColoredVertex(ColorD, Pointd23);

ColoredVertex(ColorD, Points11);ColoredVertex(ColorD, Points14);
  ColoredVertex(ColorD, Points11);ColoredVertex(ColorD, Points21);
  ColoredVertex(ColorD, Points11);ColoredVertex(ColorD, Points12);
  ColoredVertex(ColorD, Points14);ColoredVertex(ColorD, Points24);
  ColoredVertex(ColorD, Points14);ColoredVertex(ColorD, Points13);
  ColoredVertex(ColorD, Points12);ColoredVertex(ColorD, Points13);
  ColoredVertex(ColorD, Points12);ColoredVertex(ColorD, Points22);
  ColoredVertex(ColorD, Points13);ColoredVertex(ColorD, Points23);
  ColoredVertex(ColorD, Points23);ColoredVertex(ColorD, Points24);
  ColoredVertex(ColorD, Points21);ColoredVertex(ColorD, Points24);
  ColoredVertex(ColorD, Points21);ColoredVertex(ColorD, Points22);
  glEnd();//画线完

glBegin(GL_QUADS);//(GL_LINE_LOOP);//???
  
         // 上表面ABGHC
         ColoredVertex(ColorW, PointA);         ColoredVertex(ColorW, PointB);   ColoredVertex(ColorW1, PointG);   ColoredVertex(ColorW, PointC);

ColoredVertex(ColorD, PointA);         ColoredVertex(ColorW, PointC);   ColoredVertex(ColorW1, PointH);         ColoredVertex(ColorW, PointG);

// 下表面 DEIJF
         ColoredVertex(ColorW, PointD);         ColoredVertex(ColorW, PointE);         ColoredVertex(ColorW, PointI);   ColoredVertex(ColorW, PointF);

ColoredVertex(ColorW, PointE);         ColoredVertex(ColorW, PointI);         ColoredVertex(ColorW, PointJ);         ColoredVertex(ColorW, PointF);

// 右前侧ADFC
         ColoredVertex(ColorW, PointA);         ColoredVertex(ColorW, PointD);         ColoredVertex(ColorW, PointF);   ColoredVertex(ColorW, PointC);
         //左前侧ADEB
   ColoredVertex(ColorW, PointA);         ColoredVertex(ColorW, PointD);         ColoredVertex(ColorW, PointE);         ColoredVertex(ColorW, PointB);
   //右侧CFJH
   ColoredVertex(ColorW, PointC);         ColoredVertex(ColorW, PointF);         ColoredVertex(ColorW, PointJ);         ColoredVertex(ColorW, PointH);
   //左侧BEI
   ColoredVertex(ColorW, PointB);         ColoredVertex(ColorW, PointE);         ColoredVertex(ColorW, PointI);         ColoredVertex(ColorW, PointG);
   //后侧GIJH
   ColoredVertex(ColorW, PointG);         ColoredVertex(ColorW, PointI);         ColoredVertex(ColorW, PointJ);         ColoredVertex(ColorW, PointH);
   //船舱正面
   ColoredVertex(ColorW, PointK);         ColoredVertex(ColorW, PointO);         ColoredVertex(ColorW, PointR);         ColoredVertex(ColorW, PointN);
   //船舱顶1
   ColoredVertex(ColorW, PointO);         ColoredVertex(ColorW, PointP);         ColoredVertex(ColorW, PointQ);         ColoredVertex(ColorW, PointR);
   //船舱顶2
   ColoredVertex(ColorW, PointS);         ColoredVertex(ColorW, PointT);         ColoredVertex(ColorW, PointU);         ColoredVertex(ColorW, PointV);
   //船舱背1
   ColoredVertex(ColorW, PointP);         ColoredVertex(ColorW, PointS);         ColoredVertex(ColorW, PointV);         ColoredVertex(ColorW, PointQ);
   //船舱背2
   ColoredVertex(ColorW, PointT);         ColoredVertex(ColorW, PointL);         ColoredVertex(ColorW, PointM);         ColoredVertex(ColorW, PointU);
   //船舱左
   ColoredVertex(ColorW, PointO);         ColoredVertex(ColorW, PointP);         ColoredVertex(ColorW, PointS);         ColoredVertex(ColorW, PointK);

ColoredVertex(ColorW, PointS);         ColoredVertex(ColorW, PointT);         ColoredVertex(ColorW, PointL);         ColoredVertex(ColorW, PointK);
   //船舱右
   ColoredVertex(ColorW, PointQ);         ColoredVertex(ColorW, PointV);         ColoredVertex(ColorW, PointN);         ColoredVertex(ColorW, PointR);

ColoredVertex(ColorW, PointV);         ColoredVertex(ColorW, PointU);         ColoredVertex(ColorW, PointM);         ColoredVertex(ColorW, PointN);
   //指挥塔正面
   ColoredVertex(ColorW, Pointd11);         ColoredVertex(ColorW, Pointd21);         ColoredVertex(ColorW, Pointd24);         ColoredVertex(ColorW, Pointd14);
   //指挥塔顶面
   ColoredVertex(ColorW, Pointd11);         ColoredVertex(ColorW, Pointd12);         ColoredVertex(ColorW, Pointd13);         ColoredVertex(ColorW, Pointd14);
   //指挥塔左面
   ColoredVertex(ColorW, Pointd11);         ColoredVertex(ColorW, Pointd21);         ColoredVertex(ColorW, Pointd22);         ColoredVertex(ColorW, Pointd12);
   //指挥塔右面
   ColoredVertex(ColorW, Pointd14);         ColoredVertex(ColorW, Pointd13);         ColoredVertex(ColorW, Pointd23);         ColoredVertex(ColorW, Pointd24);
   //指挥塔背面
   ColoredVertex(ColorW, Pointd12);         ColoredVertex(ColorW, Pointd22);         ColoredVertex(ColorW, Pointd23);         ColoredVertex(ColorW, Pointd13);

//瞭望塔正面
   ColoredVertex(ColorW, Points11);         ColoredVertex(ColorW, Points21);         ColoredVertex(ColorW, Points24);         ColoredVertex(ColorW, Points14);
   //瞭望塔顶面
   ColoredVertex(ColorW, Points11);         ColoredVertex(ColorW, Points12);         ColoredVertex(ColorW, Points13);         ColoredVertex(ColorW, Points14);
   //瞭望塔左面
   ColoredVertex(ColorW, Points11);         ColoredVertex(ColorW, Points21);         ColoredVertex(ColorW, Points22);         ColoredVertex(ColorW, Points12);
   //瞭望塔右面
   ColoredVertex(ColorW, Points14);         ColoredVertex(ColorW, Points13);         ColoredVertex(ColorW, Points23);         ColoredVertex(ColorW, Points24);
   //瞭望塔背面
   ColoredVertex(ColorW, Points12);         ColoredVertex(ColorW, Points22);         ColoredVertex(ColorW, Points23);         ColoredVertex(ColorW, Points13);
/* 
*/

/*glEnd();*/  
         glEnd();

glEndList();

//++++++++++++++++++++++++++++++++++++++++++++++++
/*
     glEnable(GL_LIGHT0);
     glEnable(GL_LIGHTING);
  */
//________________________________________________
         glEnable(GL_DEPTH_TEST);

}
     // 已经创建了显示列表,在每次绘制 时将调用它
     glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glPushMatrix();//进入
//视角变换
  glMatrixMode(GL_PROJECTION); //要操作投影矩阵,需要以GL_PROJECTION为参数调用glMatrixMode函数。
     glLoadIdentity();// 变换前把当前矩阵设置为单位矩阵。
     gluPerspective(55, 1, 1, 200);// 将当前的可视空间设置为透视投影空间// gluPerspective(视角,高宽比,最近距离,最远距离)//0为水平,90为正下方,所在点为观察点
     glMatrixMode(GL_MODELVIEW);// 在进行变换前,先设置当前操作的矩阵为"模型视图矩阵"。
     glLoadIdentity();// 变换前把当前矩阵设置为单位矩阵。//为什么两次???
     gluLookAt(0, 0.5, -2.2, 0, 0, 0, 0, 0, 1);// 改变观察点的位置,前三个参数表示了观察点的位置,中间三个参数表示了观察目标的位置,最后三个参数代表从(0,0,0)到 (x,y,z)的直线,它表示了观察者认为的"上"方向。
/**/
 
//   glRotatef(angle, 0, 1, 0);//向右旋转//绕着这个向量顺时针转动
//  glRotatef(angle, 0, -1, 0);//向左转
//  glRotatef(angle, 1, 0, 0);//向下转
//  glRotatef(angle, -1, 0, 0);//向上转
/*
  Dxx=-1;//=45;
 
  glRotatef(anglex,Dxx ,0   , 0  );//x转//唯一左手定则
*/
  Dyy=1;//angley=45;

glRotatef(angley, 0  , Dyy, 0  );//y转

/*
  Dzz=1;//anglez=0;
 
  glRotatef(anglez, 0  , 0  , Dzz);//z转
*/

/*
glRotatef(45, -1, 0, 0  );
glRotatef(90, 0, 1, 0  ); 
*/

glColor3f(1.0f, 0.0f, 0.0f);
    glRasterPos2f(-0.3f, 0.5f);
// TempShowWords[0]='+';
//   TempShowWords[1]=(int)anglex%1000/100+'0';
// TempShowWords[2]=(int)anglex%100/10+'0';
    drawString("X");
    glColor3f(0.0f, 1.0f, 0.0f);
    glRasterPos2f(0.0f, 0.5f);
    drawString("Y");

glCallList(list);

glPopMatrix();//退出
     glutSwapBuffers();
}

void myIdle(void)
{
// if(anglez<45)anglez+=5;
 //else anglez=0;
 //if(angley<45)angley+=5;
 //else angley=0;

//if(anglex <= 45 && movement_t==0){
anglex+=2;
//}
//if(anglex == 45)movement_t=1;

//if(movement_t==1){
angley+=2;

//}
//if(angley == 90)movement_t=0;
/*   
 if( anglex <= 45.0f && playflag1==0 )anglex =anglex+2;
 else playflag1=1;

if( anglex >= -50.0f && playflag1==1 )anglex =anglex-2;
 else playflag1=0;

if( angley  <= 90.0f && playflag2==0 )angley =angley+2;
 else playflag2=1;

if( angley >= -50.0f && playflag2==1 )angley =angley-2;
 else playflag2=0;
*/

myDisplay();
}

int main(int argc, char* argv[])

{

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);//双缓冲

glutInitWindowPosition(200, 100);

glutInitWindowSize(WIDTH, HEIGHT);

glutCreateWindow("运动的四面体");

glutDisplayFunc(&myDisplay);

glutIdleFunc(&myIdle);

glutMainLoop();

return 0;

}

用OpenGL码一艘战舰~哈哈相关推荐

  1. 2014年7月份第3周51Aspx源码发布详情

    Froor高校校园网站源码  2014-7-18 [VS2010]源码介绍:这是一款有关高校门户网站的毕业设计源码,功能相对比较完善,界面也比较美观,对门户网站感兴趣的朋友们可以下载研究一下.该源码功 ...

  2. 【ZCMU1603】卡斯丁狗的战舰帝国(并查集)

    题目链接 解题思路: 还是太年轻qaq并没有想到用并查集去做,但是看了大佬的博客之后只能感叹为啥人家这么聪明.... 用并查集去记录我方战舰攻击的对象,如果攻击对象沉了那就将看离它最近的下个父结点有没 ...

  3. JavaScript学习笔记——编写战舰游戏 Part2:JavaScript部分

    编程思路 核心:跟随游戏的步骤逻辑,思考其中所需的功能,并尽量将各部分功能分离,可以使编程思路更清晰.代码易读性更强,也方便调试 先写大框架,有需要的功能直接调用(虽然未编写),交给后面的代码实现细节 ...

  4. 【LeetCode每日一题】——419.甲板上的战舰

    文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[解题思路] 七[题目提示] 八[题目进阶] 九[时间频度] 十[代码实现] 十一[提交结果] 一[题目类别 ...

  5. 编译器发展史5个十年3大人物及编译器知识(公号回复“编译器”下载PDF资料,欢迎转发、赞赏、支持科普)

    编译器发展史5个十年3大人物及编译器知识(公号回复"编译器"下载PDF资料,欢迎转发.赞赏.支持科普) 原创: 秦陇纪 科学Sciences 今天 科学Sciences导读:继本号 ...

  6. 女儿社交媒体求生日卡 美96岁失明二战老兵收海量祝福

    中新网1月14日电 据美国<世界日报>报道,美国加州女子苏·莫斯(Sue Morse)此前在社交媒体上发文,请求朋友在她父亲12月30日生日那天送上祝福.她本以为会收到160张的生日贺卡, ...

  7. 飞鸽_飞鸽2007_飞鸽传书_飞鸽传书2007

    北京时间7月21日消息,据国外媒体报道,星球大战仿佛真正到来了.今天公布的消息显示,人类首次使用飞鸽武器击落运动中飞机的尝试获得了成功. 在加州海岸外的一个美国海军测试场进行的这一试验中,对空飞鸽系统 ...

  8. 纽约大学的好奇AI特别会提问,桌游玩得比人还666

    李林 编译自 TechnologyReview 量子位 出品 | 公众号 QbitAI 纽约大学的科学家们开发了一个非常"好奇"的人工智能系统,桌游玩得相当不错. 在开始介绍他们的 ...

  9. 赛尔号对战c语言程序,秘密军事会议 赛尔号9月10日攻略

    赛尔号9月10日攻略:赛尔号战术预演!赛尔号战术预演怎么做?赛尔号秘密军事会议 "各位,相信大家已经看到了敌军的大致路线图!现在他们主要分为3个势力,艾里逊小队主要掌控左边的巡洋舰,佐格小队 ...

最新文章

  1. 【小妙招】【旧版】欢庆网自动搜索请柬console方法
  2. Android开机时间统计,android 开机时间检测
  3. Spring Boot 你所不知道的超级知识学习路线清单
  4. protected的继承方式有什么特点_草莓的授粉方式有哪些?各有什么特点
  5. MySQL学习(三、分组查询和多表查询)
  6. web前端-HTML 媒体插件 022
  7. 【软件工程导论题型大总结】简答题总结
  8. win10怎么做文件服务器,win10怎么做云服务器
  9. 转载ios开发如何使用Xcode的Targets来管理开发和生产版本的构建
  10. 在家用群晖搭建wordpress博客
  11. 小韦系统装工行网银U盾驱动的方法
  12. 2017年美团Java程序员开发,看我如何拿到offer
  13. Cocos2d-html5《王者之剑》实现 (1)
  14. 在线剪切板,一款高效方便记录剪切板内容的在线工具
  15. 【java】求一元二次方程的解
  16. 用c#开发Android应用(二)——运行Hello World!
  17. oracle数据库设计思维导图,Oracle
  18. hdu 4438 la 6389
  19. cv曲线面积的意义_南昌大学陈义旺、武汉大学闵杰《AFM》:大面积有机太阳能电池中一种减少非辐射复合损耗的有效方法...
  20. edge浏览器如何把网页放到桌面_如何在桌面创建Win10 Edge浏览器快捷方式

热门文章

  1. WLAN使用的功率单位
  2. QT项目七:贪吃蛇游戏
  3. Cocos2dx 2.1.5 孤狼优化整合版V1.0(32位)
  4. Vue3 + Echarts 5 绘制带有立体感流线中国地图
  5. _STORAGE_WRITE_ERROR_:./Application/Runtime/Cache/Admin/0dfec61edd66f450033aa87c28a760f4.php
  6. OCP/OCA Oracle 学习001
  7. 李开复、洪小文、黄学东关系
  8. 少一点虚荣,多一点务实
  9. NumPy知识点总结1
  10. SAP MTS案例教程简介