用OpenGL码一艘战舰~哈哈
/*
还是得现配置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码一艘战舰~哈哈相关推荐
- 2014年7月份第3周51Aspx源码发布详情
Froor高校校园网站源码 2014-7-18 [VS2010]源码介绍:这是一款有关高校门户网站的毕业设计源码,功能相对比较完善,界面也比较美观,对门户网站感兴趣的朋友们可以下载研究一下.该源码功 ...
- 【ZCMU1603】卡斯丁狗的战舰帝国(并查集)
题目链接 解题思路: 还是太年轻qaq并没有想到用并查集去做,但是看了大佬的博客之后只能感叹为啥人家这么聪明.... 用并查集去记录我方战舰攻击的对象,如果攻击对象沉了那就将看离它最近的下个父结点有没 ...
- JavaScript学习笔记——编写战舰游戏 Part2:JavaScript部分
编程思路 核心:跟随游戏的步骤逻辑,思考其中所需的功能,并尽量将各部分功能分离,可以使编程思路更清晰.代码易读性更强,也方便调试 先写大框架,有需要的功能直接调用(虽然未编写),交给后面的代码实现细节 ...
- 【LeetCode每日一题】——419.甲板上的战舰
文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[解题思路] 七[题目提示] 八[题目进阶] 九[时间频度] 十[代码实现] 十一[提交结果] 一[题目类别 ...
- 编译器发展史5个十年3大人物及编译器知识(公号回复“编译器”下载PDF资料,欢迎转发、赞赏、支持科普)
编译器发展史5个十年3大人物及编译器知识(公号回复"编译器"下载PDF资料,欢迎转发.赞赏.支持科普) 原创: 秦陇纪 科学Sciences 今天 科学Sciences导读:继本号 ...
- 女儿社交媒体求生日卡 美96岁失明二战老兵收海量祝福
中新网1月14日电 据美国<世界日报>报道,美国加州女子苏·莫斯(Sue Morse)此前在社交媒体上发文,请求朋友在她父亲12月30日生日那天送上祝福.她本以为会收到160张的生日贺卡, ...
- 飞鸽_飞鸽2007_飞鸽传书_飞鸽传书2007
北京时间7月21日消息,据国外媒体报道,星球大战仿佛真正到来了.今天公布的消息显示,人类首次使用飞鸽武器击落运动中飞机的尝试获得了成功. 在加州海岸外的一个美国海军测试场进行的这一试验中,对空飞鸽系统 ...
- 纽约大学的好奇AI特别会提问,桌游玩得比人还666
李林 编译自 TechnologyReview 量子位 出品 | 公众号 QbitAI 纽约大学的科学家们开发了一个非常"好奇"的人工智能系统,桌游玩得相当不错. 在开始介绍他们的 ...
- 赛尔号对战c语言程序,秘密军事会议 赛尔号9月10日攻略
赛尔号9月10日攻略:赛尔号战术预演!赛尔号战术预演怎么做?赛尔号秘密军事会议 "各位,相信大家已经看到了敌军的大致路线图!现在他们主要分为3个势力,艾里逊小队主要掌控左边的巡洋舰,佐格小队 ...
最新文章
- 【小妙招】【旧版】欢庆网自动搜索请柬console方法
- Android开机时间统计,android 开机时间检测
- Spring Boot 你所不知道的超级知识学习路线清单
- protected的继承方式有什么特点_草莓的授粉方式有哪些?各有什么特点
- MySQL学习(三、分组查询和多表查询)
- web前端-HTML 媒体插件 022
- 【软件工程导论题型大总结】简答题总结
- win10怎么做文件服务器,win10怎么做云服务器
- 转载ios开发如何使用Xcode的Targets来管理开发和生产版本的构建
- 在家用群晖搭建wordpress博客
- 小韦系统装工行网银U盾驱动的方法
- 2017年美团Java程序员开发,看我如何拿到offer
- Cocos2d-html5《王者之剑》实现 (1)
- 在线剪切板,一款高效方便记录剪切板内容的在线工具
- 【java】求一元二次方程的解
- 用c#开发Android应用(二)——运行Hello World!
- oracle数据库设计思维导图,Oracle
- hdu 4438 la 6389
- cv曲线面积的意义_南昌大学陈义旺、武汉大学闵杰《AFM》:大面积有机太阳能电池中一种减少非辐射复合损耗的有效方法...
- edge浏览器如何把网页放到桌面_如何在桌面创建Win10 Edge浏览器快捷方式
热门文章
- WLAN使用的功率单位
- QT项目七:贪吃蛇游戏
- Cocos2dx 2.1.5 孤狼优化整合版V1.0(32位)
- Vue3 + Echarts 5 绘制带有立体感流线中国地图
- _STORAGE_WRITE_ERROR_:./Application/Runtime/Cache/Admin/0dfec61edd66f450033aa87c28a760f4.php
- OCP/OCA Oracle 学习001
- 李开复、洪小文、黄学东关系
- 少一点虚荣,多一点务实
- NumPy知识点总结1
- SAP MTS案例教程简介