coder

#include <iostream>
#include <GL/glut.h>
using std::cout;
using std::endl;
float windowWidth=0;
float windowHeight=0;
float curX=0.0;
float curY=0.0;
void display(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(1.0,1.0,1.0);

glBegin(GL_POLYGON);
    glVertex3f(curX,curY,0.0);
    glVertex3f(curX+50,curY,0.0);
    glVertex3f(curX+50,curY+50,0.0);
    glVertex3f(curX,curY+50,0.0);
    glEnd();

//    glutSwapBuffers();
    glFlush();
}
void reshape(int w,int h)
{
    windowWidth=(float)w;
    windowHeight=(float)h;
    cout<<"cur width is :"<<w<<endl;
    cout<<"cur height is :"<<h<<endl;
    glViewport(0,0,(GLsizei)w,(GLsizei)h);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(0.0,(float)w,0.0,(float)h,-1.0,1.0);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}
void keyboard(unsigned char key, int x, int y)
{
    cout<<"you pressed the key is :"<<key<<endl;
    switch(key)
    {
    case ‘w‘:
        curY+=20;
        break;
    case ‘s‘:
        curY-=20;
        break;
    case ‘a‘:
        curX-=20;
        break;
    case ‘d‘:
        curX+=20;
        break;
    default:
        break;
    }
    if(key==‘q‘||key==‘Q‘)
        exit(0);
    glutPostRedisplay();
}
void motion(int x, int y)
{
    cout<<"mouse position :"<< "("<<x<<","<<y<<")"<<endl;
    curX=(float)x;
    curY=(float)(windowHeight-y);
    glutPostRedisplay();
}
void mouse(int button,int state,int x,int y)
{
    cout<<"come here yet"<<endl;
    switch(button)
    {
    case GLUT_LEFT_BUTTON:
        if(state==GLUT_DOWN)
            glutFullScreen();
        break;
    case GLUT_RIGHT_BUTTON:
        if(state==GLUT_DOWN)
        {
            glutInitWindowSize(800,600);
            glutInitWindowPosition(0.0,0.0);
        }
        break;
    default:
        break;
    }
    glutPostRedisplay();
}
void idler()
{
    cout<<"i am a idle"<<endl;
}
void init()
{
    glClearColor(0.0,0.0,0.0,0.0);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(-300.0,300.0,-300.0,300.0,-1.0,1.0);
}
int main(int argc,char **argv)
{
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
    glutInitWindowSize(250,250);
    glutInitWindowPosition(0.0,0.0);
    glutCreateWindow("hello,gl Master");
//    glutFullScreen();
    init();
    glutDisplayFunc(display);
    glutReshapeFunc(reshape);
    glutKeyboardFunc(keyboard);
    glutMotionFunc(motion);
    glutMouseFunc(mouse);
    //  glutIdleFunc(idler);
    glutMainLoop();
    return 0;
}

时间: 2024-12-05 10:58:20

coder的相关文章

java coder的水平

写java写了也12年了,不决的自己是高手,但是也体会了一些变化.总的来说,Java可以分成几个层次: 首先是需求理解层次,这个层次的coder能理解需求,把需求转化成代码: 第二个层次是单测,能够对写出的代码进行测试,单测有几个要素:构造输入,调用服务,获得输出,检验输出.初级的单测只测试最简单的逻辑,复杂单测能测试异常,边界,以及其它复杂的逻辑. 第三个层次是规范,命名,注释,需要能符合规范.符合规范的代码看起来比较专业,不会让人觉得业余. 第四个层次是可读性,代码要可读需要满足一些条件,结

第六周作业——Coder和Hacker的区别

coder和hacker虽然都是写程序的人,但他们在本质上有很大的不同: 我们都知道code的翻译是代码,顾名思义,coder可以说是写代码的人,它在工程师的等级划分中可以说是最底层的.coder知识为了写代码而写代码,他们并不关心写的程序的目的和作用,只是为了完成属于自己的任务,为了自己的生活.他们有一种固定的思维——这是上司交代的工作,必须完成,因为这关系这自己的工资.奖金.而且他们希望自己的工作量最少,所以不会主动做会让自己增加工作量的事,比如对团队开发项目中发现的问题不会提出来,也不会想

【Best Coder】#29 B GTY&#39;s birthday gift(快速幂|mod的时候记得负!)

题目大意:查看相关场次即可看到. 思路:推公式的题目,可以用快速幂加公式快速解决,也可以用二进制拆分运算的方法加快速度. 需要注意的一点在于:今后在mod之后有涉及到运算的都要加上一个mod之后再mod,或者统一都加一个mod 顺便复习一下二进制拆分的方法!! 二进制拆分的做法AC代码: #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<algorithm> #include<cstdio> usin

【I am a coder】激情是保持创造的最大动力

看了<我是歌手>(I am a singer)的最新一期,越来越感觉,这个舞台对于歌手真正存在的意义在于通过营造一种竞争的氛围,让歌手能更加有激情去释放自己的能量,在舞台上的忘我的演绎,才能真正的打动观众. 胡彦斌,对这个名字的熟悉还是通过他的<红颜>和<诀别诗>,说实话不是很了解,但是通过第三季的我是歌手,我狠狠地爱上了这位集才华.激情于一身的歌手,极富创意的改编,激情的演出让他一次次的脱引而出.淘汰赛,一首<味道>也是层次分明,丝丝入口,这首歌给我带来的

Coder(线段树)

求一部分和的线段树,因为是对5取余,所以给定一段区间a-b,假设其位置会有变化,最多会有5种和,那么就可以保留这五种和,在用lz进行延迟标记时,保存位置变化了多少也就知道了该从当前和转到哪一个和. 当时把lz标记那么部分写成覆盖了,应该是+=,WA了两次. 1 #include <iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<stdli

Coder的利器

Coder的利器记载 工作近三年,使用PC快六年,拥抱Mac整一年,投具器石榴裙三年.14年第一次被同事推荐Everything,开启了JeffJade对工具的折腾之旅,并乐此不疲.时去两年,这必然是消耗了一些时间,但对效率的提升,心情之保养,以及思维持续扩散,无疑是起了不可磨灭的功绩.是时候对这期间的热忱和折腾,做一个总结了. 微注:如觉此处 排版不称心意,可移步 这里 查看. Win&Mac方面 SublimeText3: 编码垒字的神器,还能览图/文件对比/...,15年很是偏爱:有将其使

杭电 HDU ACM Coder (STL)

欢迎参加--每周六晚的BestCoder(有米!) Coder Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4200    Accepted Submission(s): 1630 Problem Description In mathematics and computer science, an algorithm desc

谁是最好的Coder

描述 计科班有很多Coder,帅帅想知道自己是不是综合实力最强的coder. 帅帅喜欢帅,所以他选了帅气和编程水平作为评选标准. 每个同学的综合得分是帅气程度得分与编程水平得分的和. 他希望你能写一个程序帮他一下. 输入 数据有多组. 输入一个数n,代表计科班的总人数. 接下来有n行数,一行数有两个数a,b. 其中a代表该同学的编程水平,b代表该同学的帅气程度. n=0表示输入结束. 输出 每组数据占一行,输出所有同学中综合得分最高的分数. 样例输入 5 9 10 7 11 1 6 5 7 3

HDU 4883 Best Coder Round 2 TIANKENG’s restaurant 题解

有一组数据是客人到来和离开的时间,问需要多少张桌椅才能满足所有客人都能有位置坐的要求. 有人居然一开始就想到暴力法,以为数据量少,其实本题数据量不少了, 暴力法需要O(n*n)的时间效率了,显然是会超时的,故此需要O(n) 或者O(lgn)的算法. 属于一道想透了就非常容易的,但是没想过就会非常困难的题目. 解法是: 把所有客人到来和离开的时间都排成序列,每次客人到来需要n张桌椅,那么就+上n,每次客人离开就会返还n张桌椅,那么就-去n,求这样的最大值. 具体算法代码就那么几行,处理IO的代码都

MATLAB Coder从MATLAB生成C/C++代码步骤

MATLAB Coder可以从MATLAB代码生成独立的.可读性强.可移植的C/C++代码. 使用MATLAB Coder产生代码的3个步骤: 准备用于产生代码的MATLAB算法: 检查MATLAB代码的兼容性(有些matlab代码语句并不能生成c/c++代码): 产生最终使用的源代码或MEX. 利用MATLAB Coder生成c++代码,并在vs2013中验证: 一个简单的例子,两数相乘: 1.安装matlab2014a或者更新版本: 2.简单生成一个foo.m文件: function c =