2015年4月15日 星期三

02160446_蘇映瑄,week08


出現全頻視窗
點擊滑鼠並發出槍響
程式碼:
#include<stdio.h>
#include<GL/glut.h>
#include<mmsystem.h>
void display()
{
    glClearColor(0.5,0.5,1,0);
    glClear(GL_COLOR_BUFFER_BIT);
    glFlush();
}
void keyboard(unsigned char key,int x,int y)
{
    exit(0);
}
void mouse(int button,int state,int x,int y)
{
    if(state==GLUT_DOWN)
    {
        PlaySound("Data/Shot.wav",NULL,SND_ASYNC);
        printf("Shot!!!\n");
    }
}
int main(int argc,char **argv)
{
    glutInit(&argc,argv);
    glutCreateWindow("hello");
    glutFullScreen();
    glutDisplayFunc(display);
    glutKeyboardFunc(keyboard);
    glutMouseFunc(mouse);
    glutMainLoop();
}



加入了茶壺貼圖
點擊茶壺貼圖會發出大象聲
未點擊到則發出槍聲

程式碼:
#include<stdio.h>
#include<GL/glut.h>
#include<mmsystem.h>
float potX=-1,potY=0;
void display()
{
    glClearColor(0.5,0.5,1,0);
    glClear(GL_COLOR_BUFFER_BIT);
    glPushMatrix();
        glTranslatef(potX,potY,0);
        glutSolidTeapot(0.05);
    glPopMatrix();
    glFlush();
    potX+=0.001;
    if(potX>1.1)potX=-1.1;
}
void keyboard(unsigned char key,int x,int y)
{
    exit(0);
}
void mouse(int button,int state,int x,int y)
{
    if(state==GLUT_DOWN)
    {
        PlaySound("Data/Shot.wav",NULL,SND_ASYNC);
        printf("Shot!!!\n");
        float mouseX=2*x/1280.0 -1,mouseY=-(2*y/1024.0-1);
        if(abs(mouseX-potX)<0.001&&abs(mouseY-potY)<0.001){
            printf("YA! Got it!\n");
            PlaySound("Data/elephant.wav",NULL,SND_ASYNC);
        }
    }
}
int main(int argc,char **argv)
{
    glutInit(&argc,argv);
    glutCreateWindow("hello");
    glutFullScreen();
    glutDisplayFunc(display);
    glutIdleFunc(display);
    glutKeyboardFunc(keyboard);
    glutMouseFunc(mouse);
    glutMainLoop();
}


沒有留言:

張貼留言